[{"id":"clearbit","domain":"person.clearbit.com","openapi":"{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Clearbit Enrichment API\",\"version\":\"1.0.2\",\"description\":\"The Clearbit Enrichment API provides a single API to lookup person and company data.\"},\"paths\":{\"/combined/find\":{\"servers\":[{\"url\":\"https://person.clearbit.com/v2\"}],\"get\":{\"summary\":\"Combined lookup for person and company based on an email address\",\"parameters\":[{\"in\":\"query\",\"name\":\"email\",\"schema\":{\"type\":\"string\"},\"required\":true,\"description\":\"The email address to look up.\"},{\"in\":\"query\",\"name\":\"webhook_url\",\"schema\":{\"type\":\"string\"},\"description\":\"A webhook URL that results will be sent to.\"},{\"in\":\"query\",\"name\":\"given_name\",\"schema\":{\"type\":\"string\"},\"description\":\"The person's first name.\"},{\"in\":\"query\",\"name\":\"family_name\",\"schema\":{\"type\":\"string\"},\"description\":\"The person's last name. If you have this, passing this is strongly recommended to improve match rates.\"},{\"in\":\"query\",\"name\":\"ip_address\",\"schema\":{\"type\":\"string\"},\"description\":\"The person's IP address. If you have this, passing this is strongly recommended to improve match rates.\"},{\"in\":\"query\",\"name\":\"location\",\"schema\":{\"type\":\"string\"},\"description\":\"The city or country where the person lives.\"},{\"in\":\"query\",\"name\":\"company\",\"schema\":{\"type\":\"string\"},\"description\":\"The name of the company the person works for.\"},{\"in\":\"query\",\"name\":\"company_domain\",\"schema\":{\"type\":\"string\"},\"description\":\"The domain of the company the person works for.\"},{\"in\":\"query\",\"name\":\"linkedin\",\"schema\":{\"type\":\"string\"},\"description\":\"The person's LinkedIn profile URL.\"},{\"in\":\"query\",\"name\":\"twitter\",\"schema\":{\"type\":\"string\"},\"description\":\"The person's Twitter profile username.\"},{\"in\":\"query\",\"name\":\"facebook\",\"schema\":{\"type\":\"string\"},\"description\":\"The person's Facebook profile URL.\"},{\"in\":\"query\",\"name\":\"webhook_id\",\"schema\":{\"type\":\"string\"},\"description\":\"Custom identifier for the webhook request.\"},{\"in\":\"query\",\"name\":\"subscribe\",\"schema\":{\"type\":\"boolean\"},\"description\":\"Set to true to subscribe to the changes to the person.\"},{\"in\":\"query\",\"name\":\"suppression\",\"schema\":{\"type\":\"string\"},\"description\":\"Set to eu to exclude person records with country data in the EU. Set to eu_strict to exclude person records with country data in the EU or with null country data.\"}],\"responses\":{\"200\":{\"description\":\"Successful lookup, person & company encoded in the response body.\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"person\":{\"$ref\":\"#/components/schemas/Person\"},\"company\":{\"$ref\":\"#/components/schemas/Company\"}}}}}},\"202\":{\"description\":\"Asynchronously looking up the person & company.\"},\"404\":{\"description\":\"Neither the Person or the Company were found.\"}},\"security\":[{\"ApiKeyAuth\":[]}]}},\"/people/find\":{\"servers\":[{\"url\":\"https://person.clearbit.com/v2\"}],\"get\":{\"summary\":\"Find person by email and company\",\"parameters\":[{\"in\":\"query\",\"name\":\"email\",\"schema\":{\"type\":\"string\"},\"description\":\"The email address of the person to find.\",\"required\":true},{\"in\":\"query\",\"name\":\"company\",\"schema\":{\"type\":\"string\"},\"description\":\"The company name of the person to find.\",\"required\":true}],\"security\":[{\"ApiKeyAuth\":[]}],\"responses\":{\"200\":{\"description\":\"A person object is returned.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Person\"}}}},\"400\":{\"description\":\"Bad request.\"},\"404\":{\"description\":\"Person not found.\"}}}},\"/companies/find\":{\"servers\":[{\"url\":\"https://company.clearbit.com/v2\"}],\"get\":{\"summary\":\"Find company by domain\",\"parameters\":[{\"in\":\"query\",\"name\":\"domain\",\"schema\":{\"type\":\"string\"},\"description\":\"The domain to look up.\",\"required\":true},{\"in\":\"query\",\"name\":\"webhook_url\",\"schema\":{\"type\":\"string\"},\"description\":\"A webhook URL that results will be sent to.\"},{\"in\":\"query\",\"name\":\"company_name\",\"schema\":{\"type\":\"string\"},\"description\":\"The company's name.\"},{\"in\":\"query\",\"name\":\"linkedin\",\"schema\":{\"type\":\"string\"},\"description\":\"The company's LinkedIn page URL.\"},{\"in\":\"query\",\"name\":\"twitter\",\"schema\":{\"type\":\"string\"},\"description\":\"The company's Twitter profile username.\"},{\"in\":\"query\",\"name\":\"facebook\",\"schema\":{\"type\":\"string\"},\"description\":\"The company's Facebook page URL.\"},{\"in\":\"query\",\"name\":\"webhook_id\",\"schema\":{\"type\":\"string\"},\"description\":\"Custom identifier for the webhook request.\"}],\"security\":[{\"ApiKeyAuth\":[]}],\"responses\":{\"200\":{\"description\":\"Successful lookup, company encoded in the response body.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Company\"}}}},\"202\":{\"description\":\"Asynchronously looking up the company.\"},\"404\":{\"description\":\"Company not found.\"},\"422\":{\"description\":\"Domain name is invalid.\"}}}}},\"components\":{\"schemas\":{\"Person\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Clearbit’s internal identifier for the person.\"},\"name\":{\"type\":\"object\",\"properties\":{\"givenName\":{\"type\":\"string\",\"description\":\"The person’s first name.\"},\"familyName\":{\"type\":\"string\",\"description\":\"The person’s last name.\"},\"fullName\":{\"type\":\"string\",\"description\":\"The person’s full name. This may exist even if the givenName or familyName aren’t available.\"}}},\"email\":{\"type\":\"string\",\"description\":\"The person’s email.\"},\"location\":{\"type\":\"string\",\"description\":\"The city, state, and country where the person lives.\"},\"timeZone\":{\"type\":\"string\",\"description\":\"The person’s time zone based on their location. See all possible values.\"},\"utcOffset\":{\"type\":\"integer\",\"description\":\"The difference in hours from the person’s time zone to UTC (-12 to 14).\"},\"geo\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\",\"description\":\"The city the person lives in based on their location.\"},\"state\":{\"type\":\"string\",\"description\":\"The state the person lives in based on their location.\"},\"stateCode\":{\"type\":\"string\",\"description\":\"The state code of the state the person lives in based on their location.\"},\"country\":{\"type\":\"string\",\"description\":\"The country the person lives in based on their location.\"},\"countryCode\":{\"type\":\"string\",\"description\":\"The country code of the country the person lives in based on their location.\"},\"lat\":{\"type\":\"number\",\"format\":\"float\",\"description\":\"The latitude based on the person’s location.\"},\"lng\":{\"type\":\"number\",\"format\":\"float\",\"description\":\"The longitude based on the person’s location.\"}}},\"bio\":{\"type\":\"string\",\"description\":\"The person’s bio surfaced through their own social media accounts.\"},\"site\":{\"type\":\"string\",\"description\":\"The person’s website surfaced through their own social media accounts.\"},\"avatar\":{\"type\":\"string\",\"description\":\"The person’s profile picture surfaced through their own social media accounts.\"},\"employment\":{\"type\":\"object\",\"properties\":{\"domain\":{\"type\":\"string\",\"description\":\"The domain of the company the person works for.\"},\"name\":{\"type\":\"string\",\"description\":\"The name of the company the person works for.\"},\"title\":{\"type\":\"string\",\"description\":\"The person’s title at the company they work for.\"},\"role\":{\"type\":\"string\",\"description\":\"The person’s standardized role at the company they work for based on their title. See all possible values.\"},\"subRole\":{\"type\":\"string\",\"description\":\"The person’s standardized sub role at the company they work for based on their title. See all possible values.\"},\"seniority\":{\"type\":\"string\",\"description\":\"The person’s standardized seniority at the company they work for based on their title. See all possible values.\"}}},\"facebook\":{\"type\":\"object\",\"properties\":{\"handle\":{\"type\":\"string\",\"description\":\"The person’s Facebook profile username (e.g. amaccaw).\"}}},\"github\":{\"type\":\"object\",\"properties\":{\"handle\":{\"type\":\"string\",\"description\":\"The person’s GitHub profile username (e.g. maccman).\"},\"id\":{\"type\":\"integer\",\"description\":\"The ID of the person’s GitHub profile.\"},\"avatar\":{\"type\":\"string\",\"description\":\"The profile picture of the person’s GitHub profile.\"},\"company\":{\"type\":\"string\",\"description\":\"The company the person works for as listed on their GitHub profile.\"},\"blog\":{\"type\":\"string\",\"description\":\"The person’s website as listed on their GitHub profile.\"},\"followers\":{\"type\":\"integer\",\"description\":\"The number of followers the person has on GitHub.\"},\"following\":{\"type\":\"integer\",\"description\":\"The number of people the person follows on GitHub.\"}}},\"twitter\":{\"type\":\"object\",\"properties\":{\"handle\":{\"type\":\"string\",\"description\":\"The person’s Twitter profile username (e.g. maccaw).\"},\"id\":{\"type\":\"integer\",\"description\":\"The ID of the person’s Twitter profile.\"},\"bio\":{\"type\":\"string\",\"description\":\"The person’s bio as listed on their Twitter profile.\"},\"followers\":{\"type\":\"integer\",\"description\":\"The number of followers the person has on Twitter.\"},\"following\":{\"type\":\"integer\",\"description\":\"The number of people the person follows on Twitter.\"},\"statuses\":{\"type\":\"integer\",\"description\":\"The number of tweets the person has shared on Twitter.\"},\"favorites\":{\"type\":\"integer\",\"description\":\"The number of tweets the person has liked on Twitter.\"},\"location\":{\"type\":\"string\",\"description\":\"The person’s location as listed on their Twitter profile.\"},\"site\":{\"type\":\"string\",\"description\":\"The person’s website as listed on their Twitter profile.\"},\"avatar\":{\"type\":\"string\",\"description\":\"The profile picture of the person’s Twitter profile.\"}}},\"linkedin\":{\"type\":\"object\",\"properties\":{\"handle\":{\"type\":\"string\",\"description\":\"The last section of the person’s LinkedIn profile URL (e.g. in/alex-maccaw-ab592978).\"}}},\"googleplus\":{\"type\":\"object\",\"properties\":{\"handle\":{\"type\":\"string\",\"description\":\"The person’s Google Plus username. This field has been deprecated.\"}}},\"gravatar\":{\"type\":\"object\",\"properties\":{\"handle\":{\"type\":\"string\",\"description\":\"The person’s Gravatar profile username (e.g. maccman).\"},\"urls\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"value\":{\"type\":\"string\"},\"title\":{\"type\":\"string\"}}},\"description\":\"A list of websites listed by the person\"},\"avatar\":{\"type\":\"string\",\"description\":\"The profile picture of the person’s Gravatar profile.\"},\"avatars\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"url\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"}}},\"description\":\"A list of pictures listed by the person on their Gravatar profile.\"}}},\"fuzzy\":{\"type\":\"boolean\",\"description\":\"Indicates whether the person’s search was fuzzy or an exact match.\"},\"emailProvider\":{\"type\":\"boolean\",\"description\":\"Indicates whether the person’s email domain is associated with a free email provider (e.g. Gmail). Useful for distinguishing between personal emails and work emails.\"},\"indexedAt\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Timestamp indicating when the person’s record was last updated in Clearbit’s database. A record update may or may not include new information about the person.\"},\"phone\":{\"type\":\"string\",\"description\":\"The person’s phone number.\"},\"activeAt\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Timestamp indicating when Clearbit detected the person’s email became active.\"},\"inactiveAt\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Timestamp indicating when Clearbit detected the person’s email became inactive.\"}}},\"Company\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Clearbit’s internal identifier for the company.\"},\"name\":{\"type\":\"string\",\"description\":\"The company’s name.\"},\"legalName\":{\"type\":\"string\",\"description\":\"The company’s legal name.\"},\"domain\":{\"type\":\"string\",\"description\":\"The company’s website.\"},\"domainAliases\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"A list of domains that redirect to the company’s main website.\"},\"site\":{\"type\":\"object\",\"properties\":{\"phoneNumbers\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"A list of phone numbers listed on the company’s website.\"},\"emailAddresses\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"A list of email addresses listed on the company’s website.\"}}},\"category\":{\"type\":\"object\",\"properties\":{\"sector\":{\"type\":\"string\",\"description\":\"The broadest tier of company industry classification. See all possible values.\"},\"industryGroup\":{\"type\":\"string\",\"description\":\"The second tier of company industry classification. See all possible values.\"},\"industry\":{\"type\":\"string\",\"description\":\"The third tier of company industry classification. See all possible values.\"},\"subIndustry\":{\"type\":\"string\",\"description\":\"The most specific tier of company industry classification. See all possible values.\"},\"sicCode\":{\"type\":\"string\",\"description\":\"The two digit company Standard Industry Classification (SIC) code. See all possible values.\"},\"naicsCode\":{\"type\":\"string\",\"description\":\"The two digit company North American Industry Classification System (NAICS) code. See all possible values.\"}}},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"A list of company vertical descriptors. Typically more granular than industry classification. See all possible values.\"},\"description\":{\"type\":\"string\",\"description\":\"The company’s description.\"},\"foundedYear\":{\"type\":\"integer\",\"description\":\"The year the company was founded.\"},\"location\":{\"type\":\"string\",\"description\":\"The company headquarters address.\"},\"timeZone\":{\"type\":\"string\",\"description\":\"The company’s time zone based on their location. See all possible values.\"},\"utcOffset\":{\"type\":\"integer\",\"description\":\"The difference in hours from the company’s time zone to UTC (-12 to 14).\"},\"geo\":{\"type\":\"object\",\"properties\":{\"streetNumber\":{\"type\":\"string\",\"description\":\"The street number of the company headquarters based on their location.\"},\"streetName\":{\"type\":\"string\",\"description\":\"The street name of the company headquarters based on their location.\"},\"subPremise\":{\"type\":\"string\",\"description\":\"The suite number of the company headquarters based on their location.\"},\"streetAddress\":{\"type\":\"string\",\"description\":\"The street address of the company headquarters based on their location.\"},\"city\":{\"type\":\"string\",\"description\":\"The city of the company headquarters based on their location.\"},\"postalCode\":{\"type\":\"string\",\"description\":\"The postal code of the company headquarters based on their location.\"},\"state\":{\"type\":\"string\",\"description\":\"The state of the company headquarters based on their location.\"},\"stateCode\":{\"type\":\"string\",\"description\":\"The state code of the company headquarters based on their location.\"},\"country\":{\"type\":\"string\",\"description\":\"The country of the company headquarters based on their location.\"},\"countryCode\":{\"type\":\"string\",\"description\":\"The country code\"}}}}}},\"securitySchemes\":{\"ApiKeyAuth\":{\"type\":\"http\",\"scheme\":\"basic\"}}}}"},{"id":"cloudflare-vector-search","domain":"example.com","openapi":"{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Cloudflare Vector Search API\",\"version\":\"1.0.0\"},\"servers\":[{\"url\":\"https://example.com/api\"}],\"paths\":{\"/submit\":{\"post\":{\"summary\":\"Submit a document\",\"operationId\":\"submitDocument\",\"security\":[{\"bearerAuth\":[]}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SubmitDocument\"}}}},\"responses\":{\"200\":{\"description\":\"Document submitted successfully\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DocumentId\"}}}}}}},\"/bulk-submit\":{\"post\":{\"summary\":\"Submit a large document\",\"operationId\":\"submitLargeDocument\",\"security\":[{\"bearerAuth\":[]}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SubmitDocument\"}}}},\"responses\":{\"200\":{\"description\":\"Large document submitted successfully\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DocumentId\"}}}}}}},\"/search\":{\"get\":{\"summary\":\"Search documents\",\"operationId\":\"searchDocuments\",\"security\":[{\"bearerAuth\":[]}],\"parameters\":[{\"in\":\"query\",\"name\":\"query\",\"schema\":{\"type\":\"string\"},\"required\":true},{\"in\":\"query\",\"name\":\"namespace\",\"schema\":{\"type\":\"string\"},\"required\":false}],\"responses\":{\"200\":{\"description\":\"Search results\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Document\"}}}}}}}}},\"components\":{\"schemas\":{\"SubmitDocument\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\",\"description\":\"The text of the document\"},\"namespace\":{\"type\":\"string\",\"description\":\"An optional namespace for the document\"},\"metadata\":{\"type\":\"object\",\"description\":\"An optional key/value metadata object for the document\"}},\"required\":[\"text\"]},\"Document\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"The unique identifier of the document\"},\"namespace\":{\"type\":\"string\",\"description\":\"The namespace of the document\"},\"text\":{\"type\":\"string\",\"description\":\"The text of the document\"},\"metadata\":{\"type\":\"object\",\"description\":\"The key/value metadata object for the document\"},\"indexed_at\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"The timestamp when the document was indexed\"},\"similarity\":{\"type\":\"number\",\"format\":\"double\",\"description\":\"The similarity score between the document and the search query\"}},\"required\":[\"id\",\"namespace\",\"text\",\"metadata\",\"indexed_at\",\"similarity\"]},\"DocumentId\":{\"type\":\"object\",\"description\":\"Plain document identifier\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"The unique identifier of the document\"}}}},\"securitySchemes\":{\"bearerAuth\":{\"type\":\"http\",\"scheme\":\"bearer\"}}}}"},{"id":"decision-journal","domain":"dashboard.decisionjournalapp.com","openapi":"{\"openapi\":\"3.0.2\",\"info\":{\"title\":\"Decision Journal API\",\"description\":\"An API for keeping track of and reviewing your decisions.\",\"version\":\"1.0.3\"},\"servers\":[{\"url\":\"https://api.decisionjournalapp.com/v1\"}],\"paths\":{\"/decisions\":{\"get\":{\"summary\":\"Get Decisions\",\"description\":\"Get decisions with a query and optional filters as parameters. Refine results by status or whether or not they are due for review.\",\"operationId\":\"get_decisions\",\"parameters\":[{\"required\":false,\"schema\":{\"title\":\"Query\",\"type\":\"string\"},\"name\":\"q\",\"in\":\"query\"},{\"required\":false,\"schema\":{\"title\":\"Status\",\"type\":\"string\"},\"name\":\"status\",\"in\":\"query\"},{\"required\":false,\"schema\":{\"title\":\"Due for Review\",\"type\":\"boolean\"},\"name\":\"dueForReview\",\"in\":\"query\"},{\"required\":false,\"schema\":{\"title\":\"Limit\",\"type\":\"integer\",\"default\":3},\"name\":\"limit\",\"in\":\"query\"}],\"responses\":{\"200\":{\"description\":\"Successful Response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DecisionsResponse\"}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/HTTPBadRequestError\"}}}}}},\"post\":{\"summary\":\"Create Decision\",\"description\":\"Create decisions with information about the decision (e.g. title, tags, expected outcomes, feelings, etc). Set the status to \\\"published\\\" when the decision has been made. All decisions not yet made should be \\\"draft\\\" status.\",\"operationId\":\"create_decision\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DecisionRequest\"}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"Successful Response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DecisionResponse\"}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/HTTPBadRequestError\"}}}}}}},\"/decisions/{decisionId}\":{\"get\":{\"summary\":\"Get a Decision\",\"description\":\"Get a specific decision with its id.\",\"operationId\":\"get_decision\",\"parameters\":[{\"required\":true,\"schema\":{\"title\":\"Decision Id\",\"type\":\"string\"},\"name\":\"decisionId\",\"in\":\"path\"}],\"responses\":{\"200\":{\"description\":\"Successful Response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DecisionResponse\"}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/HTTPBadRequestError\"}}}}}},\"put\":{\"summary\":\"Update Decision\",\"description\":\"Update a specific decision with information about the decision. Update the decision's status to \\\"published\\\" when the decision has been made.\",\"operationId\":\"update_decision\",\"parameters\":[{\"required\":true,\"schema\":{\"title\":\"Decision Id\",\"type\":\"string\"},\"name\":\"decisionId\",\"in\":\"path\"}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DecisionRequest\"}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"Successful Response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DecisionResponse\"}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/HTTPBadRequestError\"}}}}}}},\"/decisions/{decisionId}/reviews\":{\"post\":{\"summary\":\"Create Review\",\"description\":\"Create a review for a decision with information about the review (e.g. accuracy score, actual outcome, learnings, etc). Set the status to \\\"published\\\" when the review has been finalized. Otherwise, the status should be \\\"draft\\\".\",\"operationId\":\"create_review\",\"parameters\":[{\"required\":true,\"schema\":{\"title\":\"Decision Id\",\"type\":\"string\"},\"name\":\"decisionId\",\"in\":\"path\"}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ReviewRequest\"}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"Successful Response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ReviewResponse\"}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/HTTPBadRequestError\"}}}}}},\"put\":{\"summary\":\"Update Review\",\"description\":\"Update a review for a decision with information about the review (e.g. accuracy score, actual outcome, learnings, etc). Set the status to \\\"published\\\" when the review has been finalized. Otherwise, the status should be \\\"draft\\\".\",\"operationId\":\"update_review\",\"parameters\":[{\"required\":true,\"schema\":{\"title\":\"Decision Id\",\"type\":\"string\"},\"name\":\"decisionId\",\"in\":\"path\"}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ReviewRequest\"}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"Successful Response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ReviewResponse\"}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/HTTPBadRequestError\"}}}}}}}},\"components\":{\"schemas\":{\"DecisionsResponse\":{\"title\":\"DecisionsResponse\",\"type\":\"object\",\"properties\":{\"decisions\":{\"title\":\"Decisions\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/DecisionResponse\"}}}},\"DecisionResponse\":{\"title\":\"DecisionResponse\",\"type\":\"object\",\"properties\":{\"id\":{\"title\":\"Decision Id\",\"type\":\"string\"},\"title\":{\"title\":\"Title\",\"type\":\"string\"},\"tags\":{\"$ref\":\"#/components/schemas/Tags\"},\"status\":{\"$ref\":\"#/components/schemas/Status\"},\"context\":{\"title\":\"Context\",\"type\":\"string\"},\"expectedOutcome\":{\"title\":\"Expected Outcome\",\"type\":\"string\"},\"outcomeEstimates\":{\"title\":\"Outcome Estimates\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/OutcomeEstimate\"}},\"skillLuckWeight\":{\"title\":\"Skill Luck Weight\",\"type\":\"number\",\"description\":\"A number between 0 and 1 that represents the weight of skill vs luck in the outcome of the decision. 0 means the outcome was entirely due to skill, 1 means the outcome was entirely due to luck.\"},\"decisionDate\":{\"title\":\"Decision Date\",\"type\":\"string\",\"format\":\"date-time\"},\"nextReviewDate\":{\"title\":\"Next Review Date\",\"type\":\"string\",\"format\":\"date-time\"},\"lastReviewedOn\":{\"title\":\"Last Reviewed On\",\"type\":\"string\",\"format\":\"date-time\"}}},\"ReviewResponse\":{\"title\":\"ReviewResponse\",\"type\":\"object\",\"properties\":{\"id\":{\"title\":\"Review Id\",\"type\":\"string\"},\"accuracyScore\":{\"title\":\"Accuracy Score\",\"type\":\"integer\"},\"actualOutcome\":{\"title\":\"Actual Outcome\",\"type\":\"string\"},\"learningsAndReview\":{\"title\":\"Learnings and Review\",\"type\":\"string\"},\"status\":{\"$ref\":\"#/components/schemas/Status\"},\"outcomeEstimates\":{\"title\":\"Outcome Estimates\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/OutcomeEstimateReview\"}},\"skillLuckWeight\":{\"title\":\"Skill Luck Weight\",\"type\":\"number\",\"description\":\"A number between 0 and 1 that represents the weight of skill vs luck in the outcome of the decision. 0 means the outcome was entirely due to skill, 1 means the outcome was entirely due to luck.\"},\"reviewDate\":{\"title\":\"Review Date\",\"type\":\"string\",\"format\":\"date-time\"}}},\"HTTPBadRequestError\":{\"title\":\"HTTPBadRequestError\",\"type\":\"object\",\"properties\":{\"error\":{\"title\":\"Error Message\",\"type\":\"string\"}}},\"OutcomeEstimate\":{\"title\":\"Outcome Estimate\",\"type\":\"object\",\"properties\":{\"text\":{\"title\":\"Text\",\"type\":\"string\",\"description\":\"A description of an outcome estimate.\"},\"probability\":{\"title\":\"Probability\",\"type\":\"string\",\"description\":\"A probability of an outcome estimate.\"}}},\"OutcomeEstimateReview\":{\"title\":\"Outcome Estimate Review\",\"type\":\"object\",\"properties\":{\"text\":{\"title\":\"Text\",\"type\":\"string\",\"description\":\"A description of an outcome estimate.\"},\"probability\":{\"title\":\"Probability\",\"type\":\"string\",\"description\":\"A probability of an outcome estimate.\"},\"itHappened\":{\"title\":\"It Happened\",\"type\":\"boolean\",\"description\":\"Whether or not the outcome estimate happened.\"}}},\"Tags\":{\"title\":\"Tags\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Tags for a decision to organize.\"},\"Status\":{\"title\":\"Status\",\"type\":\"string\",\"enum\":[\"draft\",\"published\"],\"description\":\"The status of a decision or review.\"},\"DecisionRequest\":{\"title\":\"DecisionRequest\",\"type\":\"object\",\"properties\":{\"data\":{\"title\":\"Decision Data\",\"type\":\"object\",\"properties\":{\"title\":{\"title\":\"Title\",\"type\":\"string\"},\"tags\":{\"$ref\":\"#/components/schemas/Tags\"},\"status\":{\"$ref\":\"#/components/schemas/Status\"},\"context\":{\"title\":\"Context\",\"type\":\"string\"},\"expectedOutcome\":{\"title\":\"Expected Outcome\",\"type\":\"string\"},\"outcomeEstimates\":{\"title\":\"Outcome Estimates\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/OutcomeEstimate\"}},\"skillLuckWeight\":{\"title\":\"Skill Luck Weight\",\"type\":\"number\",\"description\":\"A number between 0 and 1 that represents the weight of skill vs luck in the outcome of the decision. 0 means the outcome was entirely due to skill, 1 means the outcome was entirely due to luck.\"},\"monthsToNextReview\":{\"title\":\"Months to Next Review\",\"type\":\"integer\"}}}}},\"ReviewRequest\":{\"title\":\"CreateReviewRequest\",\"type\":\"object\",\"properties\":{\"data\":{\"title\":\"Review Data\",\"type\":\"object\",\"properties\":{\"accuracyScore\":{\"title\":\"Accuracy Score\",\"type\":\"integer\"},\"actualOutcome\":{\"title\":\"Actual Outcome\",\"type\":\"string\"},\"learningsAndReview\":{\"title\":\"Learnings and Review\",\"type\":\"string\"},\"status\":{\"$ref\":\"#/components/schemas/Status\"},\"skillLuckWeight\":{\"title\":\"Skill Luck Weight\",\"type\":\"number\",\"description\":\"A number between 0 and 1 that represents the weight of skill vs luck in the outcome of the decision. 0 means the outcome was entirely due to skill, 1 means the outcome was entirely due to luck.\"},\"monthsToNextReview\":{\"title\":\"Months to Next Review\",\"type\":\"integer\",\"description\":\"The number of months until the next review of the parent decision.\"},\"outcomeEstimates\":{\"title\":\"Outcome Estimates\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/OutcomeEstimateReview\"}}}}}}},\"securitySchemes\":{\"bearerAuth\":{\"type\":\"http\",\"scheme\":\"bearer\"}}},\"security\":[{\"bearerAuth\":[]}]}"},{"id":"digitalocean","domain":"api.digitalocean.com","openapi":"{\n  \"openapi\": \"3.0.0\",\n  \"servers\": [\n    {\n      \"description\": \"production\",\n      \"url\": \"https://api.digitalocean.com\"\n    }\n  ],\n  \"info\": {\n    \"contact\": {\n      \"email\": \"api-engineering@digitalocean.com\",\n      \"name\": \"DigitalOcean API Team\"\n    },\n    \"description\": \"# Introduction\\n\\nThe DigitalOcean API allows you to manage Droplets and resources within the\\nDigitalOcean cloud in a simple, programmatic way using conventional HTTP requests.\\n\\nAll of the functionality that you are familiar with in the DigitalOcean\\ncontrol panel is also available through the API, allowing you to script the\\ncomplex actions that your situation requires.\\n\\nThe API documentation will start with a general overview about the design\\nand technology that has been implemented, followed by reference information\\nabout specific endpoints.\\n\\n## Requests\\n\\nAny tool that is fluent in HTTP can communicate with the API simply by\\nrequesting the correct URI. Requests should be made using the HTTPS protocol\\nso that traffic is encrypted. The interface responds to different methods\\ndepending on the action required.\\n\\n|Method|Usage|\\n|--- |--- |\\n|GET|For simple retrieval of information about your account, Droplets, or environment, you should use the GET method.  The information you request will be returned to you as a JSON object. The attributes defined by the JSON object can be used to form additional requests.  Any request using the GET method is read-only and will not affect any of the objects you are querying.|\\n|DELETE|To destroy a resource and remove it from your account and environment, the DELETE method should be used.  This will remove the specified object if it is found.  If it is not found, the operation will return a response indicating that the object was not found. This idempotency means that you do not have to check for a resource's availability prior to issuing a delete command, the final state will be the same regardless of its existence.|\\n|PUT|To update the information about a resource in your account, the PUT method is available. Like the DELETE Method, the PUT method is idempotent.  It sets the state of the target using the provided values, regardless of their current values. Requests using the PUT method do not need to check the current attributes of the object.|\\n|PATCH|Some resources support partial modification. In these cases, the PATCH method is available. Unlike PUT which generally requires a complete representation of a resource, a PATCH request is is a set of instructions on how to modify a resource updating only specific attributes.|\\n|POST|To create a new object, your request should specify the POST method. The POST request includes all of the attributes necessary to create a new object.  When you wish to create a new object, send a POST request to the target endpoint.|\\n|HEAD|Finally, to retrieve metadata information, you should use the HEAD method to get the headers.  This returns only the header of what would be returned with an associated GET request. Response headers contain some useful information about your API access and the results that are available for your request. For instance, the headers contain your current rate-limit value and the amount of time available until the limit resets. It also contains metrics about the total number of objects found, pagination information, and the total content length.|\\n\\n\\n## HTTP Statuses\\n\\nAlong with the HTTP methods that the API responds to, it will also return\\nstandard HTTP statuses, including error codes.\\n\\nIn the event of a problem, the status will contain the error code, while the\\nbody of the response will usually contain additional information about the\\nproblem that was encountered.\\n\\nIn general, if the status returned is in the 200 range, it indicates that\\nthe request was fulfilled successfully and that no error was encountered.\\n\\nReturn codes in the 400 range typically indicate that there was an issue\\nwith the request that was sent. Among other things, this could mean that you\\ndid not authenticate correctly, that you are requesting an action that you\\ndo not have authorization for, that the object you are requesting does not\\nexist, or that your request is malformed.\\n\\nIf you receive a status in the 500 range, this generally indicates a\\nserver-side problem. This means that we are having an issue on our end and\\ncannot fulfill your request currently.\\n\\n400 and 500 level error responses will include a JSON object in their body,\\nincluding the following attributes:\\n\\n|Name|Type|Description|\\n|--- |--- |--- |\\n|id|string|A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"|\\n|message|string|A message providing additional information about the error, including details to help resolve it when possible.|\\n|request_id|string|Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.|\\n\\n### Example Error Response\\n\\n```\\n    HTTP/1.1 403 Forbidden\\n    {\\n      \\\"id\\\":       \\\"forbidden\\\",\\n      \\\"message\\\":  \\\"You do not have access for the attempted action.\\\"\\n    }\\n```\\n\\n## Responses\\n\\nWhen a request is successful, a response body will typically be sent back in\\nthe form of a JSON object. An exception to this is when a DELETE request is\\nprocessed, which will result in a successful HTTP 204 status and an empty\\nresponse body.\\n\\nInside of this JSON object, the resource root that was the target of the\\nrequest will be set as the key. This will be the singular form of the word\\nif the request operated on a single object, and the plural form of the word\\nif a collection was processed.\\n\\nFor example, if you send a GET request to `/v2/droplets/$DROPLET_ID` you\\nwill get back an object with a key called \\\"`droplet`\\\". However, if you send\\nthe GET request to the general collection at `/v2/droplets`, you will get\\nback an object with a key called \\\"`droplets`\\\".\\n\\nThe value of these keys will generally be a JSON object for a request on a\\nsingle object and an array of objects for a request on a collection of\\nobjects.\\n\\n### Response for a Single Object\\n\\n```\\n    {\\n        \\\"droplet\\\": {\\n            \\\"name\\\": \\\"example.com\\\"\\n            . . .\\n        }\\n    }\\n```\\n\\n### Response for an Object Collection\\n\\n```\\n    {\\n        \\\"droplets\\\": [\\n            {\\n                \\\"name\\\": \\\"example.com\\\"\\n                . . .\\n            },\\n            {\\n                \\\"name\\\": \\\"second.com\\\"\\n                . . .\\n            }\\n        ]\\n    }\\n```\\n\\n## Meta\\n\\nIn addition to the main resource root, the response may also contain a\\n`meta` object. This object contains information about the response itself.\\n\\nThe `meta` object contains a `total` key that is set to the total number of\\nobjects returned by the request. This has implications on the `links` object\\nand pagination.\\n\\nThe `meta` object will only be displayed when it has a value. Currently, the\\n`meta` object will have a value when a request is made on a collection (like\\n`droplets` or `domains`).\\n\\n\\n### Sample Meta Object\\n\\n```\\n    {\\n        . . .\\n        \\\"meta\\\": {\\n            \\\"total\\\": 43\\n        }\\n        . . .\\n    }\\n```\\n\\n## Links & Pagination\\n\\nThe `links` object is returned as part of the response body when pagination\\nis enabled. By default, 20 objects are returned per page. If the response\\ncontains 20 objects or fewer, no `links` object will be returned. If the\\nresponse contains more than 20 objects, the first 20 will be returned along\\nwith the `links` object.\\n\\nYou can request a different pagination limit or force pagination by\\nappending `?per_page=` to the request with the number of items you would\\nlike per page. For instance, to show only two results per page, you could\\nadd `?per_page=2` to the end of your query. The maximum number of results\\nper page is 200.\\n\\nThe `links` object contains a `pages` object. The `pages` object, in turn,\\ncontains keys indicating the relationship of additional pages. The values of\\nthese are the URLs of the associated pages. The keys will be one of the\\nfollowing:\\n\\n*   **first**: The URI of the first page of results.\\n*   **prev**: The URI of the previous sequential page of results.\\n*   **next**: The URI of the next sequential page of results.\\n*   **last**: The URI of the last page of results.\\n\\nThe `pages` object will only include the links that make sense. So for the\\nfirst page of results, no `first` or `prev` links will ever be set. This\\nconvention holds true in other situations where a link would not make sense.\\n\\n### Sample Links Object\\n\\n```\\n    {\\n        . . .\\n        \\\"links\\\": {\\n            \\\"pages\\\": {\\n                \\\"last\\\": \\\"https://api.digitalocean.com/v2/images?page=2\\\",\\n                \\\"next\\\": \\\"https://api.digitalocean.com/v2/images?page=2\\\"\\n            }\\n        }\\n        . . .\\n    }\\n```\\n\\n## Rate Limit\\n\\nRequests through the API are rate limited per OAuth token. Current rate limits:\\n\\n*   5,000 requests per hour\\n*   250 requests per minute (5% of the hourly total)\\n\\nOnce you exceed either limit, you will be rate limited until the next cycle\\nstarts. Space out any requests that you would otherwise issue in bursts for\\nthe best results.\\n\\nThe rate limiting information is contained within the response headers of\\neach request. The relevant headers are:\\n\\n*   **ratelimit-limit**: The number of requests that can be made per hour.\\n*   **ratelimit-remaining**: The number of requests that remain before you hit your request limit. See the information below for how the request limits expire.\\n*   **ratelimit-reset**: This represents the time when the oldest request will expire. The value is given in [Unix epoch time](http://en.wikipedia.org/wiki/Unix_time). See below for more information about how request limits expire.\\n\\nAs long as the `ratelimit-remaining` count is above zero, you will be able\\nto make additional requests.\\n\\nThe way that a request expires and is removed from the current limit count\\nis important to understand. Rather than counting all of the requests for an\\nhour and resetting the `ratelimit-remaining` value at the end of the hour,\\neach request instead has its own timer.\\n\\nThis means that each request contributes toward the `ratelimit-remaining`\\ncount for one complete hour after the request is made. When that request's\\ntimer runs out, it is no longer counted towards the request limit.\\n\\nThis has implications on the meaning of the `ratelimit-reset` header as\\nwell. Because the entire rate limit is not reset at one time, the value of\\nthis header is set to the time when the _oldest_ request will expire.\\n\\nKeep this in mind if you see your `ratelimit-reset` value change, but not\\nmove an entire hour into the future.\\n\\nIf the `ratelimit-remaining` reaches zero, subsequent requests will receive\\na 429 error code until the request reset has been reached. You can see the\\nformat of the response in the examples.\\n\\n**Note:** The following endpoints have special rate limit requirements that\\nare independent of the limits defined above.\\n\\n*   Only 12 `POST` requests to the `/v2/floating_ips` endpoint to create Floating IPs can be made per 60 seconds.\\n*   Only 10 `GET` requests to the `/v2/account/keys` endpoint to list SSH keys can be made per 60 seconds.\\n*   Only 5 requests to any and all `v2/cdn/endpoints` can be made per 10 seconds. This includes `v2/cdn/endpoints`, \\n    `v2/cdn/endpoints/$ENDPOINT_ID`, and `v2/cdn/endpoints/$ENDPOINT_ID/cache`.\\n*   Only 50 strings within the `files` json struct in the `v2/cdn/endpoints/$ENDPOINT_ID/cache` [payload](https://docs.digitalocean.com/reference/api/api-reference/#operation/cdn_purge_cache) \\n    can be requested every 20 seconds.\\n\\n### Sample Rate Limit Headers\\n\\n```\\n    . . .\\n    ratelimit-limit: 1200\\n    ratelimit-remaining: 1193\\n    rateLimit-reset: 1402425459\\n    . . .\\n```\\n\\n### Sample Rate Exceeded Response\\n\\n```\\n    429 Too Many Requests\\n    {\\n            id: \\\"too_many_requests\\\",\\n            message: \\\"API Rate limit exceeded.\\\"\\n    }\\n```\\n\\n## Curl Examples\\n\\nThroughout this document, some example API requests will be given using the\\n`curl` command. This will allow us to demonstrate the various endpoints in a\\nsimple, textual format.\\n  \\n  These examples assume that you are using a Linux or macOS command line. To run\\nthese commands on a Windows machine, you can either use cmd.exe, PowerShell, or WSL:\\n\\n* For cmd.exe, use the `set VAR=VALUE` [syntax](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)\\nto define environment variables, call them with `%VAR%`, then replace all backslashes (`\\\\`) in the examples with carets (`^`).\\n\\n* For PowerShell, use the `$Env:VAR = \\\"VALUE\\\"` [syntax](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-7.2)\\nto define environment variables, call them with `$Env:VAR`, then replace `curl` with `curl.exe` and all backslashes (`\\\\`) in the examples with backticks (`` ` ``).\\n\\n* WSL is a compatibility layer that allows you to emulate a Linux terminal on a Windows machine.\\nInstall WSL with our [community tutorial](https://www.digitalocean.com/community/tutorials/how-to-install-the-windows-subsystem-for-linux-2-on-microsoft-windows-10), \\nthen follow this API documentation normally.\\n\\nThe names of account-specific references (like Droplet IDs, for instance)\\nwill be represented by variables. For instance, a Droplet ID may be\\nrepresented by a variable called `$DROPLET_ID`. You can set the associated\\nvariables in your environment if you wish to use the examples without\\nmodification.\\n\\nThe first variable that you should set to get started is your OAuth\\nauthorization token. The next section will go over the details of this, but\\nyou can set an environmental variable for it now.\\n\\nGenerate a token by going to the [Apps & API](https://cloud.digitalocean.com/settings/applications)\\nsection of the DigitalOcean control panel. Use an existing token if you have\\nsaved one, or generate a new token with the \\\"Generate new token\\\" button.\\nCopy the generated token and use it to set and export the TOKEN variable in\\nyour environment as the example shows.\\n\\nYou may also wish to set some other variables now or as you go along. For\\nexample, you may wish to set the `DROPLET_ID` variable to one of your\\nDroplet IDs since this will be used frequently in the API.\\n\\nIf you are following along, make sure you use a Droplet ID that you control\\nso that your commands will execute correctly.\\n\\nIf you need access to the headers of a response through `curl`, you can pass\\nthe `-i` flag to display the header information along with the body. If you\\nare only interested in the header, you can instead pass the `-I` flag, which\\nwill exclude the response body entirely.\\n\\n\\n### Set and Export your OAuth Token\\n\\n```\\nexport DIGITALOCEAN_TOKEN=your_token_here\\n```\\n\\n### Set and Export a Variable\\n\\n```\\nexport DROPLET_ID=1111111\\n```\\n\\n## Parameters\\n\\nThere are two different ways to pass parameters in a request with the API.\\n\\nWhen passing parameters to create or update an object, parameters should be\\npassed as a JSON object containing the appropriate attribute names and\\nvalues as key-value pairs. When you use this format, you should specify that\\nyou are sending a JSON object in the header. This is done by setting the\\n`Content-Type` header to `application/json`. This ensures that your request\\nis interpreted correctly.\\n\\nWhen passing parameters to filter a response on GET requests, parameters can\\nbe passed using standard query attributes. In this case, the parameters\\nwould be embedded into the URI itself by appending a `?` to the end of the\\nURI and then setting each attribute with an equal sign. Attributes can be\\nseparated with a `&`. Tools like `curl` can create the appropriate URI when\\ngiven parameters and values; this can also be done using the `-F` flag and\\nthen passing the key and value as an argument. The argument should take the\\nform of a quoted string with the attribute being set to a value with an\\nequal sign.\\n\\n### Pass Parameters as a JSON Object\\n\\n```\\n    curl -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n        -H \\\"Content-Type: application/json\\\" \\\\\\n        -d '{\\\"name\\\": \\\"example.com\\\", \\\"ip_address\\\": \\\"127.0.0.1\\\"}' \\\\\\n        -X POST \\\"https://api.digitalocean.com/v2/domains\\\"\\n```\\n\\n### Pass Filter Parameters as a Query String\\n\\n```\\n     curl -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n         -X GET \\\\\\n         \\\"https://api.digitalocean.com/v2/images?private=true\\\"\\n```\\n\\n## Cross Origin Resource Sharing\\n\\nIn order to make requests to the API from other domains, the API implements\\nCross Origin Resource Sharing (CORS) support.\\n\\nCORS support is generally used to create AJAX requests outside of the domain\\nthat the request originated from. This is necessary to implement projects\\nlike control panels utilizing the API. This tells the browser that it can\\nsend requests to an outside domain.\\n\\nThe procedure that the browser initiates in order to perform these actions\\n(other than GET requests) begins by sending a \\\"preflight\\\" request. This sets\\nthe `Origin` header and uses the `OPTIONS` method. The server will reply\\nback with the methods it allows and some of the limits it imposes. The\\nclient then sends the actual request if it falls within the allowed\\nconstraints.\\n\\nThis process is usually done in the background by the browser, but you can\\nuse curl to emulate this process using the example provided. The headers\\nthat will be set to show the constraints are:\\n\\n*   **Access-Control-Allow-Origin**: This is the domain that is sent by the client or browser as the origin of the request. It is set through an `Origin` header.\\n*   **Access-Control-Allow-Methods**: This specifies the allowed options for requests from that domain. This will generally be all available methods.\\n*   **Access-Control-Expose-Headers**: This will contain the headers that will be available to requests from the origin domain.\\n*   **Access-Control-Max-Age**: This is the length of time that the access is considered valid. After this expires, a new preflight should be sent.\\n*   **Access-Control-Allow-Credentials**: This will be set to `true`. It basically allows you to send your OAuth token for authentication.\\n\\nYou should not need to be concerned with the details of these headers,\\nbecause the browser will typically do all of the work for you.\\n\",\n    \"license\": {\n      \"name\": \"Apache 2.0\",\n      \"url\": \"https://www.apache.org/licenses/LICENSE-2.0.html\"\n    },\n    \"termsOfService\": \"https://www.digitalocean.com/legal/terms-of-service-agreement/\",\n    \"title\": \"DigitalOcean API\",\n    \"version\": \"2.0\",\n    \"x-apisguru-categories\": [\n      \"hosting\"\n    ],\n    \"x-origin\": [\n      {\n        \"format\": \"openapi\",\n        \"url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n        \"version\": \"3.0\"\n      }\n    ],\n    \"x-providerName\": \"digitalocean.com\"\n  },\n  \"security\": [\n    {\n      \"bearer_auth\": []\n    }\n  ],\n  \"tags\": [\n    {\n      \"description\": \"1-Click applications are pre-built Droplet images or Kubernetes apps with software,\\nfeatures, and configuration details already set up for you. They can be found in the\\n[DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace).\",\n      \"name\": \"1-Click Applications\"\n    },\n    {\n      \"description\": \"Provides information about your current account.\",\n      \"name\": \"Account\"\n    },\n    {\n      \"description\": \"Actions are records of events that have occurred on the resources in your account.\\nThese can be things like rebooting a Droplet, or transferring an image to a new region.\\n\\nAn action object is created every time one of these actions is initiated. The action\\nobject contains information about the current status of the action, start and complete\\ntimestamps, and the associated resource type and ID.\\n\\nEvery action that creates an action object is available through this endpoint. Completed\\nactions are not removed from this list and are always available for querying.\\n\\n**Note:** You can pass the following HTTP header with the request to have the API return\\nthe `reserved_ips` stanza instead of the `floating_ips` stanza:\\n\\n- `Accept: application/vnd.digitalocean.reserveip+json`\",\n      \"name\": \"Actions\"\n    },\n    {\n      \"description\": \"App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows\\ndevelopers to publish code directly to DigitalOcean servers without worrying about the\\nunderlying infrastructure.\\n\\nMost API operations are centered around a few core object types. Following are the\\ndefinitions of these types. These definitions will be omitted from the operation-specific\\ndocumentation.\\n\\nFor documentation on app specifications (`AppSpec` objects), please refer to the\\n[product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)).\",\n      \"name\": \"Apps\"\n    },\n    {\n      \"description\": \"The billing endpoints allow you to retrieve your account balance, invoices\\nand billing history.\\n\\n**Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can\\nretrieve the balance information for the requested customer account.\\n\\n**Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/)\\nare generated on the first of each month for every DigitalOcean\\ncustomer. An invoice preview is generated daily, which can be accessed\\nwith the `preview` keyword in place of `$INVOICE_UUID`. To interact with\\ninvoices, you will generally send requests to the invoices endpoint at\\n`/v2/customers/my/invoices`.\\n\\n**Billing History:** Billing history is a record of billing events for your account.\\nFor example, entries may include events like payments made, invoices\\nissued, or credits granted. To interact with invoices, you\\nwill generally send requests to the invoices endpoint at\\n`/v2/customers/my/billing_history`.\",\n      \"name\": \"Billing\"\n    },\n    {\n      \"description\": \"[DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/)\\nprovide expanded storage capacity for your Droplets and can be moved\\nbetween Droplets within a specific region.\\n\\nVolumes function as raw block devices, meaning they appear to the\\noperating system as locally attached storage which can be formatted using\\nany file system supported by the OS. They may be created in sizes from\\n1GiB to 16TiB.\\n\\nBy sending requests to the `/v2/volumes` endpoint, you can list, create, or\\ndelete volumes as well as attach and detach them from Droplets\",\n      \"name\": \"Block Storage\"\n    },\n    {\n      \"description\": \"Block storage actions are commands that can be given to a DigitalOcean\\nBlock Storage Volume. An example would be detaching or attaching a volume\\nfrom a Droplet. These requests are made on the\\n`/v2/volumes/$VOLUME_ID/actions` endpoint.\\n\\nAn action object is returned. These objects hold the current status of the\\nrequested action.\",\n      \"name\": \"Block Storage Actions\"\n    },\n    {\n      \"description\": \"Content hosted in DigitalOcean's object storage solution,\\n[Spaces](https://www.digitalocean.com/docs/spaces/overview/),\\ncan optionally be served by our globally distributed Content Delivery\\nNetwork (CDN). By sending requests to `/v2/cdn/endpoints`, you can list,\\ncreate, or delete CDN Endpoints as well as purge cached content. To use a\\ncustom subdomain to access the CDN Endpoint, provide the ID of a\\nDigitalOcean managed TLS certificate and the fully qualified domain name\\nfor the custom subdomain.\",\n      \"name\": \"CDN Endpoints\"\n    },\n    {\n      \"description\": \"In order to perform SSL termination on load balancers, DigitalOcean offers\\ntwo types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates):\\n\\n* **Custom**: User-generated certificates may be uploaded to DigitalOcean\\nwhere they will be placed in a fully encrypted and isolated storage system.\\n\\n* **Let's Encrypt**: Certificates may be automatically generated by\\nDigitalOcean utilizing an integration with Let's Encrypt, the free and\\nopen certificate authority. These certificates will also be automatically\\nrenewed as required.\",\n      \"name\": \"Certificates\"\n    },\n    {\n      \"description\": \"DigitalOcean offers the ability for you to create a\\n[private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/)\\nto store your Docker images for use with your Kubernetes clusters. This\\ncontainer registry runs inside the same datacenters as your cluster,\\nensuring reliable and performant rollout of image deployments.\\n\\nYou can only create one registry per DigitalOcean account, but you can use\\nthat registry to create as many repositories as you wish.\",\n      \"name\": \"Container Registry\"\n    },\n    {\n      \"description\": \"DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases)\\nsimplifies the creation and management of highly available database clusters. Currently, it\\noffers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/),\\n[Redis](https://www.digitalocean.com/docs/databases/redis/),\\n[MySQL](https://www.digitalocean.com/docs/databases/mysql/), and\\n[MongoDB](https://www.digitalocean.com/docs/databases/mongodb/).\\n\\nBy sending requests to the `/v2/databases` endpoint, you can list, create, or delete\\ndatabase clusters as well as scale the size of a cluster, add or remove read-only replicas,\\nand manage other configuration details.\\n\\nDatabase clusters may be deployed in a multi-node, high-availability configuration.\\nIf your machine type is above the basic nodes, your node plan is above the smallest option,\\nor you are running MongoDB, you may additionally include up to two standby nodes in your cluster.\\n\\nThe size of individual nodes in a database cluster is represented by a human-readable slug,\\nwhich is used in some of the following requests. Each slug denotes the node's identifier,\\nCPU count, and amount of RAM, in that order.\\n\\nFor **Basic nodes**, reference the following table for its slug:\\n\\nSlug               | CPU     | RAM\\n-------------------|---------|---------\\ndb-s-1vcpu-1gb     | 1 vCPU  | 1 GB\\ndb-s-1vcpu-2gb     | 1 vCPU  | 2 GB\\ndb-s-2vcpu-4gb     | 2 vCPU  | 4 GB\\ndb-s-4vcpu-8gb     | 4 vCPU  | 8 GB\\ndb-s-6vcpu-16gb    | 6 vCPU  | 16 GB\\ndb-s-8vcpu-32gb    | 8 vCPU  | 32 GB\\ndb-s-16vcpu-64gb   | 16 vCPU | 64 GB\\n\\nFor **General Purpose nodes**, reference the following table for its slug:\\n\\nSlug               | CPU     | RAM\\n-------------------|---------|---------\\ngd-2vcpu-8gb       | 2 vCPU  | 8 GB\\ngd-4vcpu-16gb      | 4 vCPU  | 16 GB\\ngd-8vcpu-32gb      | 8 vCPU  | 32 GB\\ngd-16vcpu-64gb     | 16 vCPU | 64 GB\\ngd-32vcpu-128gb    | 32 vCPU | 128 GB\\ngd-40vcpu-160gb    | 40 vCPU | 160 GB\\n\\nFor **Storage-Optimized nodes**, reference the following table for its slug:\\n\\nSlug               | CPU     | RAM\\n-------------------|---------|---------\\nso1_5-2vcpu-16gb   | 2 vCPU  | 16 GB\\nso1_5-4vcpu-32gb   | 4 vCPU  | 32 GB\\nso1_5-8vcpu-64gb   | 8 vCPU  | 64 GB\\nso1_5-16vcpu-128gb | 16 vCPU | 128 GB\\nso1_5-24vcpu-192gb | 24 vCPU | 192 GB\\nso1_5-32vcpu-256gb | 32 vCPU | 256 GB\\n\\nFor **Memory-Optimized nodes**, reference the following table for its slug:\\n\\nSlug               | CPU     | RAM\\n-------------------|---------|---------\\nm-2vcpu-16gb       | 2 vCPU  | 16 GB\\nm-4vcpu-32gb       | 4 vCPU  | 32 GB\\nm-8vcpu-64gb       | 8 vCPU  | 64 GB\\nm-16vcpu-128gb     | 16 vCPU | 128 GB\\nm-24vcpu-192gb     | 24 vCPU | 192 GB\\nm-32vcpu-256gb     | 32 vCPU | 256 GB\",\n      \"name\": \"Databases\"\n    },\n    {\n      \"description\": \"Domain record resources are used to set or retrieve information about the\\nindividual DNS records configured for a domain. This allows you to build\\nand manage DNS zone files by adding and modifying individual records for a\\ndomain.\\n\\nThe [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/)\\nallows you to configure the following DNS records:\\n\\nName  | Description                                                                                                                                        |\\n------|----------------------------------------------------------------------------------------------------------------------------------------------------|\\nA     | This record type is used to map an IPv4 address to a hostname.                                                                                     |\\nAAAA  | This record type is used to map an IPv6 address to a hostname.                                                                                     |\\nCAA   | As specified in RFC-6844, this record type can be used to restrict which certificate authorities are permitted to issue certificates for a domain. |\\nCNAME | This record type defines an alias for your canonical hostname (the one defined by an A or AAAA record).                                            |\\nMX    | This record type is used to define the mail exchanges used for the domain.                                                                         |\\nNS    | This record type defines the name servers that are used for this zone.                                                                             |\\nTXT   | This record type is used to associate a string of text with a hostname, primarily used for verification.                                           |\\nSRV   | This record type specifies the location (hostname and port number) of servers for specific services.                                               |\\nSOA   | This record type defines administrative information about the zone. Can only have ttl changed, cannot be deleted                                   |\",\n      \"name\": \"Domain Records\"\n    },\n    {\n      \"description\": \"Domain resources are domain names that you have purchased from a domain\\nname registrar that you are managing through the\\n[DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/).\\n\\nThis resource establishes top-level control over each domain. Actions that\\naffect individual domain records should be taken on the\\n[Domain Records](#tag/Domain-Records) resource.\",\n      \"name\": \"Domains\"\n    },\n    {\n      \"description\": \"Droplet actions are tasks that can be executed on a Droplet. These can be\\nthings like rebooting, resizing, snapshotting, etc.\\n\\nDroplet action requests are generally targeted at one of the \\\"actions\\\"\\nendpoints for a specific Droplet. The specific actions are usually\\ninitiated by sending a POST request with the action and arguments as\\nparameters.\\n\\nDroplet action requests create a Droplet actions object, which can be used\\nto get information about the status of an action. Creating a Droplet\\naction is asynchronous: the HTTP call will return the action object before\\nthe action has finished processing on the Droplet. The current status of\\nan action can be retrieved from either the Droplet actions endpoint or the\\nglobal actions endpoint. If a Droplet action is uncompleted it may block\\nthe creation of a subsequent action for that Droplet, the locked attribute\\nof the Droplet will be true and attempts to create a Droplet action will\\nfail with a status of 422.\",\n      \"name\": \"Droplet Actions\"\n    },\n    {\n      \"description\": \"A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean\\nvirtual machine. By sending requests to the Droplet endpoint, you can\\nlist, create, or delete Droplets.\\n\\nSome of the attributes will have an object value. The `region` and `image`\\nobjects will all contain the standard attributes of their associated\\ntypes. Find more information about each of these objects in their\\nrespective sections.\",\n      \"name\": \"Droplets\"\n    },\n    {\n      \"description\": \"[DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/)\\nprovide the ability to restrict network access to and from a Droplet\\nallowing you to define which ports will accept inbound or outbound\\nconnections. By sending requests to the `/v2/firewalls` endpoint, you can\\nlist, create, or delete firewalls as well as modify access rules.\",\n      \"name\": \"Firewalls\"\n    },\n    {\n      \"description\": \"As of 16 June 2022, we have renamed the Floating IP product to [Reserved IPs](https://docs.digitalocean.com/reference/api/api-reference/#tag/Reserved-IPs).\\nThe Reserved IP product's endpoints function the exact same way as Floating IPs.\\nThe only difference is the name change throughout the URLs and fields.\\nFor example, the `floating_ips` field is now the `reserved_ips` field.\\nThe Floating IP endpoints will remain active until fall 2023 before being\\npermanently deprecated.\\n\\nWith the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects),\\nwe will reflect this change as an additional field in the responses across the API\\nwhere the `floating_ip` field is used. For example, the Droplet metadata response\\nwill contain the field `reserved_ips` in addition to the `floating_ips` field.\\nFloating IPs retrieved using the Projects API will retain the original name.\\n\\nFloating IP actions are commands that can be given to a DigitalOcean\\nfloating IP. These requests are made on the actions endpoint of a specific\\nfloating IP.\\n\\nAn action object is returned. These objects hold the current status of the\\nrequested action.\",\n      \"name\": \"Floating IP Actions\"\n    },\n    {\n      \"description\": \"As of 16 June 2022, we have renamed the Floating IP product to [Reserved IPs](https://docs.digitalocean.com/reference/api/api-reference/#tag/Reserved-IPs).\\nThe Reserved IP product's endpoints function the exact same way as Floating IPs.\\nThe only difference is the name change throughout the URLs and fields.\\nFor example, the `floating_ips` field is now the `reserved_ips` field.\\nThe Floating IP endpoints will remain active until fall 2023 before being\\npermanently deprecated.\\n\\nWith the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects),\\nwe will reflect this change as an additional field in the responses across the API\\nwhere the `floating_ip` field is used. For example, the Droplet metadata response\\nwill contain the field `reserved_ips` in addition to the `floating_ips` field.\\nFloating IPs retrieved using the Projects API will retain the original name.\\n\\n[DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/)\\nare publicly-accessible static IP addresses that can be mapped to one of\\nyour Droplets. They can be used to create highly available setups or other\\nconfigurations requiring movable addresses.\\n\\nFloating IPs are bound to a specific region.\",\n      \"name\": \"Floating IPs\"\n    },\n    {\n      \"description\": \"[Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure.\\nYou can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl).\\n\\nThe Serverless Functions API currently only supports creating and managing namespaces.\",\n      \"name\": \"Functions\"\n    },\n    {\n      \"description\": \"Image actions are commands that can be given to a DigitalOcean image. In\\ngeneral, these requests are made on the actions endpoint of a specific\\nimage.\\n\\nAn image action object is returned. These objects hold the current status\\nof the requested action.\",\n      \"name\": \"Image Actions\"\n    },\n    {\n      \"description\": \"A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be\\nused to create a Droplet and may come in a number of flavors. Currently,\\nthere are five types of images: snapshots, backups, applications,\\ndistributions, and custom images.\\n\\n* [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide\\na full copy of an existing Droplet instance taken on demand.\\n\\n* [Backups](https://www.digitalocean.com/docs/images/backups/) are similar\\nto snapshots but are created automatically at regular intervals when\\nenabled for a Droplet.\\n\\n* [Custom images](https://www.digitalocean.com/docs/images/custom-images/)\\nare Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk\\nformats are supported) that you may upload for use on DigitalOcean.\\n\\n* Distributions are the public Linux distributions that are available to\\nbe used as a base to create Droplets.\\n\\n* Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/),\\nare distributions pre-configured with additional software.\\n\\nTo interact with images, you will generally send requests to the images\\nendpoint at /v2/images.\",\n      \"name\": \"Images\"\n    },\n    {\n      \"description\": \"[DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/)\\nallows you to quickly deploy scalable and secure Kubernetes clusters. By\\nsending requests to the `/v2/kubernetes/clusters` endpoint, you can list,\\ncreate, or delete clusters as well as scale node pools up and down,\\nrecycle individual nodes, and retrieve the kubeconfig file for use with\\na cluster.\",\n      \"name\": \"Kubernetes\"\n    },\n    {\n      \"description\": \"[DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/)\\nprovide a way to distribute traffic across multiple Droplets. By sending\\nrequests to the `/v2/load_balancers` endpoint, you can list, create, or\\ndelete load balancers as well as add or remove Droplets, forwarding rules,\\nand other configuration details.\",\n      \"name\": \"Load Balancers\"\n    },\n    {\n      \"description\": \"The DigitalOcean Monitoring API makes it possible to programmatically retrieve metrics as well as configure alert\\npolicies based on these metrics. The Monitoring API can help you gain insight into how your apps are performing\\nand consuming resources.\",\n      \"name\": \"Monitoring\"\n    },\n    {\n      \"description\": \"Project Resources are resources that can be grouped into your projects.\\nYou can group resources (like Droplets, Spaces, load balancers, domains,\\nand floating IPs) in ways that align with the applications you host on\\nDigitalOcean.\\n\\n### Supported Resource Types Examples\\n\\nProjects resources are identified by uniform resource names or URNs. A\\nvalid URN has the following format: `do:resource_type:resource_id`. The\\nfollowing resource types are supported:\\n\\nResource Type      | Example URN\\n-------------------|------------\\nApp Platform App   | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8`\\nDatabase           | `do:dbaas:83c7a55f-0d84-4760-9245-aba076ec2fb2`\\nDomain             | `do:domain:example.com`\\nDroplet            | `do:droplet:4126873`\\nFloating IP        | `do:floatingip:192.168.99.100`\\nKubernetes Cluster | `do:kubernetes:bd5f5959-5e1e-4205-a714-a914373942af`\\nLoad Balancer      | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b`\\nSpace              | `do:space:my-website-assets`\\nVolume             | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f`\\n\\n### Resource Status Codes\\n\\nWhen assigning and retrieving resources in projects, a `status` attribute\\nis returned that indicates if a resource was successfully retrieved or\\nassigned. The status codes can be one of the following:\\n\\nStatus Code        | Explanation\\n-------------------|------------\\n`ok`               | There was no problem retrieving or assigning a resource.\\n`not_found`        | The resource was not found.\\n`assigned`         | The resource was successfully assigned.\\n`already_assigned` | The resource was already assigned.\\n`service_down`     | There was a problem retrieving or assigning a resource. Please try again.\",\n      \"name\": \"Project Resources\"\n    },\n    {\n      \"description\": \"Projects allow you to organize your resources into groups that fit the way\\nyou work. You can group resources (like Droplets, Spaces, load balancers,\\ndomains, and floating IPs) in ways that align with the applications\\nyou host on DigitalOcean.\",\n      \"name\": \"Projects\"\n    },\n    {\n      \"description\": \"Provides information about DigitalOcean data center regions.\",\n      \"name\": \"Regions\"\n    },\n    {\n      \"description\": \"As of 16 June 2022, we have renamed the [Floating IP](https://docs.digitalocean.com/reference/api/api-reference/#tag/Floating-IPs)\\nproduct to Reserved IPs. The Reserved IP product's endpoints function the exact\\nsame way as Floating IPs. The only difference is the name change throughout the\\nURLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field.\\nThe Floating IP endpoints will remain active until fall 2023 before being\\npermanently deprecated.\\n\\nWith the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects),\\nwe will reflect this change as an additional field in the responses across the API\\nwhere the `floating_ip` field is used. For example, the Droplet metadata response\\nwill contain the field `reserved_ips` in addition to the `floating_ips` field.\\nFloating IPs retrieved using the Projects API will retain the original name.\\n\\nReserved IP actions are commands that can be given to a DigitalOcean\\nreserved IP. These requests are made on the actions endpoint of a specific\\nreserved IP.\\n\\nAn action object is returned. These objects hold the current status of the\\nrequested action.\",\n      \"name\": \"Reserved IP Actions\"\n    },\n    {\n      \"description\": \"As of 16 June 2022, we have renamed the [Floating IP](https://docs.digitalocean.com/reference/api/api-reference/#tag/Floating-IPs)\\nproduct to Reserved IPs. The Reserved IP product's endpoints function the exact\\nsame way as Floating IPs. The only difference is the name change throughout the\\nURLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field.\\nThe Floating IP endpoints will remain active until fall 2023 before being\\npermanently deprecated.\\n\\nWith the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects),\\nwe will reflect this change as an additional field in the responses across the API\\nwhere the `floating_ip` field is used. For example, the Droplet metadata response\\nwill contain the field `reserved_ips` in addition to the `floating_ips` field.\\nFloating IPs retrieved using the Projects API will retain the original name.\\n\\nDigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be\\nmapped to one of your Droplets. They can be used to create highly available\\nsetups or other configurations requiring movable addresses.\\n\\nReserved IPs are bound to a specific region.\",\n      \"name\": \"Reserved IPs\"\n    },\n    {\n      \"description\": \"The sizes objects represent different packages of hardware resources that\\ncan be used for Droplets. When a Droplet is created, a size must be\\nselected so that the correct resources can be allocated.\\n\\nEach size represents a plan that bundles together specific sets of\\nresources. This includes the amount of RAM, the number of virtual CPUs,\\ndisk space, and transfer. The size object also includes the pricing\\ndetails and the regions that the size is available in.\",\n      \"name\": \"Sizes\"\n    },\n    {\n      \"description\": \"[Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved\\ninstances of a Droplet or a block storage volume, which is reflected in\\nthe `resource_type` attribute. In order to avoid problems with compressing\\nfilesystems, each defines a `min_disk_size` attribute which is the minimum\\nsize of the Droplet or volume disk when creating a new resource from the\\nsaved snapshot.\\n\\nTo interact with snapshots, you will generally send requests to the\\nsnapshots endpoint at `/v2/snapshots`.\",\n      \"name\": \"Snapshots\"\n    },\n    {\n      \"description\": \"Manage SSH keys available on your account.\",\n      \"name\": \"SSH Keys\"\n    },\n    {\n      \"description\": \"A tag is a label that can be applied to a resource (currently Droplets,\\nImages, Volumes, Volume Snapshots, and Database clusters) in order to\\nbetter organize or facilitate the lookups and actions on it.\\n\\nTags have two attributes: a user defined `name` attribute and an embedded\\n`resources` attribute with information about resources that have been tagged.\",\n      \"name\": \"Tags\"\n    },\n    {\n      \"description\": \"[DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring.\\nTo interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`.\",\n      \"name\": \"Uptime\"\n    },\n    {\n      \"description\": \"[VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/)\\nallow you to create virtual networks containing resources that can\\ncommunicate with each other in full isolation using private IP addresses.\\n\\nBy sending requests to the `/v2/vpcs` endpoint, you can create, configure,\\nlist, and delete custom VPCs as well as retrieve information about the\\nresources assigned to them.\",\n      \"name\": \"VPCs\"\n    }\n  ],\n  \"paths\": {\n    \"/v2/1-clicks\": {\n      \"get\": {\n        \"description\": \"To list all available 1-Click applications, send a GET request to `/v2/1-clicks`. The `type` may\\nbe provided as query paramater in order to restrict results to a certain type of 1-Click, for\\nexample: `/v2/1-clicks?type=droplet`. Current supported types are `kubernetes` and `droplet`.\\n\\nThe response will be a JSON object with a key called `1_clicks`. This will be set to an array of\\n1-Click application data, each of which will contain the the slug and type for the 1-Click.\\n\",\n        \"operationId\": \"oneClicks_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Restrict results to a certain type of 1-Click.\",\n            \"example\": \"kubernetes\",\n            \"in\": \"query\",\n            \"name\": \"type\",\n            \"required\": false,\n            \"schema\": {\n              \"enum\": [\n                \"droplet\",\n                \"kubernetes\"\n              ],\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"All 1-Click Applications\": {\n                    \"value\": {\n                      \"1_clicks\": [\n                        {\n                          \"slug\": \"monitoring\",\n                          \"type\": \"kubernetes\"\n                        },\n                        {\n                          \"slug\": \"wordpress-18-04\",\n                          \"type\": \"droplet\"\n                        }\n                      ]\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"1_clicks\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"slug\": {\n                            \"description\": \"The slug identifier for the 1-Click application.\",\n                            \"example\": \"monitoring\",\n                            \"title\": \"slug\",\n                            \"type\": \"string\"\n                          },\n                          \"type\": {\n                            \"description\": \"The type of the 1-Click application.\",\n                            \"example\": \"kubernetes\",\n                            \"title\": \"type\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"slug\",\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `1_clicks`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List 1-Click Applications\",\n        \"tags\": [\n          \"1-Click Applications\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\"  \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/1-clicks\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/1-clicks/kubernetes\": {\n      \"post\": {\n        \"description\": \"To install a Kubernetes 1-Click application on a cluster, send a POST request to\\n`/v2/1-clicks/kubernetes`. The `addon_slugs` and `cluster_uuid` must be provided as body\\nparameter in order to specify which 1-Click application(s) to install. To list all available\\n1-Click Kubernetes applications, send a request to `/v2/1-clicks?type=kubernetes`.\\n\",\n        \"operationId\": \"oneClicks_install_kubernetes\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"addon_slugs\": {\n                    \"default\": [],\n                    \"description\": \"An array of 1-Click Application slugs to be installed to the Kubernetes cluster.\",\n                    \"example\": [\n                      \"kube-state-metrics\",\n                      \"loki\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"title\": \"addon_slugs\",\n                    \"type\": \"array\"\n                  },\n                  \"cluster_uuid\": {\n                    \"description\": \"A unique ID for the Kubernetes cluster to which the 1-Click Applications will be installed.\",\n                    \"example\": \"50a994b6-c303-438f-9495-7e896cfe6b08\",\n                    \"title\": \"cluster_uuid\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"addon_slugs\",\n                  \"cluster_uuid\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Install a 1-Click Application\": {\n                    \"value\": {\n                      \"message\": \"Successfully kicked off addon job.\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"message\": {\n                      \"description\": \"A message about the result of the request.\",\n                      \"example\": \"Successfully kicked off addon job.\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will verify that a job has been successfully created to install a 1-Click. The\\npost-installation lifecycle of a 1-Click application can not be managed via the DigitalOcean\\nAPI. For additional details specific to the 1-Click, find and view its\\n[DigitalOcean Marketplace](https://marketplace.digitalocean.com) page.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Install Kubernetes 1-Click Applications\",\n        \"tags\": [\n          \"1-Click Applications\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"addon_slugs\\\": [\\\"kube-state-metrics\\\", \\\"loki\\\"], \\\"cluster_uuid\\\": \\\"50a994b6-c303-438f-9495-7e896cfe6b08\\\"}'' \\\\\\n  \\\"https://api.digitalocean.com/v2/1-clicks/kubernetes\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/account\": {\n      \"get\": {\n        \"description\": \"To show information about the current user account, send a GET request to `/v2/account`.\",\n        \"operationId\": \"account_get\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"account\": {\n                      \"properties\": {\n                        \"droplet_limit\": {\n                          \"description\": \"The total number of Droplets current user or team may have active at one time.\",\n                          \"example\": 25,\n                          \"type\": \"integer\"\n                        },\n                        \"email\": {\n                          \"description\": \"The email address used by the current user to register for DigitalOcean.\",\n                          \"example\": \"sammy@digitalocean.com\",\n                          \"type\": \"string\"\n                        },\n                        \"email_verified\": {\n                          \"default\": false,\n                          \"description\": \"If true, the user has verified their account via email. False otherwise.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"floating_ip_limit\": {\n                          \"description\": \"The total number of Floating IPs the current user or team may have.\",\n                          \"example\": 5,\n                          \"type\": \"integer\"\n                        },\n                        \"status\": {\n                          \"default\": \"active\",\n                          \"description\": \"This value is one of \\\"active\\\", \\\"warning\\\" or \\\"locked\\\".\",\n                          \"enum\": [\n                            \"active\",\n                            \"warning\",\n                            \"locked\"\n                          ],\n                          \"example\": \"active\",\n                          \"type\": \"string\"\n                        },\n                        \"status_message\": {\n                          \"description\": \"A human-readable message giving more details about the status of the account.\",\n                          \"example\": \" \",\n                          \"type\": \"string\"\n                        },\n                        \"team\": {\n                          \"description\": \"When authorized in a team context, includes information about the current team.\",\n                          \"properties\": {\n                            \"name\": {\n                              \"description\": \"The name for the current team.\",\n                              \"example\": \"My Team\",\n                              \"type\": \"string\"\n                            },\n                            \"uuid\": {\n                              \"description\": \"The unique universal identifier for the current team.\",\n                              \"example\": \"5df3e3004a17e242b7c20ca6c9fc25b701a47ece\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"uuid\": {\n                          \"description\": \"The unique universal identifier for the current user.\",\n                          \"example\": \"b6fr89dbf6d9156cace5f3c78dc9851d957381ef\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"droplet_limit\",\n                        \"floating_ip_limit\",\n                        \"email\",\n                        \"uuid\",\n                        \"email_verified\",\n                        \"status\",\n                        \"status_message\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object keyed on account with an excerpt of the current user account data.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get User Information\",\n        \"tags\": [\n          \"Account\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/account\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/account/keys\": {\n      \"get\": {\n        \"description\": \"To list all of the keys in your account, send a GET request to `/v2/account/keys`. The response will be a JSON object with a key set to `ssh_keys`. The value of this will be an array of ssh_key objects, each of which contains the standard ssh_key attributes.\",\n        \"operationId\": \"sshKeys_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"ssh_keys\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"fingerprint\": {\n                                \"description\": \"A unique identifier that differentiates this key from other keys using  a format that SSH recognizes. The fingerprint is created when the key is added to your account.\",\n                                \"example\": \"3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique identification number for this key. Can be used to embed a  specific SSH key into a Droplet.\",\n                                \"example\": 512189,\n                                \"readOnly\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"name\": {\n                                \"description\": \"A human-readable display name for this key, used to easily identify the SSH keys when they are displayed.\",\n                                \"example\": \"My SSH Public Key\",\n                                \"type\": \"string\"\n                              },\n                              \"public_key\": {\n                                \"description\": \"The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation.\",\n                                \"example\": \"ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"public_key\",\n                              \"name\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      }\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {},\n                    \"meta\": {\n                      \"total\": 1\n                    },\n                    \"ssh_keys\": [\n                      {\n                        \"fingerprint\": \"3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45\",\n                        \"id\": 289794,\n                        \"name\": \"Other Public Key\",\n                        \"public_key\": \"ssh-rsa ANOTHEREXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V anotherexample\"\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object with the key set to `ssh_keys`. The value is an array of `ssh_key` objects, each of which contains the standard `ssh_key` attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All SSH Keys\",\n        \"tags\": [\n          \"SSH Keys\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/account/keys\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    keys, _, err := client.Keys.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nssh_keys = client.ssh_keys.all\\nssh_keys.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To add a new SSH public key to your DigitalOcean account, send a POST request to `/v2/account/keys`. Set the `name` attribute to the name you wish to use and the `public_key` attribute to the full public key you are adding.\",\n        \"operationId\": \"sshKeys_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"fingerprint\": {\n                    \"description\": \"A unique identifier that differentiates this key from other keys using  a format that SSH recognizes. The fingerprint is created when the key is added to your account.\",\n                    \"example\": \"3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  },\n                  \"id\": {\n                    \"description\": \"A unique identification number for this key. Can be used to embed a  specific SSH key into a Droplet.\",\n                    \"example\": 512189,\n                    \"readOnly\": true,\n                    \"type\": \"integer\"\n                  },\n                  \"name\": {\n                    \"description\": \"A human-readable display name for this key, used to easily identify the SSH keys when they are displayed.\",\n                    \"example\": \"My SSH Public Key\",\n                    \"type\": \"string\"\n                  },\n                  \"public_key\": {\n                    \"description\": \"The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation.\",\n                    \"example\": \"ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"public_key\",\n                  \"name\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"ssh_key\": {\n                      \"properties\": {\n                        \"fingerprint\": {\n                          \"description\": \"A unique identifier that differentiates this key from other keys using  a format that SSH recognizes. The fingerprint is created when the key is added to your account.\",\n                          \"example\": \"3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique identification number for this key. Can be used to embed a  specific SSH key into a Droplet.\",\n                          \"example\": 512189,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"name\": {\n                          \"description\": \"A human-readable display name for this key, used to easily identify the SSH keys when they are displayed.\",\n                          \"example\": \"My SSH Public Key\",\n                          \"type\": \"string\"\n                        },\n                        \"public_key\": {\n                          \"description\": \"The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation.\",\n                          \"example\": \"ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"public_key\",\n                        \"name\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response body will be a JSON object with a key set to `ssh_key`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            },\n            \"links\": {\n              \"sshKeys_delete_by_fingerprint\": {\n                \"description\": \"The `fingerprint` value returned in the response can be used as the  `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.\",\n                \"operationId\": \"ssh_keys_delete_by_fingerprint\",\n                \"parameters\": {\n                  \"ssh_key_identifier\": \"$response.body#/ssh_key/fingerprint\"\n                }\n              },\n              \"sshKeys_delete_by_id\": {\n                \"description\": \"The `id` value returned in the response can be used as the  `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.\",\n                \"operationId\": \"sshKeys_delete_by_id\",\n                \"parameters\": {\n                  \"ssh_key_identifier\": \"$response.body#/ssh_key/id\"\n                }\n              },\n              \"sshKeys_get_by_fingerprint\": {\n                \"description\": \"The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.\",\n                \"operationId\": \"sshKeys_get_by_fingerprint\",\n                \"parameters\": {\n                  \"ssh_key_identifier\": \"$response.body#/ssh_key/fingerprint\"\n                }\n              },\n              \"sshKeys_get_by_id\": {\n                \"description\": \"The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.\",\n                \"operationId\": \"sshKeys_get_by_id\",\n                \"parameters\": {\n                  \"ssh_key_identifier\": \"$response.body#/ssh_key/id\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New SSH Key\",\n        \"tags\": [\n          \"SSH Keys\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"My SSH Public Key\\\",\\\"public_key\\\":\\\"ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/account/keys\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &godo.KeyCreateRequest{\\n        Name:      \\\"My SSH Public Key\\\",\\n        PublicKey: \\\"ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example\\\",\\n    }\\n\\n    transfer, _, err := client.Keys.Create(ctx, createRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nssh_key = DropletKit::SSHKey.new(\\n  name: 'My SSH Public Key',\\n  public_key: 'ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example'\\n)\\nclient.ssh_keys.create(ssh_key)\"\n          }\n        ]\n      }\n    },\n    \"/v2/account/keys/{ssh_key_identifier}\": {\n      \"delete\": {\n        \"description\": \"To destroy a public SSH key that you have in your account, send a DELETE request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`.\\nA 204 status will be returned, indicating that the action was successful and that the response body is empty.\",\n        \"operationId\": \"sshKeys_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"Either the ID or the fingerprint of an existing SSH key.\",\n            \"example\": 512189,\n            \"in\": \"path\",\n            \"name\": \"ssh_key_identifier\",\n            \"required\": true,\n            \"schema\": {\n              \"anyOf\": [\n                {\n                  \"description\": \"A unique identification number for this key. Can be used to embed a  specific SSH key into a Droplet.\",\n                  \"example\": 512189,\n                  \"readOnly\": true,\n                  \"type\": \"integer\"\n                },\n                {\n                  \"description\": \"A unique identifier that differentiates this key from other keys using  a format that SSH recognizes. The fingerprint is created when the key is added to your account.\",\n                  \"example\": \"3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa\",\n                  \"readOnly\": true,\n                  \"type\": \"string\"\n                }\n              ]\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete an SSH Key\",\n        \"tags\": [\n          \"SSH Keys\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/account/keys/512190\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Keys.DeleteByID(ctx, 512190)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.ssh_keys.delete(id: 512190)\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To get information about a key, send a GET request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`.\\nThe response will be a JSON object with the key `ssh_key` and value an ssh_key object which contains the standard ssh_key attributes.\",\n        \"operationId\": \"sshKeys_get\",\n        \"parameters\": [\n          {\n            \"description\": \"Either the ID or the fingerprint of an existing SSH key.\",\n            \"example\": 512189,\n            \"in\": \"path\",\n            \"name\": \"ssh_key_identifier\",\n            \"required\": true,\n            \"schema\": {\n              \"anyOf\": [\n                {\n                  \"description\": \"A unique identification number for this key. Can be used to embed a  specific SSH key into a Droplet.\",\n                  \"example\": 512189,\n                  \"readOnly\": true,\n                  \"type\": \"integer\"\n                },\n                {\n                  \"description\": \"A unique identifier that differentiates this key from other keys using  a format that SSH recognizes. The fingerprint is created when the key is added to your account.\",\n                  \"example\": \"3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa\",\n                  \"readOnly\": true,\n                  \"type\": \"string\"\n                }\n              ]\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"ssh_key\": {\n                      \"properties\": {\n                        \"fingerprint\": {\n                          \"description\": \"A unique identifier that differentiates this key from other keys using  a format that SSH recognizes. The fingerprint is created when the key is added to your account.\",\n                          \"example\": \"3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique identification number for this key. Can be used to embed a  specific SSH key into a Droplet.\",\n                          \"example\": 512189,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"name\": {\n                          \"description\": \"A human-readable display name for this key, used to easily identify the SSH keys when they are displayed.\",\n                          \"example\": \"My SSH Public Key\",\n                          \"type\": \"string\"\n                        },\n                        \"public_key\": {\n                          \"description\": \"The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation.\",\n                          \"example\": \"ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"public_key\",\n                        \"name\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object with the key set to `ssh_key`. The value is an `ssh_key` object containing the standard `ssh_key` attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            },\n            \"links\": {\n              \"sshKeys_delete_by_fingerprint\": {\n                \"description\": \"The `fingerprint` value returned in the response can be used as the  `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.\",\n                \"operationId\": \"ssh_keys_delete_by_fingerprint\",\n                \"parameters\": {\n                  \"ssh_key_identifier\": \"$response.body#/ssh_key/fingerprint\"\n                }\n              },\n              \"sshKeys_delete_by_id\": {\n                \"description\": \"The `id` value returned in the response can be used as the  `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.\",\n                \"operationId\": \"sshKeys_delete_by_id\",\n                \"parameters\": {\n                  \"ssh_key_identifier\": \"$response.body#/ssh_key/id\"\n                }\n              },\n              \"sshKeys_get_by_fingerprint\": {\n                \"description\": \"The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.\",\n                \"operationId\": \"sshKeys_get_by_fingerprint\",\n                \"parameters\": {\n                  \"ssh_key_identifier\": \"$response.body#/ssh_key/fingerprint\"\n                }\n              },\n              \"sshKeys_get_by_id\": {\n                \"description\": \"The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.\",\n                \"operationId\": \"sshKeys_get_by_id\",\n                \"parameters\": {\n                  \"ssh_key_identifier\": \"$response.body#/ssh_key/id\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing SSH Key\",\n        \"tags\": [\n          \"SSH Keys\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/account/keys/512190\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    key, _, err := client.Keys.GetByID(ctx, 512190)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.ssh_keys.find(id: 512190) \"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update the name of an SSH key, send a PUT request to either `/v2/account/keys/$SSH_KEY_ID` or `/v2/account/keys/$SSH_KEY_FINGERPRINT`. Set the `name` attribute to the new name you want to use.\",\n        \"operationId\": \"sshKeys_update\",\n        \"parameters\": [\n          {\n            \"description\": \"Either the ID or the fingerprint of an existing SSH key.\",\n            \"example\": 512189,\n            \"in\": \"path\",\n            \"name\": \"ssh_key_identifier\",\n            \"required\": true,\n            \"schema\": {\n              \"anyOf\": [\n                {\n                  \"description\": \"A unique identification number for this key. Can be used to embed a  specific SSH key into a Droplet.\",\n                  \"example\": 512189,\n                  \"readOnly\": true,\n                  \"type\": \"integer\"\n                },\n                {\n                  \"description\": \"A unique identifier that differentiates this key from other keys using  a format that SSH recognizes. The fingerprint is created when the key is added to your account.\",\n                  \"example\": \"3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa\",\n                  \"readOnly\": true,\n                  \"type\": \"string\"\n                }\n              ]\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"name\": {\n                    \"description\": \"A human-readable display name for this key, used to easily identify the SSH keys when they are displayed.\",\n                    \"example\": \"My SSH Public Key\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"description\": \"Set the `name` attribute to the new name you want to use.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"ssh_key\": {\n                      \"properties\": {\n                        \"fingerprint\": {\n                          \"description\": \"A unique identifier that differentiates this key from other keys using  a format that SSH recognizes. The fingerprint is created when the key is added to your account.\",\n                          \"example\": \"3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique identification number for this key. Can be used to embed a  specific SSH key into a Droplet.\",\n                          \"example\": 512189,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"name\": {\n                          \"description\": \"A human-readable display name for this key, used to easily identify the SSH keys when they are displayed.\",\n                          \"example\": \"My SSH Public Key\",\n                          \"type\": \"string\"\n                        },\n                        \"public_key\": {\n                          \"description\": \"The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation.\",\n                          \"example\": \"ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"public_key\",\n                        \"name\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object with the key set to `ssh_key`. The value is an `ssh_key` object containing the standard `ssh_key` attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            },\n            \"links\": {\n              \"sshKeys_delete_by_fingerprint\": {\n                \"description\": \"The `fingerprint` value returned in the response can be used as the  `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.\",\n                \"operationId\": \"ssh_keys_delete_by_fingerprint\",\n                \"parameters\": {\n                  \"ssh_key_identifier\": \"$response.body#/ssh_key/fingerprint\"\n                }\n              },\n              \"sshKeys_delete_by_id\": {\n                \"description\": \"The `id` value returned in the response can be used as the  `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.\",\n                \"operationId\": \"sshKeys_delete_by_id\",\n                \"parameters\": {\n                  \"ssh_key_identifier\": \"$response.body#/ssh_key/id\"\n                }\n              },\n              \"sshKeys_get_by_fingerprint\": {\n                \"description\": \"The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.\",\n                \"operationId\": \"sshKeys_get_by_fingerprint\",\n                \"parameters\": {\n                  \"ssh_key_identifier\": \"$response.body#/ssh_key/fingerprint\"\n                }\n              },\n              \"sshKeys_get_by_id\": {\n                \"description\": \"The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.\",\n                \"operationId\": \"sshKeys_get_by_id\",\n                \"parameters\": {\n                  \"ssh_key_identifier\": \"$response.body#/ssh_key/id\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update an SSH Key's Name\",\n        \"tags\": [\n          \"SSH Keys\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"Renamed SSH Key\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/account/keys/512190\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    updateRequest := &godo.KeyUpdateRequest{\\n        Name:      \\\"Renamed SSH Key\\\",\\n    }\\n\\n    key, _, err := client.Keys.UpdateByID(ctx, 512190, updateRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nssh_key = DropletKit::SSHKey.new(name: 'Renamed SSH Key')\\nclient.ssh_keys.update(ssh_key, id: 512190)\"\n          }\n        ]\n      }\n    },\n    \"/v2/actions\": {\n      \"get\": {\n        \"description\": \"This will be the entire list of actions taken on your account, so it will be quite large. As with any large collection returned by the API, the results will be paginated with only 20 on each page by default.\",\n        \"operationId\": \"actions_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"actions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"completed_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                                \"example\": \"2020-11-14T16:30:06Z\",\n                                \"format\": \"date-time\",\n                                \"nullable\": true,\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                                \"example\": 36804636,\n                                \"type\": \"integer\"\n                              },\n                              \"region\": {\n                                \"properties\": {\n                                  \"available\": {\n                                    \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"features\": {\n                                    \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                    \"example\": [\n                                      \"private_networking\",\n                                      \"backups\",\n                                      \"ipv6\",\n                                      \"metadata\",\n                                      \"install_agent\",\n                                      \"storage\",\n                                      \"image_transfer\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                    \"example\": \"New York 3\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"sizes\": {\n                                    \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                    \"example\": [\n                                      \"s-1vcpu-1gb\",\n                                      \"s-1vcpu-2gb\",\n                                      \"s-1vcpu-3gb\",\n                                      \"s-2vcpu-2gb\",\n                                      \"s-3vcpu-1gb\",\n                                      \"s-2vcpu-4gb\",\n                                      \"s-4vcpu-8gb\",\n                                      \"s-6vcpu-16gb\",\n                                      \"s-8vcpu-32gb\",\n                                      \"s-12vcpu-48gb\",\n                                      \"s-16vcpu-64gb\",\n                                      \"s-20vcpu-96gb\",\n                                      \"s-24vcpu-128gb\",\n                                      \"s-32vcpu-192g\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"available\",\n                                  \"features\",\n                                  \"name\",\n                                  \"sizes\",\n                                  \"slug\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"region_slug\": {\n                                \"allOf\": [\n                                  {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  },\n                                  {\n                                    \"nullable\": true,\n                                    \"type\": \"string\"\n                                  }\n                                ]\n                              },\n                              \"resource_id\": {\n                                \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                                \"example\": 3164444,\n                                \"nullable\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"resource_type\": {\n                                \"description\": \"The type of resource that the action is associated with.\",\n                                \"example\": \"droplet\",\n                                \"type\": \"string\"\n                              },\n                              \"started_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                                \"example\": \"2020-11-14T16:29:21Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"status\": {\n                                \"default\": \"in-progress\",\n                                \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                                \"enum\": [\n                                  \"in-progress\",\n                                  \"completed\",\n                                  \"errored\"\n                                ],\n                                \"example\": \"completed\",\n                                \"type\": \"string\"\n                              },\n                              \"type\": {\n                                \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                                \"example\": \"create\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"The results will be returned as a JSON object with an actions key.  This will be set to an array filled with action objects containing the standard action attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Actions\",\n        \"tags\": [\n          \"Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/actions?page=1&per_page=1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n  \\\"context\\\"\\n    \\\"os\\\"\\n\\n  \\\"github.com/digitalocean/godo\\\"\\n  )\\n\\nfunc main() {\\n  token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n  client := godo.NewFromToken(token)\\n  ctx := context.TODO()\\n\\n  opt := &godo.ListOptions{\\n      Page:    1,\\n      PerPage: 200,\\n  }\\n  actions, _, err := client.Actions.List(ctx, opt)\\n  }\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nactions = client.actions.all\\nactions.each\"\n          }\n        ]\n      }\n    },\n    \"/v2/actions/{action_id}\": {\n      \"get\": {\n        \"description\": \"To retrieve a specific action object, send a GET request to `/v2/actions/$ACTION_ID`.\",\n        \"operationId\": \"actions_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n            \"example\": 36804636,\n            \"in\": \"path\",\n            \"name\": \"action_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"action\": {\n                      \"properties\": {\n                        \"completed_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                          \"example\": \"2020-11-14T16:30:06Z\",\n                          \"format\": \"date-time\",\n                          \"nullable\": true,\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                          \"example\": 36804636,\n                          \"type\": \"integer\"\n                        },\n                        \"region\": {\n                          \"properties\": {\n                            \"available\": {\n                              \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"features\": {\n                              \"description\": \"This attribute is set to an array which contains features available in this region\",\n                              \"example\": [\n                                \"private_networking\",\n                                \"backups\",\n                                \"ipv6\",\n                                \"metadata\",\n                                \"install_agent\",\n                                \"storage\",\n                                \"image_transfer\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"name\": {\n                              \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                              \"example\": \"New York 3\",\n                              \"type\": \"string\"\n                            },\n                            \"sizes\": {\n                              \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                              \"example\": [\n                                \"s-1vcpu-1gb\",\n                                \"s-1vcpu-2gb\",\n                                \"s-1vcpu-3gb\",\n                                \"s-2vcpu-2gb\",\n                                \"s-3vcpu-1gb\",\n                                \"s-2vcpu-4gb\",\n                                \"s-4vcpu-8gb\",\n                                \"s-6vcpu-16gb\",\n                                \"s-8vcpu-32gb\",\n                                \"s-12vcpu-48gb\",\n                                \"s-16vcpu-64gb\",\n                                \"s-20vcpu-96gb\",\n                                \"s-24vcpu-128gb\",\n                                \"s-32vcpu-192g\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"slug\": {\n                              \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                              \"example\": \"nyc3\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"available\",\n                            \"features\",\n                            \"name\",\n                            \"sizes\",\n                            \"slug\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"region_slug\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                              \"example\": \"nyc3\",\n                              \"type\": \"string\"\n                            },\n                            {\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            }\n                          ]\n                        },\n                        \"resource_id\": {\n                          \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                          \"example\": 3164444,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"resource_type\": {\n                          \"description\": \"The type of resource that the action is associated with.\",\n                          \"example\": \"droplet\",\n                          \"type\": \"string\"\n                        },\n                        \"started_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                          \"example\": \"2020-11-14T16:29:21Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"default\": \"in-progress\",\n                          \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                          \"enum\": [\n                            \"in-progress\",\n                            \"completed\",\n                            \"errored\"\n                          ],\n                          \"example\": \"completed\",\n                          \"type\": \"string\"\n                        },\n                        \"type\": {\n                          \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                          \"example\": \"create\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The result will be a JSON object with an action key.  This will be set to an action object containing the standard action attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Action\",\n        \"tags\": [\n          \"Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/actions/36804636\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    action, _, err := client.Actions.Get(ctx, 36804636)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.actions.find(id: 36804636)\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps\": {\n      \"get\": {\n        \"description\": \"List all apps on your account. Information about the current active deployment as well as any in progress ones will also be included for each app.\",\n        \"operationId\": \"apps_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Whether the project_id of listed apps should be fetched and included.\",\n            \"example\": true,\n            \"in\": \"query\",\n            \"name\": \"with_projects\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"apps\": {\n                    \"value\": {\n                      \"apps\": [\n                        {\n                          \"active_deployment\": {\n                            \"created_at\": \"2020-12-01T00:40:05Z\",\n                            \"id\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                            \"phase_last_updated_at\": \"2020-12-01T00:42:12Z\",\n                            \"services\": [\n                              {\n                                \"name\": \"sample-php\",\n                                \"source_commit_hash\": \"54d4a727f457231062439895000d45437c7bb405\"\n                              }\n                            ],\n                            \"spec\": {\n                              \"domains\": [\n                                {\n                                  \"domain\": \"sample-php.example.com\",\n                                  \"minimum_tls_version\": \"1.3\",\n                                  \"type\": \"PRIMARY\",\n                                  \"zone\": \"example.com\"\n                                }\n                              ],\n                              \"name\": \"sample-php\",\n                              \"region\": \"fra\",\n                              \"services\": [\n                                {\n                                  \"environment_slug\": \"php\",\n                                  \"git\": {\n                                    \"branch\": \"main\",\n                                    \"repo_clone_url\": \"https://github.com/digitalocean/sample-php.git\"\n                                  },\n                                  \"http_port\": 8080,\n                                  \"instance_count\": 1,\n                                  \"instance_size_slug\": \"basic-xxs\",\n                                  \"name\": \"sample-php\",\n                                  \"routes\": [\n                                    {\n                                      \"path\": \"/\"\n                                    }\n                                  ],\n                                  \"run_command\": \"heroku-php-apache2\"\n                                }\n                              ]\n                            },\n                            \"updated_at\": \"2020-12-01T00:42:12Z\"\n                          },\n                          \"cause\": \"app spec updated\",\n                          \"created_at\": \"2020-11-19T20:27:18Z\",\n                          \"default_ingress\": \"https://sample-php-iaj87.ondigitalocean.app\",\n                          \"domains\": [\n                            {\n                              \"certificate_expires_at\": \"2024-01-29T23:59:59Z\",\n                              \"id\": \"0831f444-a1a7-11ed-828c-ef59494480b5\",\n                              \"phase\": \"ACTIVE\",\n                              \"progress\": {\n                                \"steps\": [\n                                  {\n                                    \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                    \"name\": \"default-ingress-ready\",\n                                    \"started_at\": \"2023-01-30T22:15:45.021896292Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                    \"name\": \"ensure-zone\",\n                                    \"started_at\": \"2023-01-30T22:15:45.022017004Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2023-01-30T15:42:28.50752065Z\",\n                                    \"name\": \"ensure-ns-records\",\n                                    \"started_at\": \"2023-01-30T22:15:45.025567874Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                    \"name\": \"verify-nameservers\",\n                                    \"started_at\": \"2023-01-30T22:15:45.033591906Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                    \"name\": \"ensure-record\",\n                                    \"started_at\": \"2023-01-30T22:15:45.156750604Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2023-01-30T15:43:30.258626422Z\",\n                                    \"name\": \"ensure-alias-record\",\n                                    \"started_at\": \"2023-01-30T22:15:45.165933869Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2023-01-30T15:43:30.258808279Z\",\n                                    \"name\": \"ensure-wildcard-record\",\n                                    \"started_at\": \"2023-01-30T22:15:45.166093422Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                    \"name\": \"verify-cname\",\n                                    \"started_at\": \"2023-01-30T22:15:45.166205559Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2023-01-30T15:43:30.475903785Z\",\n                                    \"name\": \"ensure-ssl-txt-record-saved\",\n                                    \"started_at\": \"2023-01-30T22:15:45.295237186Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2023-01-30T15:43:30.476017236Z\",\n                                    \"name\": \"ensure-ssl-txt-record\",\n                                    \"started_at\": \"2023-01-30T22:15:45.295315291Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2023-01-30T15:43:30.476094058Z\",\n                                    \"name\": \"ensure-renewal-email\",\n                                    \"started_at\": \"2023-01-30T22:15:45.295374087Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                    \"name\": \"ensure-CA-authorization\",\n                                    \"started_at\": \"2023-01-30T22:15:45.295428101Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                    \"name\": \"ensure-certificate\",\n                                    \"started_at\": \"2023-01-30T22:15:45.978756406Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2023-01-30T15:43:52.570612857Z\",\n                                    \"name\": \"create-deployment\",\n                                    \"started_at\": \"0001-01-01T00:00:00Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2023-01-30T15:43:31.333582377Z\",\n                                    \"name\": \"configuration-alert\",\n                                    \"started_at\": \"2023-01-30T22:15:46.278987808Z\",\n                                    \"status\": \"SUCCESS\"\n                                  }\n                                ]\n                              },\n                              \"rotate_validation_records\": false,\n                              \"spec\": {\n                                \"domain\": \"sample-php.example.com\",\n                                \"minimum_tls_version\": \"1.3\",\n                                \"type\": \"PRIMARY\",\n                                \"zone\": \"example.com\"\n                              }\n                            }\n                          ],\n                          \"id\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                          \"last_deployment_created_at\": \"2020-12-01T00:40:05Z\",\n                          \"live_domain\": \"sample-php.example.com\",\n                          \"live_url\": \"https://sample-php.example.com\",\n                          \"live_url_base\": \"https://sample-php.example.com\",\n                          \"owner_uuid\": \"ff36cbc6fd350fe12577f5123133bb5ba01a2419\",\n                          \"pending_deployment\": {\n                            \"created_at\": \"2020-12-01T00:40:05Z\",\n                            \"id\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                            \"phase_last_updated_at\": \"2020-12-01T00:42:12Z\",\n                            \"services\": [\n                              {\n                                \"name\": \"sample-php\",\n                                \"source_commit_hash\": \"54d4a727f457231062439895000d45437c7bb405\"\n                              }\n                            ],\n                            \"spec\": {\n                              \"domains\": [\n                                {\n                                  \"domain\": \"sample-php.example.com\",\n                                  \"minimum_tls_version\": \"1.3\",\n                                  \"type\": \"PRIMARY\",\n                                  \"zone\": \"example.com\"\n                                }\n                              ],\n                              \"name\": \"sample-php\",\n                              \"region\": \"fra\",\n                              \"services\": [\n                                {\n                                  \"environment_slug\": \"php\",\n                                  \"git\": {\n                                    \"branch\": \"main\",\n                                    \"repo_clone_url\": \"https://github.com/digitalocean/sample-php.git\"\n                                  },\n                                  \"http_port\": 8080,\n                                  \"instance_count\": 1,\n                                  \"instance_size_slug\": \"basic-xxs\",\n                                  \"name\": \"sample-php\",\n                                  \"routes\": [\n                                    {\n                                      \"path\": \"/\"\n                                    }\n                                  ],\n                                  \"run_command\": \"heroku-php-apache2\"\n                                }\n                              ]\n                            },\n                            \"updated_at\": \"2020-12-01T00:42:12Z\"\n                          },\n                          \"progress\": {\n                            \"phase\": \"ACTIVE\",\n                            \"steps\": [\n                              {\n                                \"ended_at\": \"2020-12-01T00:41:26.653989756Z\",\n                                \"name\": \"build\",\n                                \"started_at\": \"2020-12-01T00:40:11.979257919Z\",\n                                \"status\": \"SUCCESS\",\n                                \"steps\": [\n                                  {\n                                    \"ended_at\": \"2020-12-01T00:40:12.470972033Z\",\n                                    \"name\": \"initialize\",\n                                    \"started_at\": \"2020-12-01T00:40:11.979305214Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2020-12-01T00:41:26.180360487Z\",\n                                    \"name\": \"components\",\n                                    \"started_at\": \"2020-12-01T00:40:12.470996857Z\",\n                                    \"status\": \"SUCCESS\",\n                                    \"steps\": [\n                                      {\n                                        \"component_name\": \"sample-php\",\n                                        \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                        \"message_base\": \"Building service\",\n                                        \"name\": \"sample-php\",\n                                        \"started_at\": \"0001-01-01T00:00:00Z\",\n                                        \"status\": \"SUCCESS\"\n                                      }\n                                    ]\n                                  }\n                                ]\n                              }\n                            ],\n                            \"success_steps\": 6,\n                            \"tier_slug\": \"basic\",\n                            \"total_steps\": 6\n                          },\n                          \"region\": {\n                            \"continent\": \"Europe\",\n                            \"data_centers\": [\n                              \"fra1\"\n                            ],\n                            \"flag\": \"germany\",\n                            \"label\": \"Frankfurt\",\n                            \"slug\": \"fra\"\n                          },\n                          \"spec\": {\n                            \"domains\": [\n                              {\n                                \"domain\": \"sample-php.example.com\",\n                                \"minimum_tls_version\": \"1.3\",\n                                \"type\": \"PRIMARY\",\n                                \"zone\": \"example.com\"\n                              }\n                            ],\n                            \"name\": \"sample-php\",\n                            \"services\": [\n                              {\n                                \"environment_slug\": \"php\",\n                                \"git\": {\n                                  \"branch\": \"main\",\n                                  \"repo_clone_url\": \"https://github.com/digitalocean/sample-php.git\"\n                                },\n                                \"http_port\": 8080,\n                                \"instance_count\": 1,\n                                \"instance_size_slug\": \"basic-xxs\",\n                                \"name\": \"sample-php\",\n                                \"routes\": [\n                                  {\n                                    \"path\": \"/\"\n                                  }\n                                ],\n                                \"run_command\": \"heroku-php-apache2\"\n                              }\n                            ]\n                          },\n                          \"tier_slug\": \"basic\",\n                          \"updated_at\": \"2020-12-01T00:42:16Z\"\n                        }\n                      ],\n                      \"links\": {\n                        \"pages\": {}\n                      },\n                      \"meta\": {\n                        \"total\": 1\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"apps\": {\n                          \"items\": {\n                            \"description\": \"An application's configuration and status.\",\n                            \"properties\": {\n                              \"active_deployment\": {\n                                \"properties\": {\n                                  \"cause\": {\n                                    \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                                    \"title\": \"What caused this deployment to be created\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"cloned_from\": {\n                                    \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                                    \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"created_at\": {\n                                    \"example\": \"2020-07-28T18:00:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The creation time of the deployment\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"functions\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"name\": {\n                                          \"example\": \"my-functions-component\",\n                                          \"title\": \"The name of this functions component\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"namespace\": {\n                                          \"description\": \"The namespace where the functions are deployed.\",\n                                          \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"source_commit_hash\": {\n                                          \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                          \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Functions components that are part of this deployment\",\n                                    \"type\": \"array\"\n                                  },\n                                  \"id\": {\n                                    \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                                    \"title\": \"The ID of the deployment\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"jobs\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"name\": {\n                                          \"example\": \"migrate-db\",\n                                          \"title\": \"The name of this job\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"source_commit_hash\": {\n                                          \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                          \"title\": \"The commit hash of the repository that was used to build this job\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Job components that are part of this deployment\",\n                                    \"type\": \"array\"\n                                  },\n                                  \"phase\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING_BUILD\",\n                                      \"BUILDING\",\n                                      \"PENDING_DEPLOY\",\n                                      \"DEPLOYING\",\n                                      \"ACTIVE\",\n                                      \"SUPERSEDED\",\n                                      \"ERROR\",\n                                      \"CANCELED\"\n                                    ],\n                                    \"example\": \"ACTIVE\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"phase_last_updated_at\": {\n                                    \"example\": \"0001-01-01T00:00:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"When the deployment phase was last updated\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"progress\": {\n                                    \"properties\": {\n                                      \"error_steps\": {\n                                        \"example\": 3,\n                                        \"format\": \"int32\",\n                                        \"title\": \"Number of unsuccessful steps\",\n                                        \"type\": \"integer\"\n                                      },\n                                      \"pending_steps\": {\n                                        \"example\": 2,\n                                        \"format\": \"int32\",\n                                        \"title\": \"Number of pending steps\",\n                                        \"type\": \"integer\"\n                                      },\n                                      \"running_steps\": {\n                                        \"example\": 2,\n                                        \"format\": \"int32\",\n                                        \"title\": \"Number of currently running steps\",\n                                        \"type\": \"integer\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"component_name\": {\n                                              \"example\": \"component\",\n                                              \"title\": \"The component name that this step is associated with\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"ended_at\": {\n                                              \"example\": \"2020-11-19T20:27:18Z\",\n                                              \"format\": \"date-time\",\n                                              \"title\": \"The end time of this step\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"message_base\": {\n                                              \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                              \"example\": \"Building service\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"name\": {\n                                              \"example\": \"example_step\",\n                                              \"title\": \"The name of this step\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"reason\": {\n                                              \"properties\": {\n                                                \"code\": {\n                                                  \"example\": \"Title of Error\",\n                                                  \"title\": \"The error code\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"message\": {\n                                                  \"example\": \"This is an error\",\n                                                  \"title\": \"The error message\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"started_at\": {\n                                              \"example\": \"2020-11-19T20:27:18Z\",\n                                              \"format\": \"date-time\",\n                                              \"title\": \"The start time of this step\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"status\": {\n                                              \"default\": \"UNKNOWN\",\n                                              \"enum\": [\n                                                \"UNKNOWN\",\n                                                \"PENDING\",\n                                                \"RUNNING\",\n                                                \"ERROR\",\n                                                \"SUCCESS\"\n                                              ],\n                                              \"example\": \"SUCCESS\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"steps\": {\n                                              \"items\": {\n                                                \"type\": \"object\"\n                                              },\n                                              \"title\": \"Child steps of this step\",\n                                              \"type\": \"array\"\n                                            }\n                                          },\n                                          \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"The deployment's steps\",\n                                        \"type\": \"array\"\n                                      },\n                                      \"success_steps\": {\n                                        \"example\": 4,\n                                        \"format\": \"int32\",\n                                        \"title\": \"Number of successful steps\",\n                                        \"type\": \"integer\"\n                                      },\n                                      \"summary_steps\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"component_name\": {\n                                              \"example\": \"component\",\n                                              \"title\": \"The component name that this step is associated with\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"ended_at\": {\n                                              \"example\": \"2020-11-19T20:27:18Z\",\n                                              \"format\": \"date-time\",\n                                              \"title\": \"The end time of this step\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"message_base\": {\n                                              \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                              \"example\": \"Building service\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"name\": {\n                                              \"example\": \"example_step\",\n                                              \"title\": \"The name of this step\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"reason\": {\n                                              \"properties\": {\n                                                \"code\": {\n                                                  \"example\": \"Title of Error\",\n                                                  \"title\": \"The error code\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"message\": {\n                                                  \"example\": \"This is an error\",\n                                                  \"title\": \"The error message\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"started_at\": {\n                                              \"example\": \"2020-11-19T20:27:18Z\",\n                                              \"format\": \"date-time\",\n                                              \"title\": \"The start time of this step\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"status\": {\n                                              \"default\": \"UNKNOWN\",\n                                              \"enum\": [\n                                                \"UNKNOWN\",\n                                                \"PENDING\",\n                                                \"RUNNING\",\n                                                \"ERROR\",\n                                                \"SUCCESS\"\n                                              ],\n                                              \"example\": \"SUCCESS\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"steps\": {\n                                              \"items\": {\n                                                \"type\": \"object\"\n                                              },\n                                              \"title\": \"Child steps of this step\",\n                                              \"type\": \"array\"\n                                            }\n                                          },\n                                          \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"A flattened summary of the steps\",\n                                        \"type\": \"array\"\n                                      },\n                                      \"total_steps\": {\n                                        \"example\": 5,\n                                        \"format\": \"int32\",\n                                        \"title\": \"Total number of steps\",\n                                        \"type\": \"integer\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"services\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"name\": {\n                                          \"example\": \"web\",\n                                          \"title\": \"The name of this service\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"source_commit_hash\": {\n                                          \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                          \"title\": \"The commit hash of the repository that was used to build this service\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Service components that are part of this deployment\",\n                                    \"type\": \"array\"\n                                  },\n                                  \"spec\": {\n                                    \"description\": \"The desired configuration of an application.\",\n                                    \"properties\": {\n                                      \"databases\": {\n                                        \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"cluster_name\": {\n                                              \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                              \"example\": \"cluster_name\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"db_name\": {\n                                              \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                              \"example\": \"my_db\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"db_user\": {\n                                              \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                              \"example\": \"superuser\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"engine\": {\n                                              \"default\": \"UNSET\",\n                                              \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"MYSQL\",\n                                                \"PG\",\n                                                \"REDIS\"\n                                              ],\n                                              \"example\": \"PG\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"name\": {\n                                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                                              \"example\": \"prod-db\",\n                                              \"maxLength\": 32,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"production\": {\n                                              \"description\": \"Whether this is a production or dev database.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"version\": {\n                                              \"description\": \"The version of the database engine\",\n                                              \"example\": \"12\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"name\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"domains\": {\n                                        \"description\": \"A set of hostnames where the application will be available.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"domain\": {\n                                              \"description\": \"The hostname for the domain\",\n                                              \"example\": \"app.example.com\",\n                                              \"maxLength\": 253,\n                                              \"minLength\": 4,\n                                              \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"minimum_tls_version\": {\n                                              \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                              \"enum\": [\n                                                \"1.2\",\n                                                \"1.3\"\n                                              ],\n                                              \"example\": \"1.3\",\n                                              \"maxLength\": 3,\n                                              \"minLength\": 3,\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"UNSPECIFIED\",\n                                              \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED\",\n                                                \"DEFAULT\",\n                                                \"PRIMARY\",\n                                                \"ALIAS\"\n                                              ],\n                                              \"example\": \"DEFAULT\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"wildcard\": {\n                                              \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"zone\": {\n                                              \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                              \"example\": \"example.com\",\n                                              \"format\": \"hostname\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"domain\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"functions\": {\n                                        \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"alerts\": {\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"disabled\": {\n                                                    \"description\": \"Is the alert disabled?\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"operator\": {\n                                                    \"default\": \"UNSPECIFIED_OPERATOR\",\n                                                    \"enum\": [\n                                                      \"UNSPECIFIED_OPERATOR\",\n                                                      \"GREATER_THAN\",\n                                                      \"LESS_THAN\"\n                                                    ],\n                                                    \"example\": \"GREATER_THAN\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"rule\": {\n                                                    \"default\": \"UNSPECIFIED_RULE\",\n                                                    \"enum\": [\n                                                      \"UNSPECIFIED_RULE\",\n                                                      \"CPU_UTILIZATION\",\n                                                      \"MEM_UTILIZATION\",\n                                                      \"RESTART_COUNT\",\n                                                      \"DEPLOYMENT_FAILED\",\n                                                      \"DEPLOYMENT_LIVE\",\n                                                      \"DOMAIN_FAILED\",\n                                                      \"DOMAIN_LIVE\",\n                                                      \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                      \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                      \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                      \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                      \"FUNCTIONS_ERROR_COUNT\",\n                                                      \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                                    ],\n                                                    \"example\": \"CPU_UTILIZATION\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"value\": {\n                                                    \"description\": \"Threshold value for alert\",\n                                                    \"example\": 2.32,\n                                                    \"format\": \"float\",\n                                                    \"type\": \"number\"\n                                                  },\n                                                  \"window\": {\n                                                    \"default\": \"UNSPECIFIED_WINDOW\",\n                                                    \"enum\": [\n                                                      \"UNSPECIFIED_WINDOW\",\n                                                      \"FIVE_MINUTES\",\n                                                      \"TEN_MINUTES\",\n                                                      \"THIRTY_MINUTES\",\n                                                      \"ONE_HOUR\"\n                                                    ],\n                                                    \"example\": \"FIVE_MINUTES\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"cors\": {\n                                              \"properties\": {\n                                                \"allow_credentials\": {\n                                                  \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                  \"example\": false,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"allow_headers\": {\n                                                  \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                  \"example\": [\n                                                    \"Content-Type\",\n                                                    \"X-Custom-Header\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"allow_methods\": {\n                                                  \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                  \"example\": [\n                                                    \"GET\",\n                                                    \"OPTIONS\",\n                                                    \"POST\",\n                                                    \"PUT\",\n                                                    \"PATCH\",\n                                                    \"DELETE\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"allow_origins\": {\n                                                  \"description\": \"The set of allowed CORS origins.\",\n                                                  \"example\": [\n                                                    {\n                                                      \"exact\": \"https://www.example.com\"\n                                                    },\n                                                    {\n                                                      \"regex\": \"^.*example.com\"\n                                                    }\n                                                  ],\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"exact\": {\n                                                        \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                        \"example\": \"https://www.example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"prefix\": {\n                                                        \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                        \"example\": \"https://www.example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"regex\": {\n                                                        \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                        \"example\": \"^.*example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"expose_headers\": {\n                                                  \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                  \"example\": [\n                                                    \"Content-Encoding\",\n                                                    \"X-Custom-Header\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"max_age\": {\n                                                  \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                  \"example\": \"5h30m\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"envs\": {\n                                              \"description\": \"A list of environment variables made available to the component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"key\": {\n                                                    \"description\": \"The variable name\",\n                                                    \"example\": \"BASE_URL\",\n                                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"scope\": {\n                                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                    \"enum\": [\n                                                      \"UNSET\",\n                                                      \"RUN_TIME\",\n                                                      \"BUILD_TIME\",\n                                                      \"RUN_AND_BUILD_TIME\"\n                                                    ],\n                                                    \"example\": \"BUILD_TIME\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": {\n                                                    \"default\": \"GENERAL\",\n                                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                    \"enum\": [\n                                                      \"GENERAL\",\n                                                      \"SECRET\"\n                                                    ],\n                                                    \"example\": \"GENERAL\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"value\": {\n                                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                    \"example\": \"http://example.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"git\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repo_clone_url\": {\n                                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"github\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"gitlab\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"log_destinations\": {\n                                              \"properties\": {\n                                                \"datadog\": {\n                                                  \"description\": \"DataDog configuration.\",\n                                                  \"properties\": {\n                                                    \"api_key\": {\n                                                      \"description\": \"Datadog API key.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"endpoint\": {\n                                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                      \"example\": \"https://mydatadogendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"api_key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"logtail\": {\n                                                  \"description\": \"Logtail configuration.\",\n                                                  \"properties\": {\n                                                    \"token\": {\n                                                      \"description\": \"Logtail token.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"my_log_destination\",\n                                                  \"maxLength\": 42,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"papertrail\": {\n                                                  \"description\": \"Papertrail configuration.\",\n                                                  \"properties\": {\n                                                    \"endpoint\": {\n                                                      \"description\": \"Papertrail syslog endpoint.\",\n                                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"title\": \"Configurations for external logging.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"name\": {\n                                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                                              \"example\": \"api\",\n                                              \"maxLength\": 32,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"routes\": {\n                                              \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"path\": {\n                                                    \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                    \"example\": \"/api\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"preserve_path_prefix\": {\n                                                    \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  }\n                                                },\n                                                \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"source_dir\": {\n                                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                              \"example\": \"path/to/dir\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"name\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"jobs\": {\n                                        \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                        \"items\": {\n                                          \"allOf\": [\n                                            {\n                                              \"properties\": {\n                                                \"build_command\": {\n                                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                                  \"example\": \"npm run build\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"dockerfile_path\": {\n                                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                  \"example\": \"path/to/Dockerfile\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"environment_slug\": {\n                                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                  \"example\": \"node-js\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"envs\": {\n                                                  \"description\": \"A list of environment variables made available to the component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"key\": {\n                                                        \"description\": \"The variable name\",\n                                                        \"example\": \"BASE_URL\",\n                                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"scope\": {\n                                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                        \"enum\": [\n                                                          \"UNSET\",\n                                                          \"RUN_TIME\",\n                                                          \"BUILD_TIME\",\n                                                          \"RUN_AND_BUILD_TIME\"\n                                                        ],\n                                                        \"example\": \"BUILD_TIME\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": {\n                                                        \"default\": \"GENERAL\",\n                                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                        \"enum\": [\n                                                          \"GENERAL\",\n                                                          \"SECRET\"\n                                                        ],\n                                                        \"example\": \"GENERAL\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"value\": {\n                                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                        \"example\": \"http://example.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"git\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repo_clone_url\": {\n                                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"github\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"gitlab\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"image\": {\n                                                  \"properties\": {\n                                                    \"registry\": {\n                                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                      \"example\": \"registry.hub.docker.com\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"registry_type\": {\n                                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                      \"enum\": [\n                                                        \"DOCKER_HUB\",\n                                                        \"DOCR\"\n                                                      ],\n                                                      \"example\": \"DOCR\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repository\": {\n                                                      \"description\": \"The repository name.\",\n                                                      \"example\": \"origin/master\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"tag\": {\n                                                      \"default\": \"latest\",\n                                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                      \"example\": \"latest\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"log_destinations\": {\n                                                  \"properties\": {\n                                                    \"datadog\": {\n                                                      \"description\": \"DataDog configuration.\",\n                                                      \"properties\": {\n                                                        \"api_key\": {\n                                                          \"description\": \"Datadog API key.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"endpoint\": {\n                                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                          \"example\": \"https://mydatadogendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"api_key\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"logtail\": {\n                                                      \"description\": \"Logtail configuration.\",\n                                                      \"properties\": {\n                                                        \"token\": {\n                                                          \"description\": \"Logtail token.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"example\": \"my_log_destination\",\n                                                      \"maxLength\": 42,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"papertrail\": {\n                                                      \"description\": \"Papertrail configuration.\",\n                                                      \"properties\": {\n                                                        \"endpoint\": {\n                                                          \"description\": \"Papertrail syslog endpoint.\",\n                                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"title\": \"Configurations for external logging.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                  \"example\": \"api\",\n                                                  \"maxLength\": 32,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"run_command\": {\n                                                  \"description\": \"An optional run command to override the component's default.\",\n                                                  \"example\": \"bin/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"source_dir\": {\n                                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                  \"example\": \"path/to/dir\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            {\n                                              \"properties\": {\n                                                \"instance_count\": {\n                                                  \"default\": 1,\n                                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                  \"example\": 2,\n                                                  \"format\": \"int64\",\n                                                  \"minimum\": 1,\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"instance_size_slug\": {\n                                                  \"default\": \"basic-xxs\",\n                                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                  \"enum\": [\n                                                    \"basic-xxs\",\n                                                    \"basic-xs\",\n                                                    \"basic-s\",\n                                                    \"basic-m\",\n                                                    \"professional-xs\",\n                                                    \"professional-s\",\n                                                    \"professional-m\",\n                                                    \"professional-1l\",\n                                                    \"professional-l\",\n                                                    \"professional-xl\"\n                                                  ],\n                                                  \"example\": \"basic-xxs\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            {\n                                              \"properties\": {\n                                                \"kind\": {\n                                                  \"default\": \"UNSPECIFIED\",\n                                                  \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED\",\n                                                    \"PRE_DEPLOY\",\n                                                    \"POST_DEPLOY\",\n                                                    \"FAILED_DEPLOY\"\n                                                  ],\n                                                  \"example\": \"PRE_DEPLOY\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"type\": \"object\"\n                                            }\n                                          ]\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                        \"example\": \"web-app-01\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"region\": {\n                                        \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                        \"enum\": [\n                                          \"ams\",\n                                          \"nyc\",\n                                          \"fra\",\n                                          \"sfo\",\n                                          \"sgp\",\n                                          \"blr\",\n                                          \"tor\",\n                                          \"lon\",\n                                          \"syd\"\n                                        ],\n                                        \"example\": \"nyc\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"services\": {\n                                        \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                        \"items\": {\n                                          \"allOf\": [\n                                            {\n                                              \"properties\": {\n                                                \"build_command\": {\n                                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                                  \"example\": \"npm run build\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"dockerfile_path\": {\n                                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                  \"example\": \"path/to/Dockerfile\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"environment_slug\": {\n                                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                  \"example\": \"node-js\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"envs\": {\n                                                  \"description\": \"A list of environment variables made available to the component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"key\": {\n                                                        \"description\": \"The variable name\",\n                                                        \"example\": \"BASE_URL\",\n                                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"scope\": {\n                                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                        \"enum\": [\n                                                          \"UNSET\",\n                                                          \"RUN_TIME\",\n                                                          \"BUILD_TIME\",\n                                                          \"RUN_AND_BUILD_TIME\"\n                                                        ],\n                                                        \"example\": \"BUILD_TIME\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": {\n                                                        \"default\": \"GENERAL\",\n                                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                        \"enum\": [\n                                                          \"GENERAL\",\n                                                          \"SECRET\"\n                                                        ],\n                                                        \"example\": \"GENERAL\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"value\": {\n                                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                        \"example\": \"http://example.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"git\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repo_clone_url\": {\n                                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"github\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"gitlab\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"image\": {\n                                                  \"properties\": {\n                                                    \"registry\": {\n                                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                      \"example\": \"registry.hub.docker.com\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"registry_type\": {\n                                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                      \"enum\": [\n                                                        \"DOCKER_HUB\",\n                                                        \"DOCR\"\n                                                      ],\n                                                      \"example\": \"DOCR\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repository\": {\n                                                      \"description\": \"The repository name.\",\n                                                      \"example\": \"origin/master\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"tag\": {\n                                                      \"default\": \"latest\",\n                                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                      \"example\": \"latest\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"log_destinations\": {\n                                                  \"properties\": {\n                                                    \"datadog\": {\n                                                      \"description\": \"DataDog configuration.\",\n                                                      \"properties\": {\n                                                        \"api_key\": {\n                                                          \"description\": \"Datadog API key.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"endpoint\": {\n                                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                          \"example\": \"https://mydatadogendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"api_key\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"logtail\": {\n                                                      \"description\": \"Logtail configuration.\",\n                                                      \"properties\": {\n                                                        \"token\": {\n                                                          \"description\": \"Logtail token.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"example\": \"my_log_destination\",\n                                                      \"maxLength\": 42,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"papertrail\": {\n                                                      \"description\": \"Papertrail configuration.\",\n                                                      \"properties\": {\n                                                        \"endpoint\": {\n                                                          \"description\": \"Papertrail syslog endpoint.\",\n                                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"title\": \"Configurations for external logging.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                  \"example\": \"api\",\n                                                  \"maxLength\": 32,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"run_command\": {\n                                                  \"description\": \"An optional run command to override the component's default.\",\n                                                  \"example\": \"bin/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"source_dir\": {\n                                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                  \"example\": \"path/to/dir\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            {\n                                              \"properties\": {\n                                                \"instance_count\": {\n                                                  \"default\": 1,\n                                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                  \"example\": 2,\n                                                  \"format\": \"int64\",\n                                                  \"minimum\": 1,\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"instance_size_slug\": {\n                                                  \"default\": \"basic-xxs\",\n                                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                  \"enum\": [\n                                                    \"basic-xxs\",\n                                                    \"basic-xs\",\n                                                    \"basic-s\",\n                                                    \"basic-m\",\n                                                    \"professional-xs\",\n                                                    \"professional-s\",\n                                                    \"professional-m\",\n                                                    \"professional-1l\",\n                                                    \"professional-l\",\n                                                    \"professional-xl\"\n                                                  ],\n                                                  \"example\": \"basic-xxs\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            {\n                                              \"properties\": {\n                                                \"cors\": {\n                                                  \"properties\": {\n                                                    \"allow_credentials\": {\n                                                      \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                      \"example\": false,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"allow_headers\": {\n                                                      \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                      \"example\": [\n                                                        \"Content-Type\",\n                                                        \"X-Custom-Header\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"allow_methods\": {\n                                                      \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                      \"example\": [\n                                                        \"GET\",\n                                                        \"OPTIONS\",\n                                                        \"POST\",\n                                                        \"PUT\",\n                                                        \"PATCH\",\n                                                        \"DELETE\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"allow_origins\": {\n                                                      \"description\": \"The set of allowed CORS origins.\",\n                                                      \"example\": [\n                                                        {\n                                                          \"exact\": \"https://www.example.com\"\n                                                        },\n                                                        {\n                                                          \"regex\": \"^.*example.com\"\n                                                        }\n                                                      ],\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"exact\": {\n                                                            \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                            \"example\": \"https://www.example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"prefix\": {\n                                                            \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                            \"example\": \"https://www.example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"regex\": {\n                                                            \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                            \"example\": \"^.*example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"expose_headers\": {\n                                                      \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                      \"example\": [\n                                                        \"Content-Encoding\",\n                                                        \"X-Custom-Header\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"max_age\": {\n                                                      \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                      \"example\": \"5h30m\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"health_check\": {\n                                                  \"properties\": {\n                                                    \"failure_threshold\": {\n                                                      \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                      \"example\": 2,\n                                                      \"format\": \"int32\",\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"http_path\": {\n                                                      \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                      \"example\": \"/health\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"initial_delay_seconds\": {\n                                                      \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                      \"example\": 30,\n                                                      \"format\": \"int32\",\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"period_seconds\": {\n                                                      \"description\": \"The number of seconds to wait between health checks.\",\n                                                      \"example\": 60,\n                                                      \"format\": \"int32\",\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"port\": {\n                                                      \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                      \"example\": 80,\n                                                      \"format\": \"int64\",\n                                                      \"maximum\": 65535,\n                                                      \"minimum\": 1,\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"success_threshold\": {\n                                                      \"description\": \"The number of successful health checks before considered healthy.\",\n                                                      \"example\": 3,\n                                                      \"format\": \"int32\",\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"timeout_seconds\": {\n                                                      \"description\": \"The number of seconds after which the check times out.\",\n                                                      \"example\": 45,\n                                                      \"format\": \"int32\",\n                                                      \"type\": \"integer\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"http_port\": {\n                                                  \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                                  \"example\": 3000,\n                                                  \"format\": \"int64\",\n                                                  \"maximum\": 65535,\n                                                  \"minimum\": 1,\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"internal_ports\": {\n                                                  \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                                  \"example\": [\n                                                    80,\n                                                    443\n                                                  ],\n                                                  \"items\": {\n                                                    \"format\": \"int64\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"routes\": {\n                                                  \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"path\": {\n                                                        \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                        \"example\": \"/api\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"preserve_path_prefix\": {\n                                                        \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                        \"example\": true,\n                                                        \"type\": \"boolean\"\n                                                      }\n                                                    },\n                                                    \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"type\": \"object\"\n                                            }\n                                          ]\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"static_sites\": {\n                                        \"description\": \"Content which can be rendered to static web assets.\",\n                                        \"items\": {\n                                          \"allOf\": [\n                                            {\n                                              \"properties\": {\n                                                \"build_command\": {\n                                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                                  \"example\": \"npm run build\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"dockerfile_path\": {\n                                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                  \"example\": \"path/to/Dockerfile\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"environment_slug\": {\n                                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                  \"example\": \"node-js\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"envs\": {\n                                                  \"description\": \"A list of environment variables made available to the component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"key\": {\n                                                        \"description\": \"The variable name\",\n                                                        \"example\": \"BASE_URL\",\n                                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"scope\": {\n                                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                        \"enum\": [\n                                                          \"UNSET\",\n                                                          \"RUN_TIME\",\n                                                          \"BUILD_TIME\",\n                                                          \"RUN_AND_BUILD_TIME\"\n                                                        ],\n                                                        \"example\": \"BUILD_TIME\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": {\n                                                        \"default\": \"GENERAL\",\n                                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                        \"enum\": [\n                                                          \"GENERAL\",\n                                                          \"SECRET\"\n                                                        ],\n                                                        \"example\": \"GENERAL\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"value\": {\n                                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                        \"example\": \"http://example.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"git\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repo_clone_url\": {\n                                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"github\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"gitlab\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"image\": {\n                                                  \"properties\": {\n                                                    \"registry\": {\n                                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                      \"example\": \"registry.hub.docker.com\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"registry_type\": {\n                                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                      \"enum\": [\n                                                        \"DOCKER_HUB\",\n                                                        \"DOCR\"\n                                                      ],\n                                                      \"example\": \"DOCR\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repository\": {\n                                                      \"description\": \"The repository name.\",\n                                                      \"example\": \"origin/master\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"tag\": {\n                                                      \"default\": \"latest\",\n                                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                      \"example\": \"latest\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"log_destinations\": {\n                                                  \"properties\": {\n                                                    \"datadog\": {\n                                                      \"description\": \"DataDog configuration.\",\n                                                      \"properties\": {\n                                                        \"api_key\": {\n                                                          \"description\": \"Datadog API key.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"endpoint\": {\n                                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                          \"example\": \"https://mydatadogendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"api_key\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"logtail\": {\n                                                      \"description\": \"Logtail configuration.\",\n                                                      \"properties\": {\n                                                        \"token\": {\n                                                          \"description\": \"Logtail token.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"example\": \"my_log_destination\",\n                                                      \"maxLength\": 42,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"papertrail\": {\n                                                      \"description\": \"Papertrail configuration.\",\n                                                      \"properties\": {\n                                                        \"endpoint\": {\n                                                          \"description\": \"Papertrail syslog endpoint.\",\n                                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"title\": \"Configurations for external logging.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                  \"example\": \"api\",\n                                                  \"maxLength\": 32,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"run_command\": {\n                                                  \"description\": \"An optional run command to override the component's default.\",\n                                                  \"example\": \"bin/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"source_dir\": {\n                                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                  \"example\": \"path/to/dir\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            {\n                                              \"properties\": {\n                                                \"catchall_document\": {\n                                                  \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                                  \"example\": \"index.html\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"cors\": {\n                                                  \"properties\": {\n                                                    \"allow_credentials\": {\n                                                      \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                      \"example\": false,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"allow_headers\": {\n                                                      \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                      \"example\": [\n                                                        \"Content-Type\",\n                                                        \"X-Custom-Header\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"allow_methods\": {\n                                                      \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                      \"example\": [\n                                                        \"GET\",\n                                                        \"OPTIONS\",\n                                                        \"POST\",\n                                                        \"PUT\",\n                                                        \"PATCH\",\n                                                        \"DELETE\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"allow_origins\": {\n                                                      \"description\": \"The set of allowed CORS origins.\",\n                                                      \"example\": [\n                                                        {\n                                                          \"exact\": \"https://www.example.com\"\n                                                        },\n                                                        {\n                                                          \"regex\": \"^.*example.com\"\n                                                        }\n                                                      ],\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"exact\": {\n                                                            \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                            \"example\": \"https://www.example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"prefix\": {\n                                                            \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                            \"example\": \"https://www.example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"regex\": {\n                                                            \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                            \"example\": \"^.*example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"expose_headers\": {\n                                                      \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                      \"example\": [\n                                                        \"Content-Encoding\",\n                                                        \"X-Custom-Header\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"max_age\": {\n                                                      \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                      \"example\": \"5h30m\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"error_document\": {\n                                                  \"default\": \"404.html\",\n                                                  \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                                  \"example\": \"error.html\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"index_document\": {\n                                                  \"default\": \"index.html\",\n                                                  \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                                  \"example\": \"main.html\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"output_dir\": {\n                                                  \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                                  \"example\": \"dist/\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"routes\": {\n                                                  \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"path\": {\n                                                        \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                        \"example\": \"/api\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"preserve_path_prefix\": {\n                                                        \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                        \"example\": true,\n                                                        \"type\": \"boolean\"\n                                                      }\n                                                    },\n                                                    \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            }\n                                          ],\n                                          \"required\": [\n                                            \"name\"\n                                          ]\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"workers\": {\n                                        \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                        \"items\": {\n                                          \"allOf\": [\n                                            {\n                                              \"properties\": {\n                                                \"build_command\": {\n                                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                                  \"example\": \"npm run build\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"dockerfile_path\": {\n                                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                  \"example\": \"path/to/Dockerfile\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"environment_slug\": {\n                                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                  \"example\": \"node-js\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"envs\": {\n                                                  \"description\": \"A list of environment variables made available to the component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"key\": {\n                                                        \"description\": \"The variable name\",\n                                                        \"example\": \"BASE_URL\",\n                                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"scope\": {\n                                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                        \"enum\": [\n                                                          \"UNSET\",\n                                                          \"RUN_TIME\",\n                                                          \"BUILD_TIME\",\n                                                          \"RUN_AND_BUILD_TIME\"\n                                                        ],\n                                                        \"example\": \"BUILD_TIME\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": {\n                                                        \"default\": \"GENERAL\",\n                                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                        \"enum\": [\n                                                          \"GENERAL\",\n                                                          \"SECRET\"\n                                                        ],\n                                                        \"example\": \"GENERAL\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"value\": {\n                                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                        \"example\": \"http://example.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"git\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repo_clone_url\": {\n                                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"github\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"gitlab\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"image\": {\n                                                  \"properties\": {\n                                                    \"registry\": {\n                                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                      \"example\": \"registry.hub.docker.com\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"registry_type\": {\n                                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                      \"enum\": [\n                                                        \"DOCKER_HUB\",\n                                                        \"DOCR\"\n                                                      ],\n                                                      \"example\": \"DOCR\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repository\": {\n                                                      \"description\": \"The repository name.\",\n                                                      \"example\": \"origin/master\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"tag\": {\n                                                      \"default\": \"latest\",\n                                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                      \"example\": \"latest\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"log_destinations\": {\n                                                  \"properties\": {\n                                                    \"datadog\": {\n                                                      \"description\": \"DataDog configuration.\",\n                                                      \"properties\": {\n                                                        \"api_key\": {\n                                                          \"description\": \"Datadog API key.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"endpoint\": {\n                                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                          \"example\": \"https://mydatadogendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"api_key\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"logtail\": {\n                                                      \"description\": \"Logtail configuration.\",\n                                                      \"properties\": {\n                                                        \"token\": {\n                                                          \"description\": \"Logtail token.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"example\": \"my_log_destination\",\n                                                      \"maxLength\": 42,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"papertrail\": {\n                                                      \"description\": \"Papertrail configuration.\",\n                                                      \"properties\": {\n                                                        \"endpoint\": {\n                                                          \"description\": \"Papertrail syslog endpoint.\",\n                                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"title\": \"Configurations for external logging.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                  \"example\": \"api\",\n                                                  \"maxLength\": 32,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"run_command\": {\n                                                  \"description\": \"An optional run command to override the component's default.\",\n                                                  \"example\": \"bin/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"source_dir\": {\n                                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                  \"example\": \"path/to/dir\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            {\n                                              \"properties\": {\n                                                \"instance_count\": {\n                                                  \"default\": 1,\n                                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                  \"example\": 2,\n                                                  \"format\": \"int64\",\n                                                  \"minimum\": 1,\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"instance_size_slug\": {\n                                                  \"default\": \"basic-xxs\",\n                                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                  \"enum\": [\n                                                    \"basic-xxs\",\n                                                    \"basic-xs\",\n                                                    \"basic-s\",\n                                                    \"basic-m\",\n                                                    \"professional-xs\",\n                                                    \"professional-s\",\n                                                    \"professional-m\",\n                                                    \"professional-1l\",\n                                                    \"professional-l\",\n                                                    \"professional-xl\"\n                                                  ],\n                                                  \"example\": \"basic-xxs\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            }\n                                          ],\n                                          \"required\": [\n                                            \"name\"\n                                          ]\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"AppSpec\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"static_sites\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"name\": {\n                                          \"example\": \"web\",\n                                          \"title\": \"The name of this static site\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"source_commit_hash\": {\n                                          \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                          \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Static Site components that are part of this deployment\",\n                                    \"type\": \"array\"\n                                  },\n                                  \"tier_slug\": {\n                                    \"example\": \"basic\",\n                                    \"readOnly\": true,\n                                    \"title\": \"The current pricing tier slug of the deployment\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"updated_at\": {\n                                    \"example\": \"2020-07-28T18:00:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"When the deployment was last updated\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"workers\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"name\": {\n                                          \"example\": \"queue-runner\",\n                                          \"title\": \"The name of this worker\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"source_commit_hash\": {\n                                          \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                          \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Worker components that are part of this deployment\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"title\": \"An app deployment\",\n                                \"type\": \"object\"\n                              },\n                              \"created_at\": {\n                                \"example\": \"2020-11-19T20:27:18Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"title\": \"The creation time of the app\",\n                                \"type\": \"string\"\n                              },\n                              \"default_ingress\": {\n                                \"example\": \"digitalocean.com\",\n                                \"readOnly\": true,\n                                \"title\": \"The default hostname on which the app is accessible\",\n                                \"type\": \"string\"\n                              },\n                              \"domains\": {\n                                \"items\": {\n                                  \"properties\": {\n                                    \"certificate_expires_at\": {\n                                      \"example\": \"2024-01-29T23:59:59Z\",\n                                      \"format\": \"date-time\",\n                                      \"readOnly\": true,\n                                      \"title\": \"Current SSL certificate expiration time\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"id\": {\n                                      \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                                      \"title\": \"The ID of the domain\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"phase\": {\n                                      \"default\": \"UNKNOWN\",\n                                      \"enum\": [\n                                        \"UNKNOWN\",\n                                        \"PENDING\",\n                                        \"CONFIGURING\",\n                                        \"ACTIVE\",\n                                        \"ERROR\"\n                                      ],\n                                      \"example\": \"ACTIVE\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"progress\": {\n                                      \"properties\": {\n                                        \"steps\": {\n                                          \"items\": {\n                                            \"type\": \"object\"\n                                          },\n                                          \"title\": \"The steps of the domain's progress\",\n                                          \"type\": \"array\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"rotate_validation_records\": {\n                                      \"readOnly\": true,\n                                      \"title\": \"Validation values have changed and require manual intervention\",\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"spec\": {\n                                      \"properties\": {\n                                        \"domain\": {\n                                          \"description\": \"The hostname for the domain\",\n                                          \"example\": \"app.example.com\",\n                                          \"maxLength\": 253,\n                                          \"minLength\": 4,\n                                          \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"minimum_tls_version\": {\n                                          \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                          \"enum\": [\n                                            \"1.2\",\n                                            \"1.3\"\n                                          ],\n                                          \"example\": \"1.3\",\n                                          \"maxLength\": 3,\n                                          \"minLength\": 3,\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"UNSPECIFIED\",\n                                          \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED\",\n                                            \"DEFAULT\",\n                                            \"PRIMARY\",\n                                            \"ALIAS\"\n                                          ],\n                                          \"example\": \"DEFAULT\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"wildcard\": {\n                                          \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"zone\": {\n                                          \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                          \"example\": \"example.com\",\n                                          \"format\": \"hostname\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"domain\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"validations\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"txt_name\": {\n                                            \"example\": \"_acme-challenge.app.example.com\",\n                                            \"readOnly\": true,\n                                            \"title\": \"TXT record name\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"txt_value\": {\n                                            \"example\": \"lXLOcN6cPv0nproViNcUHcahD9TrIPlNgdwesj0pYpk\",\n                                            \"readOnly\": true,\n                                            \"title\": \"TXT record value\",\n                                            \"type\": \"string\"\n                                          }\n                                        }\n                                      },\n                                      \"title\": \"List of TXT validation records\",\n                                      \"type\": \"array\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"readOnly\": true,\n                                \"title\": \"Contains all domains for the app\",\n                                \"type\": \"array\"\n                              },\n                              \"id\": {\n                                \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                                \"readOnly\": true,\n                                \"title\": \"The ID of the application\",\n                                \"type\": \"string\"\n                              },\n                              \"in_progress_deployment\": {\n                                \"properties\": {\n                                  \"cause\": {\n                                    \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                                    \"title\": \"What caused this deployment to be created\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"cloned_from\": {\n                                    \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                                    \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"created_at\": {\n                                    \"example\": \"2020-07-28T18:00:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The creation time of the deployment\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"functions\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"name\": {\n                                          \"example\": \"my-functions-component\",\n                                          \"title\": \"The name of this functions component\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"namespace\": {\n                                          \"description\": \"The namespace where the functions are deployed.\",\n                                          \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"source_commit_hash\": {\n                                          \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                          \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Functions components that are part of this deployment\",\n                                    \"type\": \"array\"\n                                  },\n                                  \"id\": {\n                                    \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                                    \"title\": \"The ID of the deployment\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"jobs\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"name\": {\n                                          \"example\": \"migrate-db\",\n                                          \"title\": \"The name of this job\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"source_commit_hash\": {\n                                          \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                          \"title\": \"The commit hash of the repository that was used to build this job\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Job components that are part of this deployment\",\n                                    \"type\": \"array\"\n                                  },\n                                  \"phase\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING_BUILD\",\n                                      \"BUILDING\",\n                                      \"PENDING_DEPLOY\",\n                                      \"DEPLOYING\",\n                                      \"ACTIVE\",\n                                      \"SUPERSEDED\",\n                                      \"ERROR\",\n                                      \"CANCELED\"\n                                    ],\n                                    \"example\": \"ACTIVE\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"phase_last_updated_at\": {\n                                    \"example\": \"0001-01-01T00:00:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"When the deployment phase was last updated\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"progress\": {\n                                    \"properties\": {\n                                      \"error_steps\": {\n                                        \"example\": 3,\n                                        \"format\": \"int32\",\n                                        \"title\": \"Number of unsuccessful steps\",\n                                        \"type\": \"integer\"\n                                      },\n                                      \"pending_steps\": {\n                                        \"example\": 2,\n                                        \"format\": \"int32\",\n                                        \"title\": \"Number of pending steps\",\n                                        \"type\": \"integer\"\n                                      },\n                                      \"running_steps\": {\n                                        \"example\": 2,\n                                        \"format\": \"int32\",\n                                        \"title\": \"Number of currently running steps\",\n                                        \"type\": \"integer\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"component_name\": {\n                                              \"example\": \"component\",\n                                              \"title\": \"The component name that this step is associated with\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"ended_at\": {\n                                              \"example\": \"2020-11-19T20:27:18Z\",\n                                              \"format\": \"date-time\",\n                                              \"title\": \"The end time of this step\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"message_base\": {\n                                              \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                              \"example\": \"Building service\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"name\": {\n                                              \"example\": \"example_step\",\n                                              \"title\": \"The name of this step\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"reason\": {\n                                              \"properties\": {\n                                                \"code\": {\n                                                  \"example\": \"Title of Error\",\n                                                  \"title\": \"The error code\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"message\": {\n                                                  \"example\": \"This is an error\",\n                                                  \"title\": \"The error message\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"started_at\": {\n                                              \"example\": \"2020-11-19T20:27:18Z\",\n                                              \"format\": \"date-time\",\n                                              \"title\": \"The start time of this step\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"status\": {\n                                              \"default\": \"UNKNOWN\",\n                                              \"enum\": [\n                                                \"UNKNOWN\",\n                                                \"PENDING\",\n                                                \"RUNNING\",\n                                                \"ERROR\",\n                                                \"SUCCESS\"\n                                              ],\n                                              \"example\": \"SUCCESS\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"steps\": {\n                                              \"items\": {\n                                                \"type\": \"object\"\n                                              },\n                                              \"title\": \"Child steps of this step\",\n                                              \"type\": \"array\"\n                                            }\n                                          },\n                                          \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"The deployment's steps\",\n                                        \"type\": \"array\"\n                                      },\n                                      \"success_steps\": {\n                                        \"example\": 4,\n                                        \"format\": \"int32\",\n                                        \"title\": \"Number of successful steps\",\n                                        \"type\": \"integer\"\n                                      },\n                                      \"summary_steps\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"component_name\": {\n                                              \"example\": \"component\",\n                                              \"title\": \"The component name that this step is associated with\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"ended_at\": {\n                                              \"example\": \"2020-11-19T20:27:18Z\",\n                                              \"format\": \"date-time\",\n                                              \"title\": \"The end time of this step\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"message_base\": {\n                                              \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                              \"example\": \"Building service\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"name\": {\n                                              \"example\": \"example_step\",\n                                              \"title\": \"The name of this step\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"reason\": {\n                                              \"properties\": {\n                                                \"code\": {\n                                                  \"example\": \"Title of Error\",\n                                                  \"title\": \"The error code\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"message\": {\n                                                  \"example\": \"This is an error\",\n                                                  \"title\": \"The error message\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"started_at\": {\n                                              \"example\": \"2020-11-19T20:27:18Z\",\n                                              \"format\": \"date-time\",\n                                              \"title\": \"The start time of this step\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"status\": {\n                                              \"default\": \"UNKNOWN\",\n                                              \"enum\": [\n                                                \"UNKNOWN\",\n                                                \"PENDING\",\n                                                \"RUNNING\",\n                                                \"ERROR\",\n                                                \"SUCCESS\"\n                                              ],\n                                              \"example\": \"SUCCESS\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"steps\": {\n                                              \"items\": {\n                                                \"type\": \"object\"\n                                              },\n                                              \"title\": \"Child steps of this step\",\n                                              \"type\": \"array\"\n                                            }\n                                          },\n                                          \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"A flattened summary of the steps\",\n                                        \"type\": \"array\"\n                                      },\n                                      \"total_steps\": {\n                                        \"example\": 5,\n                                        \"format\": \"int32\",\n                                        \"title\": \"Total number of steps\",\n                                        \"type\": \"integer\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"services\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"name\": {\n                                          \"example\": \"web\",\n                                          \"title\": \"The name of this service\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"source_commit_hash\": {\n                                          \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                          \"title\": \"The commit hash of the repository that was used to build this service\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Service components that are part of this deployment\",\n                                    \"type\": \"array\"\n                                  },\n                                  \"spec\": {\n                                    \"description\": \"The desired configuration of an application.\",\n                                    \"properties\": {\n                                      \"databases\": {\n                                        \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"cluster_name\": {\n                                              \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                              \"example\": \"cluster_name\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"db_name\": {\n                                              \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                              \"example\": \"my_db\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"db_user\": {\n                                              \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                              \"example\": \"superuser\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"engine\": {\n                                              \"default\": \"UNSET\",\n                                              \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"MYSQL\",\n                                                \"PG\",\n                                                \"REDIS\"\n                                              ],\n                                              \"example\": \"PG\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"name\": {\n                                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                                              \"example\": \"prod-db\",\n                                              \"maxLength\": 32,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"production\": {\n                                              \"description\": \"Whether this is a production or dev database.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"version\": {\n                                              \"description\": \"The version of the database engine\",\n                                              \"example\": \"12\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"name\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"domains\": {\n                                        \"description\": \"A set of hostnames where the application will be available.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"domain\": {\n                                              \"description\": \"The hostname for the domain\",\n                                              \"example\": \"app.example.com\",\n                                              \"maxLength\": 253,\n                                              \"minLength\": 4,\n                                              \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"minimum_tls_version\": {\n                                              \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                              \"enum\": [\n                                                \"1.2\",\n                                                \"1.3\"\n                                              ],\n                                              \"example\": \"1.3\",\n                                              \"maxLength\": 3,\n                                              \"minLength\": 3,\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"UNSPECIFIED\",\n                                              \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED\",\n                                                \"DEFAULT\",\n                                                \"PRIMARY\",\n                                                \"ALIAS\"\n                                              ],\n                                              \"example\": \"DEFAULT\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"wildcard\": {\n                                              \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"zone\": {\n                                              \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                              \"example\": \"example.com\",\n                                              \"format\": \"hostname\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"domain\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"functions\": {\n                                        \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"alerts\": {\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"disabled\": {\n                                                    \"description\": \"Is the alert disabled?\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"operator\": {\n                                                    \"default\": \"UNSPECIFIED_OPERATOR\",\n                                                    \"enum\": [\n                                                      \"UNSPECIFIED_OPERATOR\",\n                                                      \"GREATER_THAN\",\n                                                      \"LESS_THAN\"\n                                                    ],\n                                                    \"example\": \"GREATER_THAN\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"rule\": {\n                                                    \"default\": \"UNSPECIFIED_RULE\",\n                                                    \"enum\": [\n                                                      \"UNSPECIFIED_RULE\",\n                                                      \"CPU_UTILIZATION\",\n                                                      \"MEM_UTILIZATION\",\n                                                      \"RESTART_COUNT\",\n                                                      \"DEPLOYMENT_FAILED\",\n                                                      \"DEPLOYMENT_LIVE\",\n                                                      \"DOMAIN_FAILED\",\n                                                      \"DOMAIN_LIVE\",\n                                                      \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                      \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                      \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                      \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                      \"FUNCTIONS_ERROR_COUNT\",\n                                                      \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                                    ],\n                                                    \"example\": \"CPU_UTILIZATION\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"value\": {\n                                                    \"description\": \"Threshold value for alert\",\n                                                    \"example\": 2.32,\n                                                    \"format\": \"float\",\n                                                    \"type\": \"number\"\n                                                  },\n                                                  \"window\": {\n                                                    \"default\": \"UNSPECIFIED_WINDOW\",\n                                                    \"enum\": [\n                                                      \"UNSPECIFIED_WINDOW\",\n                                                      \"FIVE_MINUTES\",\n                                                      \"TEN_MINUTES\",\n                                                      \"THIRTY_MINUTES\",\n                                                      \"ONE_HOUR\"\n                                                    ],\n                                                    \"example\": \"FIVE_MINUTES\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"cors\": {\n                                              \"properties\": {\n                                                \"allow_credentials\": {\n                                                  \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                  \"example\": false,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"allow_headers\": {\n                                                  \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                  \"example\": [\n                                                    \"Content-Type\",\n                                                    \"X-Custom-Header\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"allow_methods\": {\n                                                  \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                  \"example\": [\n                                                    \"GET\",\n                                                    \"OPTIONS\",\n                                                    \"POST\",\n                                                    \"PUT\",\n                                                    \"PATCH\",\n                                                    \"DELETE\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"allow_origins\": {\n                                                  \"description\": \"The set of allowed CORS origins.\",\n                                                  \"example\": [\n                                                    {\n                                                      \"exact\": \"https://www.example.com\"\n                                                    },\n                                                    {\n                                                      \"regex\": \"^.*example.com\"\n                                                    }\n                                                  ],\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"exact\": {\n                                                        \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                        \"example\": \"https://www.example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"prefix\": {\n                                                        \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                        \"example\": \"https://www.example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"regex\": {\n                                                        \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                        \"example\": \"^.*example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"expose_headers\": {\n                                                  \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                  \"example\": [\n                                                    \"Content-Encoding\",\n                                                    \"X-Custom-Header\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"max_age\": {\n                                                  \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                  \"example\": \"5h30m\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"envs\": {\n                                              \"description\": \"A list of environment variables made available to the component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"key\": {\n                                                    \"description\": \"The variable name\",\n                                                    \"example\": \"BASE_URL\",\n                                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"scope\": {\n                                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                    \"enum\": [\n                                                      \"UNSET\",\n                                                      \"RUN_TIME\",\n                                                      \"BUILD_TIME\",\n                                                      \"RUN_AND_BUILD_TIME\"\n                                                    ],\n                                                    \"example\": \"BUILD_TIME\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": {\n                                                    \"default\": \"GENERAL\",\n                                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                    \"enum\": [\n                                                      \"GENERAL\",\n                                                      \"SECRET\"\n                                                    ],\n                                                    \"example\": \"GENERAL\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"value\": {\n                                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                    \"example\": \"http://example.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"git\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repo_clone_url\": {\n                                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"github\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"gitlab\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"log_destinations\": {\n                                              \"properties\": {\n                                                \"datadog\": {\n                                                  \"description\": \"DataDog configuration.\",\n                                                  \"properties\": {\n                                                    \"api_key\": {\n                                                      \"description\": \"Datadog API key.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"endpoint\": {\n                                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                      \"example\": \"https://mydatadogendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"api_key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"logtail\": {\n                                                  \"description\": \"Logtail configuration.\",\n                                                  \"properties\": {\n                                                    \"token\": {\n                                                      \"description\": \"Logtail token.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"my_log_destination\",\n                                                  \"maxLength\": 42,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"papertrail\": {\n                                                  \"description\": \"Papertrail configuration.\",\n                                                  \"properties\": {\n                                                    \"endpoint\": {\n                                                      \"description\": \"Papertrail syslog endpoint.\",\n                                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"title\": \"Configurations for external logging.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"name\": {\n                                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                                              \"example\": \"api\",\n                                              \"maxLength\": 32,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"routes\": {\n                                              \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"path\": {\n                                                    \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                    \"example\": \"/api\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"preserve_path_prefix\": {\n                                                    \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  }\n                                                },\n                                                \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"source_dir\": {\n                                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                              \"example\": \"path/to/dir\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"name\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"jobs\": {\n                                        \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                        \"items\": {\n                                          \"allOf\": [\n                                            {\n                                              \"properties\": {\n                                                \"build_command\": {\n                                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                                  \"example\": \"npm run build\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"dockerfile_path\": {\n                                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                  \"example\": \"path/to/Dockerfile\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"environment_slug\": {\n                                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                  \"example\": \"node-js\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"envs\": {\n                                                  \"description\": \"A list of environment variables made available to the component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"key\": {\n                                                        \"description\": \"The variable name\",\n                                                        \"example\": \"BASE_URL\",\n                                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"scope\": {\n                                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                        \"enum\": [\n                                                          \"UNSET\",\n                                                          \"RUN_TIME\",\n                                                          \"BUILD_TIME\",\n                                                          \"RUN_AND_BUILD_TIME\"\n                                                        ],\n                                                        \"example\": \"BUILD_TIME\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": {\n                                                        \"default\": \"GENERAL\",\n                                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                        \"enum\": [\n                                                          \"GENERAL\",\n                                                          \"SECRET\"\n                                                        ],\n                                                        \"example\": \"GENERAL\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"value\": {\n                                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                        \"example\": \"http://example.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"git\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repo_clone_url\": {\n                                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"github\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"gitlab\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"image\": {\n                                                  \"properties\": {\n                                                    \"registry\": {\n                                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                      \"example\": \"registry.hub.docker.com\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"registry_type\": {\n                                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                      \"enum\": [\n                                                        \"DOCKER_HUB\",\n                                                        \"DOCR\"\n                                                      ],\n                                                      \"example\": \"DOCR\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repository\": {\n                                                      \"description\": \"The repository name.\",\n                                                      \"example\": \"origin/master\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"tag\": {\n                                                      \"default\": \"latest\",\n                                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                      \"example\": \"latest\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"log_destinations\": {\n                                                  \"properties\": {\n                                                    \"datadog\": {\n                                                      \"description\": \"DataDog configuration.\",\n                                                      \"properties\": {\n                                                        \"api_key\": {\n                                                          \"description\": \"Datadog API key.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"endpoint\": {\n                                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                          \"example\": \"https://mydatadogendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"api_key\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"logtail\": {\n                                                      \"description\": \"Logtail configuration.\",\n                                                      \"properties\": {\n                                                        \"token\": {\n                                                          \"description\": \"Logtail token.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"example\": \"my_log_destination\",\n                                                      \"maxLength\": 42,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"papertrail\": {\n                                                      \"description\": \"Papertrail configuration.\",\n                                                      \"properties\": {\n                                                        \"endpoint\": {\n                                                          \"description\": \"Papertrail syslog endpoint.\",\n                                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"title\": \"Configurations for external logging.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                  \"example\": \"api\",\n                                                  \"maxLength\": 32,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"run_command\": {\n                                                  \"description\": \"An optional run command to override the component's default.\",\n                                                  \"example\": \"bin/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"source_dir\": {\n                                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                  \"example\": \"path/to/dir\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            {\n                                              \"properties\": {\n                                                \"instance_count\": {\n                                                  \"default\": 1,\n                                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                  \"example\": 2,\n                                                  \"format\": \"int64\",\n                                                  \"minimum\": 1,\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"instance_size_slug\": {\n                                                  \"default\": \"basic-xxs\",\n                                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                  \"enum\": [\n                                                    \"basic-xxs\",\n                                                    \"basic-xs\",\n                                                    \"basic-s\",\n                                                    \"basic-m\",\n                                                    \"professional-xs\",\n                                                    \"professional-s\",\n                                                    \"professional-m\",\n                                                    \"professional-1l\",\n                                                    \"professional-l\",\n                                                    \"professional-xl\"\n                                                  ],\n                                                  \"example\": \"basic-xxs\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            {\n                                              \"properties\": {\n                                                \"kind\": {\n                                                  \"default\": \"UNSPECIFIED\",\n                                                  \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED\",\n                                                    \"PRE_DEPLOY\",\n                                                    \"POST_DEPLOY\",\n                                                    \"FAILED_DEPLOY\"\n                                                  ],\n                                                  \"example\": \"PRE_DEPLOY\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"type\": \"object\"\n                                            }\n                                          ]\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                        \"example\": \"web-app-01\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"region\": {\n                                        \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                        \"enum\": [\n                                          \"ams\",\n                                          \"nyc\",\n                                          \"fra\",\n                                          \"sfo\",\n                                          \"sgp\",\n                                          \"blr\",\n                                          \"tor\",\n                                          \"lon\",\n                                          \"syd\"\n                                        ],\n                                        \"example\": \"nyc\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"services\": {\n                                        \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                        \"items\": {\n                                          \"allOf\": [\n                                            {\n                                              \"properties\": {\n                                                \"build_command\": {\n                                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                                  \"example\": \"npm run build\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"dockerfile_path\": {\n                                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                  \"example\": \"path/to/Dockerfile\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"environment_slug\": {\n                                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                  \"example\": \"node-js\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"envs\": {\n                                                  \"description\": \"A list of environment variables made available to the component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"key\": {\n                                                        \"description\": \"The variable name\",\n                                                        \"example\": \"BASE_URL\",\n                                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"scope\": {\n                                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                        \"enum\": [\n                                                          \"UNSET\",\n                                                          \"RUN_TIME\",\n                                                          \"BUILD_TIME\",\n                                                          \"RUN_AND_BUILD_TIME\"\n                                                        ],\n                                                        \"example\": \"BUILD_TIME\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": {\n                                                        \"default\": \"GENERAL\",\n                                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                        \"enum\": [\n                                                          \"GENERAL\",\n                                                          \"SECRET\"\n                                                        ],\n                                                        \"example\": \"GENERAL\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"value\": {\n                                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                        \"example\": \"http://example.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"git\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repo_clone_url\": {\n                                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"github\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"gitlab\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"image\": {\n                                                  \"properties\": {\n                                                    \"registry\": {\n                                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                      \"example\": \"registry.hub.docker.com\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"registry_type\": {\n                                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                      \"enum\": [\n                                                        \"DOCKER_HUB\",\n                                                        \"DOCR\"\n                                                      ],\n                                                      \"example\": \"DOCR\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repository\": {\n                                                      \"description\": \"The repository name.\",\n                                                      \"example\": \"origin/master\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"tag\": {\n                                                      \"default\": \"latest\",\n                                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                      \"example\": \"latest\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"log_destinations\": {\n                                                  \"properties\": {\n                                                    \"datadog\": {\n                                                      \"description\": \"DataDog configuration.\",\n                                                      \"properties\": {\n                                                        \"api_key\": {\n                                                          \"description\": \"Datadog API key.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"endpoint\": {\n                                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                          \"example\": \"https://mydatadogendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"api_key\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"logtail\": {\n                                                      \"description\": \"Logtail configuration.\",\n                                                      \"properties\": {\n                                                        \"token\": {\n                                                          \"description\": \"Logtail token.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"example\": \"my_log_destination\",\n                                                      \"maxLength\": 42,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"papertrail\": {\n                                                      \"description\": \"Papertrail configuration.\",\n                                                      \"properties\": {\n                                                        \"endpoint\": {\n                                                          \"description\": \"Papertrail syslog endpoint.\",\n                                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"title\": \"Configurations for external logging.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                  \"example\": \"api\",\n                                                  \"maxLength\": 32,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"run_command\": {\n                                                  \"description\": \"An optional run command to override the component's default.\",\n                                                  \"example\": \"bin/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"source_dir\": {\n                                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                  \"example\": \"path/to/dir\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            {\n                                              \"properties\": {\n                                                \"instance_count\": {\n                                                  \"default\": 1,\n                                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                  \"example\": 2,\n                                                  \"format\": \"int64\",\n                                                  \"minimum\": 1,\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"instance_size_slug\": {\n                                                  \"default\": \"basic-xxs\",\n                                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                  \"enum\": [\n                                                    \"basic-xxs\",\n                                                    \"basic-xs\",\n                                                    \"basic-s\",\n                                                    \"basic-m\",\n                                                    \"professional-xs\",\n                                                    \"professional-s\",\n                                                    \"professional-m\",\n                                                    \"professional-1l\",\n                                                    \"professional-l\",\n                                                    \"professional-xl\"\n                                                  ],\n                                                  \"example\": \"basic-xxs\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            {\n                                              \"properties\": {\n                                                \"cors\": {\n                                                  \"properties\": {\n                                                    \"allow_credentials\": {\n                                                      \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                      \"example\": false,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"allow_headers\": {\n                                                      \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                      \"example\": [\n                                                        \"Content-Type\",\n                                                        \"X-Custom-Header\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"allow_methods\": {\n                                                      \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                      \"example\": [\n                                                        \"GET\",\n                                                        \"OPTIONS\",\n                                                        \"POST\",\n                                                        \"PUT\",\n                                                        \"PATCH\",\n                                                        \"DELETE\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"allow_origins\": {\n                                                      \"description\": \"The set of allowed CORS origins.\",\n                                                      \"example\": [\n                                                        {\n                                                          \"exact\": \"https://www.example.com\"\n                                                        },\n                                                        {\n                                                          \"regex\": \"^.*example.com\"\n                                                        }\n                                                      ],\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"exact\": {\n                                                            \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                            \"example\": \"https://www.example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"prefix\": {\n                                                            \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                            \"example\": \"https://www.example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"regex\": {\n                                                            \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                            \"example\": \"^.*example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"expose_headers\": {\n                                                      \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                      \"example\": [\n                                                        \"Content-Encoding\",\n                                                        \"X-Custom-Header\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"max_age\": {\n                                                      \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                      \"example\": \"5h30m\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"health_check\": {\n                                                  \"properties\": {\n                                                    \"failure_threshold\": {\n                                                      \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                      \"example\": 2,\n                                                      \"format\": \"int32\",\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"http_path\": {\n                                                      \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                      \"example\": \"/health\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"initial_delay_seconds\": {\n                                                      \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                      \"example\": 30,\n                                                      \"format\": \"int32\",\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"period_seconds\": {\n                                                      \"description\": \"The number of seconds to wait between health checks.\",\n                                                      \"example\": 60,\n                                                      \"format\": \"int32\",\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"port\": {\n                                                      \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                      \"example\": 80,\n                                                      \"format\": \"int64\",\n                                                      \"maximum\": 65535,\n                                                      \"minimum\": 1,\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"success_threshold\": {\n                                                      \"description\": \"The number of successful health checks before considered healthy.\",\n                                                      \"example\": 3,\n                                                      \"format\": \"int32\",\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"timeout_seconds\": {\n                                                      \"description\": \"The number of seconds after which the check times out.\",\n                                                      \"example\": 45,\n                                                      \"format\": \"int32\",\n                                                      \"type\": \"integer\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"http_port\": {\n                                                  \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                                  \"example\": 3000,\n                                                  \"format\": \"int64\",\n                                                  \"maximum\": 65535,\n                                                  \"minimum\": 1,\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"internal_ports\": {\n                                                  \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                                  \"example\": [\n                                                    80,\n                                                    443\n                                                  ],\n                                                  \"items\": {\n                                                    \"format\": \"int64\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"routes\": {\n                                                  \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"path\": {\n                                                        \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                        \"example\": \"/api\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"preserve_path_prefix\": {\n                                                        \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                        \"example\": true,\n                                                        \"type\": \"boolean\"\n                                                      }\n                                                    },\n                                                    \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"type\": \"object\"\n                                            }\n                                          ]\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"static_sites\": {\n                                        \"description\": \"Content which can be rendered to static web assets.\",\n                                        \"items\": {\n                                          \"allOf\": [\n                                            {\n                                              \"properties\": {\n                                                \"build_command\": {\n                                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                                  \"example\": \"npm run build\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"dockerfile_path\": {\n                                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                  \"example\": \"path/to/Dockerfile\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"environment_slug\": {\n                                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                  \"example\": \"node-js\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"envs\": {\n                                                  \"description\": \"A list of environment variables made available to the component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"key\": {\n                                                        \"description\": \"The variable name\",\n                                                        \"example\": \"BASE_URL\",\n                                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"scope\": {\n                                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                        \"enum\": [\n                                                          \"UNSET\",\n                                                          \"RUN_TIME\",\n                                                          \"BUILD_TIME\",\n                                                          \"RUN_AND_BUILD_TIME\"\n                                                        ],\n                                                        \"example\": \"BUILD_TIME\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": {\n                                                        \"default\": \"GENERAL\",\n                                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                        \"enum\": [\n                                                          \"GENERAL\",\n                                                          \"SECRET\"\n                                                        ],\n                                                        \"example\": \"GENERAL\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"value\": {\n                                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                        \"example\": \"http://example.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"git\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repo_clone_url\": {\n                                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"github\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"gitlab\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"image\": {\n                                                  \"properties\": {\n                                                    \"registry\": {\n                                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                      \"example\": \"registry.hub.docker.com\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"registry_type\": {\n                                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                      \"enum\": [\n                                                        \"DOCKER_HUB\",\n                                                        \"DOCR\"\n                                                      ],\n                                                      \"example\": \"DOCR\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repository\": {\n                                                      \"description\": \"The repository name.\",\n                                                      \"example\": \"origin/master\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"tag\": {\n                                                      \"default\": \"latest\",\n                                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                      \"example\": \"latest\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"log_destinations\": {\n                                                  \"properties\": {\n                                                    \"datadog\": {\n                                                      \"description\": \"DataDog configuration.\",\n                                                      \"properties\": {\n                                                        \"api_key\": {\n                                                          \"description\": \"Datadog API key.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"endpoint\": {\n                                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                          \"example\": \"https://mydatadogendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"api_key\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"logtail\": {\n                                                      \"description\": \"Logtail configuration.\",\n                                                      \"properties\": {\n                                                        \"token\": {\n                                                          \"description\": \"Logtail token.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"example\": \"my_log_destination\",\n                                                      \"maxLength\": 42,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"papertrail\": {\n                                                      \"description\": \"Papertrail configuration.\",\n                                                      \"properties\": {\n                                                        \"endpoint\": {\n                                                          \"description\": \"Papertrail syslog endpoint.\",\n                                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"title\": \"Configurations for external logging.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                  \"example\": \"api\",\n                                                  \"maxLength\": 32,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"run_command\": {\n                                                  \"description\": \"An optional run command to override the component's default.\",\n                                                  \"example\": \"bin/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"source_dir\": {\n                                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                  \"example\": \"path/to/dir\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            {\n                                              \"properties\": {\n                                                \"catchall_document\": {\n                                                  \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                                  \"example\": \"index.html\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"cors\": {\n                                                  \"properties\": {\n                                                    \"allow_credentials\": {\n                                                      \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                      \"example\": false,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"allow_headers\": {\n                                                      \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                      \"example\": [\n                                                        \"Content-Type\",\n                                                        \"X-Custom-Header\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"allow_methods\": {\n                                                      \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                      \"example\": [\n                                                        \"GET\",\n                                                        \"OPTIONS\",\n                                                        \"POST\",\n                                                        \"PUT\",\n                                                        \"PATCH\",\n                                                        \"DELETE\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"allow_origins\": {\n                                                      \"description\": \"The set of allowed CORS origins.\",\n                                                      \"example\": [\n                                                        {\n                                                          \"exact\": \"https://www.example.com\"\n                                                        },\n                                                        {\n                                                          \"regex\": \"^.*example.com\"\n                                                        }\n                                                      ],\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"exact\": {\n                                                            \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                            \"example\": \"https://www.example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"prefix\": {\n                                                            \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                            \"example\": \"https://www.example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"regex\": {\n                                                            \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                            \"example\": \"^.*example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"expose_headers\": {\n                                                      \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                      \"example\": [\n                                                        \"Content-Encoding\",\n                                                        \"X-Custom-Header\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"max_age\": {\n                                                      \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                      \"example\": \"5h30m\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"error_document\": {\n                                                  \"default\": \"404.html\",\n                                                  \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                                  \"example\": \"error.html\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"index_document\": {\n                                                  \"default\": \"index.html\",\n                                                  \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                                  \"example\": \"main.html\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"output_dir\": {\n                                                  \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                                  \"example\": \"dist/\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"routes\": {\n                                                  \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"path\": {\n                                                        \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                        \"example\": \"/api\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"preserve_path_prefix\": {\n                                                        \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                        \"example\": true,\n                                                        \"type\": \"boolean\"\n                                                      }\n                                                    },\n                                                    \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            }\n                                          ],\n                                          \"required\": [\n                                            \"name\"\n                                          ]\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"workers\": {\n                                        \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                        \"items\": {\n                                          \"allOf\": [\n                                            {\n                                              \"properties\": {\n                                                \"build_command\": {\n                                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                                  \"example\": \"npm run build\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"dockerfile_path\": {\n                                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                  \"example\": \"path/to/Dockerfile\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"environment_slug\": {\n                                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                  \"example\": \"node-js\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"envs\": {\n                                                  \"description\": \"A list of environment variables made available to the component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"key\": {\n                                                        \"description\": \"The variable name\",\n                                                        \"example\": \"BASE_URL\",\n                                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"scope\": {\n                                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                        \"enum\": [\n                                                          \"UNSET\",\n                                                          \"RUN_TIME\",\n                                                          \"BUILD_TIME\",\n                                                          \"RUN_AND_BUILD_TIME\"\n                                                        ],\n                                                        \"example\": \"BUILD_TIME\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": {\n                                                        \"default\": \"GENERAL\",\n                                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                        \"enum\": [\n                                                          \"GENERAL\",\n                                                          \"SECRET\"\n                                                        ],\n                                                        \"example\": \"GENERAL\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"value\": {\n                                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                        \"example\": \"http://example.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"git\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repo_clone_url\": {\n                                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"github\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"gitlab\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"image\": {\n                                                  \"properties\": {\n                                                    \"registry\": {\n                                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                      \"example\": \"registry.hub.docker.com\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"registry_type\": {\n                                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                      \"enum\": [\n                                                        \"DOCKER_HUB\",\n                                                        \"DOCR\"\n                                                      ],\n                                                      \"example\": \"DOCR\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repository\": {\n                                                      \"description\": \"The repository name.\",\n                                                      \"example\": \"origin/master\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"tag\": {\n                                                      \"default\": \"latest\",\n                                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                      \"example\": \"latest\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"log_destinations\": {\n                                                  \"properties\": {\n                                                    \"datadog\": {\n                                                      \"description\": \"DataDog configuration.\",\n                                                      \"properties\": {\n                                                        \"api_key\": {\n                                                          \"description\": \"Datadog API key.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"endpoint\": {\n                                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                          \"example\": \"https://mydatadogendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"api_key\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"logtail\": {\n                                                      \"description\": \"Logtail configuration.\",\n                                                      \"properties\": {\n                                                        \"token\": {\n                                                          \"description\": \"Logtail token.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"example\": \"my_log_destination\",\n                                                      \"maxLength\": 42,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"papertrail\": {\n                                                      \"description\": \"Papertrail configuration.\",\n                                                      \"properties\": {\n                                                        \"endpoint\": {\n                                                          \"description\": \"Papertrail syslog endpoint.\",\n                                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"title\": \"Configurations for external logging.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                  \"example\": \"api\",\n                                                  \"maxLength\": 32,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"run_command\": {\n                                                  \"description\": \"An optional run command to override the component's default.\",\n                                                  \"example\": \"bin/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"source_dir\": {\n                                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                  \"example\": \"path/to/dir\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            {\n                                              \"properties\": {\n                                                \"instance_count\": {\n                                                  \"default\": 1,\n                                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                  \"example\": 2,\n                                                  \"format\": \"int64\",\n                                                  \"minimum\": 1,\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"instance_size_slug\": {\n                                                  \"default\": \"basic-xxs\",\n                                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                  \"enum\": [\n                                                    \"basic-xxs\",\n                                                    \"basic-xs\",\n                                                    \"basic-s\",\n                                                    \"basic-m\",\n                                                    \"professional-xs\",\n                                                    \"professional-s\",\n                                                    \"professional-m\",\n                                                    \"professional-1l\",\n                                                    \"professional-l\",\n                                                    \"professional-xl\"\n                                                  ],\n                                                  \"example\": \"basic-xxs\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            }\n                                          ],\n                                          \"required\": [\n                                            \"name\"\n                                          ]\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"AppSpec\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"static_sites\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"name\": {\n                                          \"example\": \"web\",\n                                          \"title\": \"The name of this static site\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"source_commit_hash\": {\n                                          \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                          \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Static Site components that are part of this deployment\",\n                                    \"type\": \"array\"\n                                  },\n                                  \"tier_slug\": {\n                                    \"example\": \"basic\",\n                                    \"readOnly\": true,\n                                    \"title\": \"The current pricing tier slug of the deployment\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"updated_at\": {\n                                    \"example\": \"2020-07-28T18:00:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"When the deployment was last updated\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"workers\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"name\": {\n                                          \"example\": \"queue-runner\",\n                                          \"title\": \"The name of this worker\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"source_commit_hash\": {\n                                          \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                          \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Worker components that are part of this deployment\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"title\": \"An app deployment\",\n                                \"type\": \"object\"\n                              },\n                              \"last_deployment_created_at\": {\n                                \"example\": \"2020-11-19T20:27:18Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"title\": \"The creation time of the last deployment\",\n                                \"type\": \"string\"\n                              },\n                              \"live_domain\": {\n                                \"example\": \"live_domain\",\n                                \"readOnly\": true,\n                                \"title\": \"The live domain of the app\",\n                                \"type\": \"string\"\n                              },\n                              \"live_url\": {\n                                \"example\": \"google.com\",\n                                \"readOnly\": true,\n                                \"title\": \"The live URL of the app\",\n                                \"type\": \"string\"\n                              },\n                              \"live_url_base\": {\n                                \"example\": \"digitalocean.com\",\n                                \"readOnly\": true,\n                                \"title\": \"The live URL base of the app, the URL excluding the path\",\n                                \"type\": \"string\"\n                              },\n                              \"owner_uuid\": {\n                                \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                                \"readOnly\": true,\n                                \"title\": \"The ID of the account to which the application belongs\",\n                                \"type\": \"string\"\n                              },\n                              \"pending_deployment\": {\n                                \"allOf\": [\n                                  {\n                                    \"description\": \"The most recent pending deployment. For CreateApp and UpdateApp transactions this is guaranteed to reflect the associated deployment.\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"cause\": {\n                                        \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                                        \"title\": \"What caused this deployment to be created\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"cloned_from\": {\n                                        \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                                        \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"created_at\": {\n                                        \"example\": \"2020-07-28T18:00:00Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The creation time of the deployment\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"functions\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"name\": {\n                                              \"example\": \"my-functions-component\",\n                                              \"title\": \"The name of this functions component\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"namespace\": {\n                                              \"description\": \"The namespace where the functions are deployed.\",\n                                              \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_commit_hash\": {\n                                              \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                              \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Functions components that are part of this deployment\",\n                                        \"type\": \"array\"\n                                      },\n                                      \"id\": {\n                                        \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                                        \"title\": \"The ID of the deployment\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"jobs\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"name\": {\n                                              \"example\": \"migrate-db\",\n                                              \"title\": \"The name of this job\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_commit_hash\": {\n                                              \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                              \"title\": \"The commit hash of the repository that was used to build this job\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Job components that are part of this deployment\",\n                                        \"type\": \"array\"\n                                      },\n                                      \"phase\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING_BUILD\",\n                                          \"BUILDING\",\n                                          \"PENDING_DEPLOY\",\n                                          \"DEPLOYING\",\n                                          \"ACTIVE\",\n                                          \"SUPERSEDED\",\n                                          \"ERROR\",\n                                          \"CANCELED\"\n                                        ],\n                                        \"example\": \"ACTIVE\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"phase_last_updated_at\": {\n                                        \"example\": \"0001-01-01T00:00:00Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"When the deployment phase was last updated\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"progress\": {\n                                        \"properties\": {\n                                          \"error_steps\": {\n                                            \"example\": 3,\n                                            \"format\": \"int32\",\n                                            \"title\": \"Number of unsuccessful steps\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"pending_steps\": {\n                                            \"example\": 2,\n                                            \"format\": \"int32\",\n                                            \"title\": \"Number of pending steps\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"running_steps\": {\n                                            \"example\": 2,\n                                            \"format\": \"int32\",\n                                            \"title\": \"Number of currently running steps\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"component_name\": {\n                                                  \"example\": \"component\",\n                                                  \"title\": \"The component name that this step is associated with\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"ended_at\": {\n                                                  \"example\": \"2020-11-19T20:27:18Z\",\n                                                  \"format\": \"date-time\",\n                                                  \"title\": \"The end time of this step\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"message_base\": {\n                                                  \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                                  \"example\": \"Building service\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"example_step\",\n                                                  \"title\": \"The name of this step\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"reason\": {\n                                                  \"properties\": {\n                                                    \"code\": {\n                                                      \"example\": \"Title of Error\",\n                                                      \"title\": \"The error code\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"message\": {\n                                                      \"example\": \"This is an error\",\n                                                      \"title\": \"The error message\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"started_at\": {\n                                                  \"example\": \"2020-11-19T20:27:18Z\",\n                                                  \"format\": \"date-time\",\n                                                  \"title\": \"The start time of this step\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"status\": {\n                                                  \"default\": \"UNKNOWN\",\n                                                  \"enum\": [\n                                                    \"UNKNOWN\",\n                                                    \"PENDING\",\n                                                    \"RUNNING\",\n                                                    \"ERROR\",\n                                                    \"SUCCESS\"\n                                                  ],\n                                                  \"example\": \"SUCCESS\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"steps\": {\n                                                  \"items\": {\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"title\": \"Child steps of this step\",\n                                                  \"type\": \"array\"\n                                                }\n                                              },\n                                              \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"The deployment's steps\",\n                                            \"type\": \"array\"\n                                          },\n                                          \"success_steps\": {\n                                            \"example\": 4,\n                                            \"format\": \"int32\",\n                                            \"title\": \"Number of successful steps\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"summary_steps\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"component_name\": {\n                                                  \"example\": \"component\",\n                                                  \"title\": \"The component name that this step is associated with\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"ended_at\": {\n                                                  \"example\": \"2020-11-19T20:27:18Z\",\n                                                  \"format\": \"date-time\",\n                                                  \"title\": \"The end time of this step\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"message_base\": {\n                                                  \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                                  \"example\": \"Building service\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"example_step\",\n                                                  \"title\": \"The name of this step\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"reason\": {\n                                                  \"properties\": {\n                                                    \"code\": {\n                                                      \"example\": \"Title of Error\",\n                                                      \"title\": \"The error code\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"message\": {\n                                                      \"example\": \"This is an error\",\n                                                      \"title\": \"The error message\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"started_at\": {\n                                                  \"example\": \"2020-11-19T20:27:18Z\",\n                                                  \"format\": \"date-time\",\n                                                  \"title\": \"The start time of this step\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"status\": {\n                                                  \"default\": \"UNKNOWN\",\n                                                  \"enum\": [\n                                                    \"UNKNOWN\",\n                                                    \"PENDING\",\n                                                    \"RUNNING\",\n                                                    \"ERROR\",\n                                                    \"SUCCESS\"\n                                                  ],\n                                                  \"example\": \"SUCCESS\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"steps\": {\n                                                  \"items\": {\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"title\": \"Child steps of this step\",\n                                                  \"type\": \"array\"\n                                                }\n                                              },\n                                              \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"A flattened summary of the steps\",\n                                            \"type\": \"array\"\n                                          },\n                                          \"total_steps\": {\n                                            \"example\": 5,\n                                            \"format\": \"int32\",\n                                            \"title\": \"Total number of steps\",\n                                            \"type\": \"integer\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"services\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"name\": {\n                                              \"example\": \"web\",\n                                              \"title\": \"The name of this service\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_commit_hash\": {\n                                              \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                              \"title\": \"The commit hash of the repository that was used to build this service\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Service components that are part of this deployment\",\n                                        \"type\": \"array\"\n                                      },\n                                      \"spec\": {\n                                        \"description\": \"The desired configuration of an application.\",\n                                        \"properties\": {\n                                          \"databases\": {\n                                            \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"cluster_name\": {\n                                                  \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                                  \"example\": \"cluster_name\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"db_name\": {\n                                                  \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                                  \"example\": \"my_db\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"db_user\": {\n                                                  \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                                  \"example\": \"superuser\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"engine\": {\n                                                  \"default\": \"UNSET\",\n                                                  \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"MYSQL\",\n                                                    \"PG\",\n                                                    \"REDIS\"\n                                                  ],\n                                                  \"example\": \"PG\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"name\": {\n                                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                  \"example\": \"prod-db\",\n                                                  \"maxLength\": 32,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"production\": {\n                                                  \"description\": \"Whether this is a production or dev database.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"version\": {\n                                                  \"description\": \"The version of the database engine\",\n                                                  \"example\": \"12\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"domains\": {\n                                            \"description\": \"A set of hostnames where the application will be available.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"domain\": {\n                                                  \"description\": \"The hostname for the domain\",\n                                                  \"example\": \"app.example.com\",\n                                                  \"maxLength\": 253,\n                                                  \"minLength\": 4,\n                                                  \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"minimum_tls_version\": {\n                                                  \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                                  \"enum\": [\n                                                    \"1.2\",\n                                                    \"1.3\"\n                                                  ],\n                                                  \"example\": \"1.3\",\n                                                  \"maxLength\": 3,\n                                                  \"minLength\": 3,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"UNSPECIFIED\",\n                                                  \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED\",\n                                                    \"DEFAULT\",\n                                                    \"PRIMARY\",\n                                                    \"ALIAS\"\n                                                  ],\n                                                  \"example\": \"DEFAULT\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"wildcard\": {\n                                                  \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"zone\": {\n                                                  \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                                  \"example\": \"example.com\",\n                                                  \"format\": \"hostname\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"domain\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"functions\": {\n                                            \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"alerts\": {\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"disabled\": {\n                                                        \"description\": \"Is the alert disabled?\",\n                                                        \"example\": false,\n                                                        \"type\": \"boolean\"\n                                                      },\n                                                      \"operator\": {\n                                                        \"default\": \"UNSPECIFIED_OPERATOR\",\n                                                        \"enum\": [\n                                                          \"UNSPECIFIED_OPERATOR\",\n                                                          \"GREATER_THAN\",\n                                                          \"LESS_THAN\"\n                                                        ],\n                                                        \"example\": \"GREATER_THAN\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"rule\": {\n                                                        \"default\": \"UNSPECIFIED_RULE\",\n                                                        \"enum\": [\n                                                          \"UNSPECIFIED_RULE\",\n                                                          \"CPU_UTILIZATION\",\n                                                          \"MEM_UTILIZATION\",\n                                                          \"RESTART_COUNT\",\n                                                          \"DEPLOYMENT_FAILED\",\n                                                          \"DEPLOYMENT_LIVE\",\n                                                          \"DOMAIN_FAILED\",\n                                                          \"DOMAIN_LIVE\",\n                                                          \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                          \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                          \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                          \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                          \"FUNCTIONS_ERROR_COUNT\",\n                                                          \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                                        ],\n                                                        \"example\": \"CPU_UTILIZATION\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"value\": {\n                                                        \"description\": \"Threshold value for alert\",\n                                                        \"example\": 2.32,\n                                                        \"format\": \"float\",\n                                                        \"type\": \"number\"\n                                                      },\n                                                      \"window\": {\n                                                        \"default\": \"UNSPECIFIED_WINDOW\",\n                                                        \"enum\": [\n                                                          \"UNSPECIFIED_WINDOW\",\n                                                          \"FIVE_MINUTES\",\n                                                          \"TEN_MINUTES\",\n                                                          \"THIRTY_MINUTES\",\n                                                          \"ONE_HOUR\"\n                                                        ],\n                                                        \"example\": \"FIVE_MINUTES\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"cors\": {\n                                                  \"properties\": {\n                                                    \"allow_credentials\": {\n                                                      \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                      \"example\": false,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"allow_headers\": {\n                                                      \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                      \"example\": [\n                                                        \"Content-Type\",\n                                                        \"X-Custom-Header\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"allow_methods\": {\n                                                      \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                      \"example\": [\n                                                        \"GET\",\n                                                        \"OPTIONS\",\n                                                        \"POST\",\n                                                        \"PUT\",\n                                                        \"PATCH\",\n                                                        \"DELETE\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"allow_origins\": {\n                                                      \"description\": \"The set of allowed CORS origins.\",\n                                                      \"example\": [\n                                                        {\n                                                          \"exact\": \"https://www.example.com\"\n                                                        },\n                                                        {\n                                                          \"regex\": \"^.*example.com\"\n                                                        }\n                                                      ],\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"exact\": {\n                                                            \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                            \"example\": \"https://www.example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"prefix\": {\n                                                            \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                            \"example\": \"https://www.example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"regex\": {\n                                                            \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                            \"example\": \"^.*example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"expose_headers\": {\n                                                      \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                      \"example\": [\n                                                        \"Content-Encoding\",\n                                                        \"X-Custom-Header\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"max_age\": {\n                                                      \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                      \"example\": \"5h30m\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"envs\": {\n                                                  \"description\": \"A list of environment variables made available to the component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"key\": {\n                                                        \"description\": \"The variable name\",\n                                                        \"example\": \"BASE_URL\",\n                                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"scope\": {\n                                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                        \"enum\": [\n                                                          \"UNSET\",\n                                                          \"RUN_TIME\",\n                                                          \"BUILD_TIME\",\n                                                          \"RUN_AND_BUILD_TIME\"\n                                                        ],\n                                                        \"example\": \"BUILD_TIME\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": {\n                                                        \"default\": \"GENERAL\",\n                                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                        \"enum\": [\n                                                          \"GENERAL\",\n                                                          \"SECRET\"\n                                                        ],\n                                                        \"example\": \"GENERAL\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"value\": {\n                                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                        \"example\": \"http://example.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"git\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repo_clone_url\": {\n                                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"github\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"gitlab\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"log_destinations\": {\n                                                  \"properties\": {\n                                                    \"datadog\": {\n                                                      \"description\": \"DataDog configuration.\",\n                                                      \"properties\": {\n                                                        \"api_key\": {\n                                                          \"description\": \"Datadog API key.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"endpoint\": {\n                                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                          \"example\": \"https://mydatadogendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"api_key\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"logtail\": {\n                                                      \"description\": \"Logtail configuration.\",\n                                                      \"properties\": {\n                                                        \"token\": {\n                                                          \"description\": \"Logtail token.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"example\": \"my_log_destination\",\n                                                      \"maxLength\": 42,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"papertrail\": {\n                                                      \"description\": \"Papertrail configuration.\",\n                                                      \"properties\": {\n                                                        \"endpoint\": {\n                                                          \"description\": \"Papertrail syslog endpoint.\",\n                                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"title\": \"Configurations for external logging.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                  \"example\": \"api\",\n                                                  \"maxLength\": 32,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"routes\": {\n                                                  \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"path\": {\n                                                        \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                        \"example\": \"/api\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"preserve_path_prefix\": {\n                                                        \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                        \"example\": true,\n                                                        \"type\": \"boolean\"\n                                                      }\n                                                    },\n                                                    \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"source_dir\": {\n                                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                  \"example\": \"path/to/dir\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"jobs\": {\n                                            \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                            \"items\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"properties\": {\n                                                    \"build_command\": {\n                                                      \"description\": \"An optional build command to run while building this component from source.\",\n                                                      \"example\": \"npm run build\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"dockerfile_path\": {\n                                                      \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                      \"example\": \"path/to/Dockerfile\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"environment_slug\": {\n                                                      \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                      \"example\": \"node-js\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"envs\": {\n                                                      \"description\": \"A list of environment variables made available to the component.\",\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"key\": {\n                                                            \"description\": \"The variable name\",\n                                                            \"example\": \"BASE_URL\",\n                                                            \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"scope\": {\n                                                            \"default\": \"RUN_AND_BUILD_TIME\",\n                                                            \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                            \"enum\": [\n                                                              \"UNSET\",\n                                                              \"RUN_TIME\",\n                                                              \"BUILD_TIME\",\n                                                              \"RUN_AND_BUILD_TIME\"\n                                                            ],\n                                                            \"example\": \"BUILD_TIME\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": {\n                                                            \"default\": \"GENERAL\",\n                                                            \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                            \"enum\": [\n                                                              \"GENERAL\",\n                                                              \"SECRET\"\n                                                            ],\n                                                            \"example\": \"GENERAL\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"value\": {\n                                                            \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                            \"example\": \"http://example.com\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"required\": [\n                                                          \"key\"\n                                                        ],\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"git\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repo_clone_url\": {\n                                                          \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                          \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"github\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"gitlab\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"image\": {\n                                                      \"properties\": {\n                                                        \"registry\": {\n                                                          \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                          \"example\": \"registry.hub.docker.com\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"registry_type\": {\n                                                          \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                          \"enum\": [\n                                                            \"DOCKER_HUB\",\n                                                            \"DOCR\"\n                                                          ],\n                                                          \"example\": \"DOCR\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repository\": {\n                                                          \"description\": \"The repository name.\",\n                                                          \"example\": \"origin/master\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"tag\": {\n                                                          \"default\": \"latest\",\n                                                          \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                          \"example\": \"latest\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"log_destinations\": {\n                                                      \"properties\": {\n                                                        \"datadog\": {\n                                                          \"description\": \"DataDog configuration.\",\n                                                          \"properties\": {\n                                                            \"api_key\": {\n                                                              \"description\": \"Datadog API key.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            },\n                                                            \"endpoint\": {\n                                                              \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                              \"example\": \"https://mydatadogendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"api_key\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"logtail\": {\n                                                          \"description\": \"Logtail configuration.\",\n                                                          \"properties\": {\n                                                            \"token\": {\n                                                              \"description\": \"Logtail token.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"name\": {\n                                                          \"example\": \"my_log_destination\",\n                                                          \"maxLength\": 42,\n                                                          \"minLength\": 2,\n                                                          \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"papertrail\": {\n                                                          \"description\": \"Papertrail configuration.\",\n                                                          \"properties\": {\n                                                            \"endpoint\": {\n                                                              \"description\": \"Papertrail syslog endpoint.\",\n                                                              \"example\": \"https://mypapertrailendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"name\"\n                                                      ],\n                                                      \"title\": \"Configurations for external logging.\",\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                      \"example\": \"api\",\n                                                      \"maxLength\": 32,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"run_command\": {\n                                                      \"description\": \"An optional run command to override the component's default.\",\n                                                      \"example\": \"bin/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"source_dir\": {\n                                                      \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                      \"example\": \"path/to/dir\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"properties\": {\n                                                    \"instance_count\": {\n                                                      \"default\": 1,\n                                                      \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                      \"example\": 2,\n                                                      \"format\": \"int64\",\n                                                      \"minimum\": 1,\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"instance_size_slug\": {\n                                                      \"default\": \"basic-xxs\",\n                                                      \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                      \"enum\": [\n                                                        \"basic-xxs\",\n                                                        \"basic-xs\",\n                                                        \"basic-s\",\n                                                        \"basic-m\",\n                                                        \"professional-xs\",\n                                                        \"professional-s\",\n                                                        \"professional-m\",\n                                                        \"professional-1l\",\n                                                        \"professional-l\",\n                                                        \"professional-xl\"\n                                                      ],\n                                                      \"example\": \"basic-xxs\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"properties\": {\n                                                    \"kind\": {\n                                                      \"default\": \"UNSPECIFIED\",\n                                                      \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                                      \"enum\": [\n                                                        \"UNSPECIFIED\",\n                                                        \"PRE_DEPLOY\",\n                                                        \"POST_DEPLOY\",\n                                                        \"FAILED_DEPLOY\"\n                                                      ],\n                                                      \"example\": \"PRE_DEPLOY\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              ]\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                            \"example\": \"web-app-01\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"region\": {\n                                            \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                            \"enum\": [\n                                              \"ams\",\n                                              \"nyc\",\n                                              \"fra\",\n                                              \"sfo\",\n                                              \"sgp\",\n                                              \"blr\",\n                                              \"tor\",\n                                              \"lon\",\n                                              \"syd\"\n                                            ],\n                                            \"example\": \"nyc\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"services\": {\n                                            \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                            \"items\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"properties\": {\n                                                    \"build_command\": {\n                                                      \"description\": \"An optional build command to run while building this component from source.\",\n                                                      \"example\": \"npm run build\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"dockerfile_path\": {\n                                                      \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                      \"example\": \"path/to/Dockerfile\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"environment_slug\": {\n                                                      \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                      \"example\": \"node-js\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"envs\": {\n                                                      \"description\": \"A list of environment variables made available to the component.\",\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"key\": {\n                                                            \"description\": \"The variable name\",\n                                                            \"example\": \"BASE_URL\",\n                                                            \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"scope\": {\n                                                            \"default\": \"RUN_AND_BUILD_TIME\",\n                                                            \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                            \"enum\": [\n                                                              \"UNSET\",\n                                                              \"RUN_TIME\",\n                                                              \"BUILD_TIME\",\n                                                              \"RUN_AND_BUILD_TIME\"\n                                                            ],\n                                                            \"example\": \"BUILD_TIME\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": {\n                                                            \"default\": \"GENERAL\",\n                                                            \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                            \"enum\": [\n                                                              \"GENERAL\",\n                                                              \"SECRET\"\n                                                            ],\n                                                            \"example\": \"GENERAL\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"value\": {\n                                                            \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                            \"example\": \"http://example.com\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"required\": [\n                                                          \"key\"\n                                                        ],\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"git\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repo_clone_url\": {\n                                                          \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                          \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"github\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"gitlab\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"image\": {\n                                                      \"properties\": {\n                                                        \"registry\": {\n                                                          \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                          \"example\": \"registry.hub.docker.com\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"registry_type\": {\n                                                          \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                          \"enum\": [\n                                                            \"DOCKER_HUB\",\n                                                            \"DOCR\"\n                                                          ],\n                                                          \"example\": \"DOCR\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repository\": {\n                                                          \"description\": \"The repository name.\",\n                                                          \"example\": \"origin/master\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"tag\": {\n                                                          \"default\": \"latest\",\n                                                          \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                          \"example\": \"latest\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"log_destinations\": {\n                                                      \"properties\": {\n                                                        \"datadog\": {\n                                                          \"description\": \"DataDog configuration.\",\n                                                          \"properties\": {\n                                                            \"api_key\": {\n                                                              \"description\": \"Datadog API key.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            },\n                                                            \"endpoint\": {\n                                                              \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                              \"example\": \"https://mydatadogendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"api_key\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"logtail\": {\n                                                          \"description\": \"Logtail configuration.\",\n                                                          \"properties\": {\n                                                            \"token\": {\n                                                              \"description\": \"Logtail token.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"name\": {\n                                                          \"example\": \"my_log_destination\",\n                                                          \"maxLength\": 42,\n                                                          \"minLength\": 2,\n                                                          \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"papertrail\": {\n                                                          \"description\": \"Papertrail configuration.\",\n                                                          \"properties\": {\n                                                            \"endpoint\": {\n                                                              \"description\": \"Papertrail syslog endpoint.\",\n                                                              \"example\": \"https://mypapertrailendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"name\"\n                                                      ],\n                                                      \"title\": \"Configurations for external logging.\",\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                      \"example\": \"api\",\n                                                      \"maxLength\": 32,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"run_command\": {\n                                                      \"description\": \"An optional run command to override the component's default.\",\n                                                      \"example\": \"bin/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"source_dir\": {\n                                                      \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                      \"example\": \"path/to/dir\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"properties\": {\n                                                    \"instance_count\": {\n                                                      \"default\": 1,\n                                                      \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                      \"example\": 2,\n                                                      \"format\": \"int64\",\n                                                      \"minimum\": 1,\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"instance_size_slug\": {\n                                                      \"default\": \"basic-xxs\",\n                                                      \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                      \"enum\": [\n                                                        \"basic-xxs\",\n                                                        \"basic-xs\",\n                                                        \"basic-s\",\n                                                        \"basic-m\",\n                                                        \"professional-xs\",\n                                                        \"professional-s\",\n                                                        \"professional-m\",\n                                                        \"professional-1l\",\n                                                        \"professional-l\",\n                                                        \"professional-xl\"\n                                                      ],\n                                                      \"example\": \"basic-xxs\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"properties\": {\n                                                    \"cors\": {\n                                                      \"properties\": {\n                                                        \"allow_credentials\": {\n                                                          \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                          \"example\": false,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"allow_headers\": {\n                                                          \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                          \"example\": [\n                                                            \"Content-Type\",\n                                                            \"X-Custom-Header\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"allow_methods\": {\n                                                          \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                          \"example\": [\n                                                            \"GET\",\n                                                            \"OPTIONS\",\n                                                            \"POST\",\n                                                            \"PUT\",\n                                                            \"PATCH\",\n                                                            \"DELETE\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"allow_origins\": {\n                                                          \"description\": \"The set of allowed CORS origins.\",\n                                                          \"example\": [\n                                                            {\n                                                              \"exact\": \"https://www.example.com\"\n                                                            },\n                                                            {\n                                                              \"regex\": \"^.*example.com\"\n                                                            }\n                                                          ],\n                                                          \"items\": {\n                                                            \"properties\": {\n                                                              \"exact\": {\n                                                                \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                                \"example\": \"https://www.example.com\",\n                                                                \"maxLength\": 256,\n                                                                \"minLength\": 1,\n                                                                \"type\": \"string\"\n                                                              },\n                                                              \"prefix\": {\n                                                                \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                                \"example\": \"https://www.example.com\",\n                                                                \"maxLength\": 256,\n                                                                \"minLength\": 1,\n                                                                \"type\": \"string\"\n                                                              },\n                                                              \"regex\": {\n                                                                \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                                \"example\": \"^.*example.com\",\n                                                                \"maxLength\": 256,\n                                                                \"minLength\": 1,\n                                                                \"type\": \"string\"\n                                                              }\n                                                            },\n                                                            \"type\": \"object\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"expose_headers\": {\n                                                          \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                          \"example\": [\n                                                            \"Content-Encoding\",\n                                                            \"X-Custom-Header\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"max_age\": {\n                                                          \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                          \"example\": \"5h30m\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"health_check\": {\n                                                      \"properties\": {\n                                                        \"failure_threshold\": {\n                                                          \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                          \"example\": 2,\n                                                          \"format\": \"int32\",\n                                                          \"type\": \"integer\"\n                                                        },\n                                                        \"http_path\": {\n                                                          \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                          \"example\": \"/health\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"initial_delay_seconds\": {\n                                                          \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                          \"example\": 30,\n                                                          \"format\": \"int32\",\n                                                          \"type\": \"integer\"\n                                                        },\n                                                        \"period_seconds\": {\n                                                          \"description\": \"The number of seconds to wait between health checks.\",\n                                                          \"example\": 60,\n                                                          \"format\": \"int32\",\n                                                          \"type\": \"integer\"\n                                                        },\n                                                        \"port\": {\n                                                          \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                          \"example\": 80,\n                                                          \"format\": \"int64\",\n                                                          \"maximum\": 65535,\n                                                          \"minimum\": 1,\n                                                          \"type\": \"integer\"\n                                                        },\n                                                        \"success_threshold\": {\n                                                          \"description\": \"The number of successful health checks before considered healthy.\",\n                                                          \"example\": 3,\n                                                          \"format\": \"int32\",\n                                                          \"type\": \"integer\"\n                                                        },\n                                                        \"timeout_seconds\": {\n                                                          \"description\": \"The number of seconds after which the check times out.\",\n                                                          \"example\": 45,\n                                                          \"format\": \"int32\",\n                                                          \"type\": \"integer\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"http_port\": {\n                                                      \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                                      \"example\": 3000,\n                                                      \"format\": \"int64\",\n                                                      \"maximum\": 65535,\n                                                      \"minimum\": 1,\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"internal_ports\": {\n                                                      \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                                      \"example\": [\n                                                        80,\n                                                        443\n                                                      ],\n                                                      \"items\": {\n                                                        \"format\": \"int64\",\n                                                        \"type\": \"integer\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"routes\": {\n                                                      \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"path\": {\n                                                            \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                            \"example\": \"/api\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"preserve_path_prefix\": {\n                                                            \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                            \"example\": true,\n                                                            \"type\": \"boolean\"\n                                                          }\n                                                        },\n                                                        \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              ]\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"static_sites\": {\n                                            \"description\": \"Content which can be rendered to static web assets.\",\n                                            \"items\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"properties\": {\n                                                    \"build_command\": {\n                                                      \"description\": \"An optional build command to run while building this component from source.\",\n                                                      \"example\": \"npm run build\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"dockerfile_path\": {\n                                                      \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                      \"example\": \"path/to/Dockerfile\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"environment_slug\": {\n                                                      \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                      \"example\": \"node-js\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"envs\": {\n                                                      \"description\": \"A list of environment variables made available to the component.\",\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"key\": {\n                                                            \"description\": \"The variable name\",\n                                                            \"example\": \"BASE_URL\",\n                                                            \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"scope\": {\n                                                            \"default\": \"RUN_AND_BUILD_TIME\",\n                                                            \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                            \"enum\": [\n                                                              \"UNSET\",\n                                                              \"RUN_TIME\",\n                                                              \"BUILD_TIME\",\n                                                              \"RUN_AND_BUILD_TIME\"\n                                                            ],\n                                                            \"example\": \"BUILD_TIME\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": {\n                                                            \"default\": \"GENERAL\",\n                                                            \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                            \"enum\": [\n                                                              \"GENERAL\",\n                                                              \"SECRET\"\n                                                            ],\n                                                            \"example\": \"GENERAL\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"value\": {\n                                                            \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                            \"example\": \"http://example.com\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"required\": [\n                                                          \"key\"\n                                                        ],\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"git\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repo_clone_url\": {\n                                                          \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                          \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"github\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"gitlab\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"image\": {\n                                                      \"properties\": {\n                                                        \"registry\": {\n                                                          \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                          \"example\": \"registry.hub.docker.com\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"registry_type\": {\n                                                          \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                          \"enum\": [\n                                                            \"DOCKER_HUB\",\n                                                            \"DOCR\"\n                                                          ],\n                                                          \"example\": \"DOCR\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repository\": {\n                                                          \"description\": \"The repository name.\",\n                                                          \"example\": \"origin/master\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"tag\": {\n                                                          \"default\": \"latest\",\n                                                          \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                          \"example\": \"latest\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"log_destinations\": {\n                                                      \"properties\": {\n                                                        \"datadog\": {\n                                                          \"description\": \"DataDog configuration.\",\n                                                          \"properties\": {\n                                                            \"api_key\": {\n                                                              \"description\": \"Datadog API key.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            },\n                                                            \"endpoint\": {\n                                                              \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                              \"example\": \"https://mydatadogendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"api_key\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"logtail\": {\n                                                          \"description\": \"Logtail configuration.\",\n                                                          \"properties\": {\n                                                            \"token\": {\n                                                              \"description\": \"Logtail token.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"name\": {\n                                                          \"example\": \"my_log_destination\",\n                                                          \"maxLength\": 42,\n                                                          \"minLength\": 2,\n                                                          \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"papertrail\": {\n                                                          \"description\": \"Papertrail configuration.\",\n                                                          \"properties\": {\n                                                            \"endpoint\": {\n                                                              \"description\": \"Papertrail syslog endpoint.\",\n                                                              \"example\": \"https://mypapertrailendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"name\"\n                                                      ],\n                                                      \"title\": \"Configurations for external logging.\",\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                      \"example\": \"api\",\n                                                      \"maxLength\": 32,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"run_command\": {\n                                                      \"description\": \"An optional run command to override the component's default.\",\n                                                      \"example\": \"bin/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"source_dir\": {\n                                                      \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                      \"example\": \"path/to/dir\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"properties\": {\n                                                    \"catchall_document\": {\n                                                      \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                                      \"example\": \"index.html\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"cors\": {\n                                                      \"properties\": {\n                                                        \"allow_credentials\": {\n                                                          \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                          \"example\": false,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"allow_headers\": {\n                                                          \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                          \"example\": [\n                                                            \"Content-Type\",\n                                                            \"X-Custom-Header\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"allow_methods\": {\n                                                          \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                          \"example\": [\n                                                            \"GET\",\n                                                            \"OPTIONS\",\n                                                            \"POST\",\n                                                            \"PUT\",\n                                                            \"PATCH\",\n                                                            \"DELETE\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"allow_origins\": {\n                                                          \"description\": \"The set of allowed CORS origins.\",\n                                                          \"example\": [\n                                                            {\n                                                              \"exact\": \"https://www.example.com\"\n                                                            },\n                                                            {\n                                                              \"regex\": \"^.*example.com\"\n                                                            }\n                                                          ],\n                                                          \"items\": {\n                                                            \"properties\": {\n                                                              \"exact\": {\n                                                                \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                                \"example\": \"https://www.example.com\",\n                                                                \"maxLength\": 256,\n                                                                \"minLength\": 1,\n                                                                \"type\": \"string\"\n                                                              },\n                                                              \"prefix\": {\n                                                                \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                                \"example\": \"https://www.example.com\",\n                                                                \"maxLength\": 256,\n                                                                \"minLength\": 1,\n                                                                \"type\": \"string\"\n                                                              },\n                                                              \"regex\": {\n                                                                \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                                \"example\": \"^.*example.com\",\n                                                                \"maxLength\": 256,\n                                                                \"minLength\": 1,\n                                                                \"type\": \"string\"\n                                                              }\n                                                            },\n                                                            \"type\": \"object\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"expose_headers\": {\n                                                          \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                          \"example\": [\n                                                            \"Content-Encoding\",\n                                                            \"X-Custom-Header\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"max_age\": {\n                                                          \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                          \"example\": \"5h30m\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"error_document\": {\n                                                      \"default\": \"404.html\",\n                                                      \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                                      \"example\": \"error.html\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"index_document\": {\n                                                      \"default\": \"index.html\",\n                                                      \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                                      \"example\": \"main.html\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"output_dir\": {\n                                                      \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                                      \"example\": \"dist/\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"routes\": {\n                                                      \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"path\": {\n                                                            \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                            \"example\": \"/api\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"preserve_path_prefix\": {\n                                                            \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                            \"example\": true,\n                                                            \"type\": \"boolean\"\n                                                          }\n                                                        },\n                                                        \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                }\n                                              ],\n                                              \"required\": [\n                                                \"name\"\n                                              ]\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"workers\": {\n                                            \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                            \"items\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"properties\": {\n                                                    \"build_command\": {\n                                                      \"description\": \"An optional build command to run while building this component from source.\",\n                                                      \"example\": \"npm run build\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"dockerfile_path\": {\n                                                      \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                      \"example\": \"path/to/Dockerfile\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"environment_slug\": {\n                                                      \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                      \"example\": \"node-js\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"envs\": {\n                                                      \"description\": \"A list of environment variables made available to the component.\",\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"key\": {\n                                                            \"description\": \"The variable name\",\n                                                            \"example\": \"BASE_URL\",\n                                                            \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"scope\": {\n                                                            \"default\": \"RUN_AND_BUILD_TIME\",\n                                                            \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                            \"enum\": [\n                                                              \"UNSET\",\n                                                              \"RUN_TIME\",\n                                                              \"BUILD_TIME\",\n                                                              \"RUN_AND_BUILD_TIME\"\n                                                            ],\n                                                            \"example\": \"BUILD_TIME\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": {\n                                                            \"default\": \"GENERAL\",\n                                                            \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                            \"enum\": [\n                                                              \"GENERAL\",\n                                                              \"SECRET\"\n                                                            ],\n                                                            \"example\": \"GENERAL\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"value\": {\n                                                            \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                            \"example\": \"http://example.com\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"required\": [\n                                                          \"key\"\n                                                        ],\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"git\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repo_clone_url\": {\n                                                          \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                          \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"github\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"gitlab\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"image\": {\n                                                      \"properties\": {\n                                                        \"registry\": {\n                                                          \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                          \"example\": \"registry.hub.docker.com\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"registry_type\": {\n                                                          \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                          \"enum\": [\n                                                            \"DOCKER_HUB\",\n                                                            \"DOCR\"\n                                                          ],\n                                                          \"example\": \"DOCR\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repository\": {\n                                                          \"description\": \"The repository name.\",\n                                                          \"example\": \"origin/master\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"tag\": {\n                                                          \"default\": \"latest\",\n                                                          \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                          \"example\": \"latest\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"log_destinations\": {\n                                                      \"properties\": {\n                                                        \"datadog\": {\n                                                          \"description\": \"DataDog configuration.\",\n                                                          \"properties\": {\n                                                            \"api_key\": {\n                                                              \"description\": \"Datadog API key.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            },\n                                                            \"endpoint\": {\n                                                              \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                              \"example\": \"https://mydatadogendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"api_key\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"logtail\": {\n                                                          \"description\": \"Logtail configuration.\",\n                                                          \"properties\": {\n                                                            \"token\": {\n                                                              \"description\": \"Logtail token.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"name\": {\n                                                          \"example\": \"my_log_destination\",\n                                                          \"maxLength\": 42,\n                                                          \"minLength\": 2,\n                                                          \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"papertrail\": {\n                                                          \"description\": \"Papertrail configuration.\",\n                                                          \"properties\": {\n                                                            \"endpoint\": {\n                                                              \"description\": \"Papertrail syslog endpoint.\",\n                                                              \"example\": \"https://mypapertrailendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"name\"\n                                                      ],\n                                                      \"title\": \"Configurations for external logging.\",\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                      \"example\": \"api\",\n                                                      \"maxLength\": 32,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"run_command\": {\n                                                      \"description\": \"An optional run command to override the component's default.\",\n                                                      \"example\": \"bin/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"source_dir\": {\n                                                      \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                      \"example\": \"path/to/dir\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"properties\": {\n                                                    \"instance_count\": {\n                                                      \"default\": 1,\n                                                      \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                      \"example\": 2,\n                                                      \"format\": \"int64\",\n                                                      \"minimum\": 1,\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"instance_size_slug\": {\n                                                      \"default\": \"basic-xxs\",\n                                                      \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                      \"enum\": [\n                                                        \"basic-xxs\",\n                                                        \"basic-xs\",\n                                                        \"basic-s\",\n                                                        \"basic-m\",\n                                                        \"professional-xs\",\n                                                        \"professional-s\",\n                                                        \"professional-m\",\n                                                        \"professional-1l\",\n                                                        \"professional-l\",\n                                                        \"professional-xl\"\n                                                      ],\n                                                      \"example\": \"basic-xxs\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                }\n                                              ],\n                                              \"required\": [\n                                                \"name\"\n                                              ]\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"AppSpec\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"static_sites\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"name\": {\n                                              \"example\": \"web\",\n                                              \"title\": \"The name of this static site\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_commit_hash\": {\n                                              \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                              \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Static Site components that are part of this deployment\",\n                                        \"type\": \"array\"\n                                      },\n                                      \"tier_slug\": {\n                                        \"example\": \"basic\",\n                                        \"readOnly\": true,\n                                        \"title\": \"The current pricing tier slug of the deployment\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"updated_at\": {\n                                        \"example\": \"2020-07-28T18:00:00Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"When the deployment was last updated\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"workers\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"name\": {\n                                              \"example\": \"queue-runner\",\n                                              \"title\": \"The name of this worker\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_commit_hash\": {\n                                              \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                              \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Worker components that are part of this deployment\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"An app deployment\",\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"pinned_deployment\": {\n                                \"allOf\": [\n                                  {\n                                    \"description\": \"The deployment that the app is pinned to.\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"cause\": {\n                                        \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                                        \"title\": \"What caused this deployment to be created\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"cloned_from\": {\n                                        \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                                        \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"created_at\": {\n                                        \"example\": \"2020-07-28T18:00:00Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The creation time of the deployment\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"functions\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"name\": {\n                                              \"example\": \"my-functions-component\",\n                                              \"title\": \"The name of this functions component\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"namespace\": {\n                                              \"description\": \"The namespace where the functions are deployed.\",\n                                              \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_commit_hash\": {\n                                              \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                              \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Functions components that are part of this deployment\",\n                                        \"type\": \"array\"\n                                      },\n                                      \"id\": {\n                                        \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                                        \"title\": \"The ID of the deployment\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"jobs\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"name\": {\n                                              \"example\": \"migrate-db\",\n                                              \"title\": \"The name of this job\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_commit_hash\": {\n                                              \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                              \"title\": \"The commit hash of the repository that was used to build this job\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Job components that are part of this deployment\",\n                                        \"type\": \"array\"\n                                      },\n                                      \"phase\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING_BUILD\",\n                                          \"BUILDING\",\n                                          \"PENDING_DEPLOY\",\n                                          \"DEPLOYING\",\n                                          \"ACTIVE\",\n                                          \"SUPERSEDED\",\n                                          \"ERROR\",\n                                          \"CANCELED\"\n                                        ],\n                                        \"example\": \"ACTIVE\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"phase_last_updated_at\": {\n                                        \"example\": \"0001-01-01T00:00:00Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"When the deployment phase was last updated\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"progress\": {\n                                        \"properties\": {\n                                          \"error_steps\": {\n                                            \"example\": 3,\n                                            \"format\": \"int32\",\n                                            \"title\": \"Number of unsuccessful steps\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"pending_steps\": {\n                                            \"example\": 2,\n                                            \"format\": \"int32\",\n                                            \"title\": \"Number of pending steps\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"running_steps\": {\n                                            \"example\": 2,\n                                            \"format\": \"int32\",\n                                            \"title\": \"Number of currently running steps\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"component_name\": {\n                                                  \"example\": \"component\",\n                                                  \"title\": \"The component name that this step is associated with\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"ended_at\": {\n                                                  \"example\": \"2020-11-19T20:27:18Z\",\n                                                  \"format\": \"date-time\",\n                                                  \"title\": \"The end time of this step\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"message_base\": {\n                                                  \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                                  \"example\": \"Building service\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"example_step\",\n                                                  \"title\": \"The name of this step\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"reason\": {\n                                                  \"properties\": {\n                                                    \"code\": {\n                                                      \"example\": \"Title of Error\",\n                                                      \"title\": \"The error code\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"message\": {\n                                                      \"example\": \"This is an error\",\n                                                      \"title\": \"The error message\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"started_at\": {\n                                                  \"example\": \"2020-11-19T20:27:18Z\",\n                                                  \"format\": \"date-time\",\n                                                  \"title\": \"The start time of this step\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"status\": {\n                                                  \"default\": \"UNKNOWN\",\n                                                  \"enum\": [\n                                                    \"UNKNOWN\",\n                                                    \"PENDING\",\n                                                    \"RUNNING\",\n                                                    \"ERROR\",\n                                                    \"SUCCESS\"\n                                                  ],\n                                                  \"example\": \"SUCCESS\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"steps\": {\n                                                  \"items\": {\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"title\": \"Child steps of this step\",\n                                                  \"type\": \"array\"\n                                                }\n                                              },\n                                              \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"The deployment's steps\",\n                                            \"type\": \"array\"\n                                          },\n                                          \"success_steps\": {\n                                            \"example\": 4,\n                                            \"format\": \"int32\",\n                                            \"title\": \"Number of successful steps\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"summary_steps\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"component_name\": {\n                                                  \"example\": \"component\",\n                                                  \"title\": \"The component name that this step is associated with\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"ended_at\": {\n                                                  \"example\": \"2020-11-19T20:27:18Z\",\n                                                  \"format\": \"date-time\",\n                                                  \"title\": \"The end time of this step\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"message_base\": {\n                                                  \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                                  \"example\": \"Building service\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"example_step\",\n                                                  \"title\": \"The name of this step\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"reason\": {\n                                                  \"properties\": {\n                                                    \"code\": {\n                                                      \"example\": \"Title of Error\",\n                                                      \"title\": \"The error code\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"message\": {\n                                                      \"example\": \"This is an error\",\n                                                      \"title\": \"The error message\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"started_at\": {\n                                                  \"example\": \"2020-11-19T20:27:18Z\",\n                                                  \"format\": \"date-time\",\n                                                  \"title\": \"The start time of this step\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"status\": {\n                                                  \"default\": \"UNKNOWN\",\n                                                  \"enum\": [\n                                                    \"UNKNOWN\",\n                                                    \"PENDING\",\n                                                    \"RUNNING\",\n                                                    \"ERROR\",\n                                                    \"SUCCESS\"\n                                                  ],\n                                                  \"example\": \"SUCCESS\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"steps\": {\n                                                  \"items\": {\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"title\": \"Child steps of this step\",\n                                                  \"type\": \"array\"\n                                                }\n                                              },\n                                              \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"A flattened summary of the steps\",\n                                            \"type\": \"array\"\n                                          },\n                                          \"total_steps\": {\n                                            \"example\": 5,\n                                            \"format\": \"int32\",\n                                            \"title\": \"Total number of steps\",\n                                            \"type\": \"integer\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"services\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"name\": {\n                                              \"example\": \"web\",\n                                              \"title\": \"The name of this service\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_commit_hash\": {\n                                              \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                              \"title\": \"The commit hash of the repository that was used to build this service\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Service components that are part of this deployment\",\n                                        \"type\": \"array\"\n                                      },\n                                      \"spec\": {\n                                        \"description\": \"The desired configuration of an application.\",\n                                        \"properties\": {\n                                          \"databases\": {\n                                            \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"cluster_name\": {\n                                                  \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                                  \"example\": \"cluster_name\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"db_name\": {\n                                                  \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                                  \"example\": \"my_db\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"db_user\": {\n                                                  \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                                  \"example\": \"superuser\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"engine\": {\n                                                  \"default\": \"UNSET\",\n                                                  \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"MYSQL\",\n                                                    \"PG\",\n                                                    \"REDIS\"\n                                                  ],\n                                                  \"example\": \"PG\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"name\": {\n                                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                  \"example\": \"prod-db\",\n                                                  \"maxLength\": 32,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"production\": {\n                                                  \"description\": \"Whether this is a production or dev database.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"version\": {\n                                                  \"description\": \"The version of the database engine\",\n                                                  \"example\": \"12\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"domains\": {\n                                            \"description\": \"A set of hostnames where the application will be available.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"domain\": {\n                                                  \"description\": \"The hostname for the domain\",\n                                                  \"example\": \"app.example.com\",\n                                                  \"maxLength\": 253,\n                                                  \"minLength\": 4,\n                                                  \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"minimum_tls_version\": {\n                                                  \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                                  \"enum\": [\n                                                    \"1.2\",\n                                                    \"1.3\"\n                                                  ],\n                                                  \"example\": \"1.3\",\n                                                  \"maxLength\": 3,\n                                                  \"minLength\": 3,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"UNSPECIFIED\",\n                                                  \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED\",\n                                                    \"DEFAULT\",\n                                                    \"PRIMARY\",\n                                                    \"ALIAS\"\n                                                  ],\n                                                  \"example\": \"DEFAULT\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"wildcard\": {\n                                                  \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"zone\": {\n                                                  \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                                  \"example\": \"example.com\",\n                                                  \"format\": \"hostname\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"domain\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"functions\": {\n                                            \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"alerts\": {\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"disabled\": {\n                                                        \"description\": \"Is the alert disabled?\",\n                                                        \"example\": false,\n                                                        \"type\": \"boolean\"\n                                                      },\n                                                      \"operator\": {\n                                                        \"default\": \"UNSPECIFIED_OPERATOR\",\n                                                        \"enum\": [\n                                                          \"UNSPECIFIED_OPERATOR\",\n                                                          \"GREATER_THAN\",\n                                                          \"LESS_THAN\"\n                                                        ],\n                                                        \"example\": \"GREATER_THAN\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"rule\": {\n                                                        \"default\": \"UNSPECIFIED_RULE\",\n                                                        \"enum\": [\n                                                          \"UNSPECIFIED_RULE\",\n                                                          \"CPU_UTILIZATION\",\n                                                          \"MEM_UTILIZATION\",\n                                                          \"RESTART_COUNT\",\n                                                          \"DEPLOYMENT_FAILED\",\n                                                          \"DEPLOYMENT_LIVE\",\n                                                          \"DOMAIN_FAILED\",\n                                                          \"DOMAIN_LIVE\",\n                                                          \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                          \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                          \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                          \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                          \"FUNCTIONS_ERROR_COUNT\",\n                                                          \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                                        ],\n                                                        \"example\": \"CPU_UTILIZATION\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"value\": {\n                                                        \"description\": \"Threshold value for alert\",\n                                                        \"example\": 2.32,\n                                                        \"format\": \"float\",\n                                                        \"type\": \"number\"\n                                                      },\n                                                      \"window\": {\n                                                        \"default\": \"UNSPECIFIED_WINDOW\",\n                                                        \"enum\": [\n                                                          \"UNSPECIFIED_WINDOW\",\n                                                          \"FIVE_MINUTES\",\n                                                          \"TEN_MINUTES\",\n                                                          \"THIRTY_MINUTES\",\n                                                          \"ONE_HOUR\"\n                                                        ],\n                                                        \"example\": \"FIVE_MINUTES\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"cors\": {\n                                                  \"properties\": {\n                                                    \"allow_credentials\": {\n                                                      \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                      \"example\": false,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"allow_headers\": {\n                                                      \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                      \"example\": [\n                                                        \"Content-Type\",\n                                                        \"X-Custom-Header\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"allow_methods\": {\n                                                      \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                      \"example\": [\n                                                        \"GET\",\n                                                        \"OPTIONS\",\n                                                        \"POST\",\n                                                        \"PUT\",\n                                                        \"PATCH\",\n                                                        \"DELETE\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"allow_origins\": {\n                                                      \"description\": \"The set of allowed CORS origins.\",\n                                                      \"example\": [\n                                                        {\n                                                          \"exact\": \"https://www.example.com\"\n                                                        },\n                                                        {\n                                                          \"regex\": \"^.*example.com\"\n                                                        }\n                                                      ],\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"exact\": {\n                                                            \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                            \"example\": \"https://www.example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"prefix\": {\n                                                            \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                            \"example\": \"https://www.example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"regex\": {\n                                                            \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                            \"example\": \"^.*example.com\",\n                                                            \"maxLength\": 256,\n                                                            \"minLength\": 1,\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"expose_headers\": {\n                                                      \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                      \"example\": [\n                                                        \"Content-Encoding\",\n                                                        \"X-Custom-Header\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"max_age\": {\n                                                      \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                      \"example\": \"5h30m\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"envs\": {\n                                                  \"description\": \"A list of environment variables made available to the component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"key\": {\n                                                        \"description\": \"The variable name\",\n                                                        \"example\": \"BASE_URL\",\n                                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"scope\": {\n                                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                        \"enum\": [\n                                                          \"UNSET\",\n                                                          \"RUN_TIME\",\n                                                          \"BUILD_TIME\",\n                                                          \"RUN_AND_BUILD_TIME\"\n                                                        ],\n                                                        \"example\": \"BUILD_TIME\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": {\n                                                        \"default\": \"GENERAL\",\n                                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                        \"enum\": [\n                                                          \"GENERAL\",\n                                                          \"SECRET\"\n                                                        ],\n                                                        \"example\": \"GENERAL\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"value\": {\n                                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                        \"example\": \"http://example.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"git\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"repo_clone_url\": {\n                                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"github\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"gitlab\": {\n                                                  \"properties\": {\n                                                    \"branch\": {\n                                                      \"description\": \"The name of the branch to use\",\n                                                      \"example\": \"main\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"deploy_on_push\": {\n                                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    },\n                                                    \"repo\": {\n                                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                      \"example\": \"digitalocean/sample-golang\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"log_destinations\": {\n                                                  \"properties\": {\n                                                    \"datadog\": {\n                                                      \"description\": \"DataDog configuration.\",\n                                                      \"properties\": {\n                                                        \"api_key\": {\n                                                          \"description\": \"Datadog API key.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"endpoint\": {\n                                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                          \"example\": \"https://mydatadogendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"api_key\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"logtail\": {\n                                                      \"description\": \"Logtail configuration.\",\n                                                      \"properties\": {\n                                                        \"token\": {\n                                                          \"description\": \"Logtail token.\",\n                                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"example\": \"my_log_destination\",\n                                                      \"maxLength\": 42,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"papertrail\": {\n                                                      \"description\": \"Papertrail configuration.\",\n                                                      \"properties\": {\n                                                        \"endpoint\": {\n                                                          \"description\": \"Papertrail syslog endpoint.\",\n                                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"endpoint\"\n                                                      ],\n                                                      \"type\": \"object\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"title\": \"Configurations for external logging.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                  \"example\": \"api\",\n                                                  \"maxLength\": 32,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"routes\": {\n                                                  \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"path\": {\n                                                        \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                        \"example\": \"/api\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"preserve_path_prefix\": {\n                                                        \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                        \"example\": true,\n                                                        \"type\": \"boolean\"\n                                                      }\n                                                    },\n                                                    \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"source_dir\": {\n                                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                  \"example\": \"path/to/dir\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"jobs\": {\n                                            \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                            \"items\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"properties\": {\n                                                    \"build_command\": {\n                                                      \"description\": \"An optional build command to run while building this component from source.\",\n                                                      \"example\": \"npm run build\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"dockerfile_path\": {\n                                                      \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                      \"example\": \"path/to/Dockerfile\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"environment_slug\": {\n                                                      \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                      \"example\": \"node-js\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"envs\": {\n                                                      \"description\": \"A list of environment variables made available to the component.\",\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"key\": {\n                                                            \"description\": \"The variable name\",\n                                                            \"example\": \"BASE_URL\",\n                                                            \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"scope\": {\n                                                            \"default\": \"RUN_AND_BUILD_TIME\",\n                                                            \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                            \"enum\": [\n                                                              \"UNSET\",\n                                                              \"RUN_TIME\",\n                                                              \"BUILD_TIME\",\n                                                              \"RUN_AND_BUILD_TIME\"\n                                                            ],\n                                                            \"example\": \"BUILD_TIME\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": {\n                                                            \"default\": \"GENERAL\",\n                                                            \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                            \"enum\": [\n                                                              \"GENERAL\",\n                                                              \"SECRET\"\n                                                            ],\n                                                            \"example\": \"GENERAL\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"value\": {\n                                                            \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                            \"example\": \"http://example.com\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"required\": [\n                                                          \"key\"\n                                                        ],\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"git\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repo_clone_url\": {\n                                                          \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                          \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"github\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"gitlab\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"image\": {\n                                                      \"properties\": {\n                                                        \"registry\": {\n                                                          \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                          \"example\": \"registry.hub.docker.com\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"registry_type\": {\n                                                          \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                          \"enum\": [\n                                                            \"DOCKER_HUB\",\n                                                            \"DOCR\"\n                                                          ],\n                                                          \"example\": \"DOCR\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repository\": {\n                                                          \"description\": \"The repository name.\",\n                                                          \"example\": \"origin/master\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"tag\": {\n                                                          \"default\": \"latest\",\n                                                          \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                          \"example\": \"latest\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"log_destinations\": {\n                                                      \"properties\": {\n                                                        \"datadog\": {\n                                                          \"description\": \"DataDog configuration.\",\n                                                          \"properties\": {\n                                                            \"api_key\": {\n                                                              \"description\": \"Datadog API key.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            },\n                                                            \"endpoint\": {\n                                                              \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                              \"example\": \"https://mydatadogendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"api_key\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"logtail\": {\n                                                          \"description\": \"Logtail configuration.\",\n                                                          \"properties\": {\n                                                            \"token\": {\n                                                              \"description\": \"Logtail token.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"name\": {\n                                                          \"example\": \"my_log_destination\",\n                                                          \"maxLength\": 42,\n                                                          \"minLength\": 2,\n                                                          \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"papertrail\": {\n                                                          \"description\": \"Papertrail configuration.\",\n                                                          \"properties\": {\n                                                            \"endpoint\": {\n                                                              \"description\": \"Papertrail syslog endpoint.\",\n                                                              \"example\": \"https://mypapertrailendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"name\"\n                                                      ],\n                                                      \"title\": \"Configurations for external logging.\",\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                      \"example\": \"api\",\n                                                      \"maxLength\": 32,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"run_command\": {\n                                                      \"description\": \"An optional run command to override the component's default.\",\n                                                      \"example\": \"bin/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"source_dir\": {\n                                                      \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                      \"example\": \"path/to/dir\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"properties\": {\n                                                    \"instance_count\": {\n                                                      \"default\": 1,\n                                                      \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                      \"example\": 2,\n                                                      \"format\": \"int64\",\n                                                      \"minimum\": 1,\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"instance_size_slug\": {\n                                                      \"default\": \"basic-xxs\",\n                                                      \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                      \"enum\": [\n                                                        \"basic-xxs\",\n                                                        \"basic-xs\",\n                                                        \"basic-s\",\n                                                        \"basic-m\",\n                                                        \"professional-xs\",\n                                                        \"professional-s\",\n                                                        \"professional-m\",\n                                                        \"professional-1l\",\n                                                        \"professional-l\",\n                                                        \"professional-xl\"\n                                                      ],\n                                                      \"example\": \"basic-xxs\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"properties\": {\n                                                    \"kind\": {\n                                                      \"default\": \"UNSPECIFIED\",\n                                                      \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                                      \"enum\": [\n                                                        \"UNSPECIFIED\",\n                                                        \"PRE_DEPLOY\",\n                                                        \"POST_DEPLOY\",\n                                                        \"FAILED_DEPLOY\"\n                                                      ],\n                                                      \"example\": \"PRE_DEPLOY\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              ]\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                            \"example\": \"web-app-01\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"region\": {\n                                            \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                            \"enum\": [\n                                              \"ams\",\n                                              \"nyc\",\n                                              \"fra\",\n                                              \"sfo\",\n                                              \"sgp\",\n                                              \"blr\",\n                                              \"tor\",\n                                              \"lon\",\n                                              \"syd\"\n                                            ],\n                                            \"example\": \"nyc\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"services\": {\n                                            \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                            \"items\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"properties\": {\n                                                    \"build_command\": {\n                                                      \"description\": \"An optional build command to run while building this component from source.\",\n                                                      \"example\": \"npm run build\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"dockerfile_path\": {\n                                                      \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                      \"example\": \"path/to/Dockerfile\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"environment_slug\": {\n                                                      \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                      \"example\": \"node-js\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"envs\": {\n                                                      \"description\": \"A list of environment variables made available to the component.\",\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"key\": {\n                                                            \"description\": \"The variable name\",\n                                                            \"example\": \"BASE_URL\",\n                                                            \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"scope\": {\n                                                            \"default\": \"RUN_AND_BUILD_TIME\",\n                                                            \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                            \"enum\": [\n                                                              \"UNSET\",\n                                                              \"RUN_TIME\",\n                                                              \"BUILD_TIME\",\n                                                              \"RUN_AND_BUILD_TIME\"\n                                                            ],\n                                                            \"example\": \"BUILD_TIME\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": {\n                                                            \"default\": \"GENERAL\",\n                                                            \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                            \"enum\": [\n                                                              \"GENERAL\",\n                                                              \"SECRET\"\n                                                            ],\n                                                            \"example\": \"GENERAL\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"value\": {\n                                                            \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                            \"example\": \"http://example.com\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"required\": [\n                                                          \"key\"\n                                                        ],\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"git\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repo_clone_url\": {\n                                                          \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                          \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"github\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"gitlab\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"image\": {\n                                                      \"properties\": {\n                                                        \"registry\": {\n                                                          \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                          \"example\": \"registry.hub.docker.com\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"registry_type\": {\n                                                          \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                          \"enum\": [\n                                                            \"DOCKER_HUB\",\n                                                            \"DOCR\"\n                                                          ],\n                                                          \"example\": \"DOCR\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repository\": {\n                                                          \"description\": \"The repository name.\",\n                                                          \"example\": \"origin/master\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"tag\": {\n                                                          \"default\": \"latest\",\n                                                          \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                          \"example\": \"latest\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"log_destinations\": {\n                                                      \"properties\": {\n                                                        \"datadog\": {\n                                                          \"description\": \"DataDog configuration.\",\n                                                          \"properties\": {\n                                                            \"api_key\": {\n                                                              \"description\": \"Datadog API key.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            },\n                                                            \"endpoint\": {\n                                                              \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                              \"example\": \"https://mydatadogendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"api_key\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"logtail\": {\n                                                          \"description\": \"Logtail configuration.\",\n                                                          \"properties\": {\n                                                            \"token\": {\n                                                              \"description\": \"Logtail token.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"name\": {\n                                                          \"example\": \"my_log_destination\",\n                                                          \"maxLength\": 42,\n                                                          \"minLength\": 2,\n                                                          \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"papertrail\": {\n                                                          \"description\": \"Papertrail configuration.\",\n                                                          \"properties\": {\n                                                            \"endpoint\": {\n                                                              \"description\": \"Papertrail syslog endpoint.\",\n                                                              \"example\": \"https://mypapertrailendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"name\"\n                                                      ],\n                                                      \"title\": \"Configurations for external logging.\",\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                      \"example\": \"api\",\n                                                      \"maxLength\": 32,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"run_command\": {\n                                                      \"description\": \"An optional run command to override the component's default.\",\n                                                      \"example\": \"bin/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"source_dir\": {\n                                                      \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                      \"example\": \"path/to/dir\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"properties\": {\n                                                    \"instance_count\": {\n                                                      \"default\": 1,\n                                                      \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                      \"example\": 2,\n                                                      \"format\": \"int64\",\n                                                      \"minimum\": 1,\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"instance_size_slug\": {\n                                                      \"default\": \"basic-xxs\",\n                                                      \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                      \"enum\": [\n                                                        \"basic-xxs\",\n                                                        \"basic-xs\",\n                                                        \"basic-s\",\n                                                        \"basic-m\",\n                                                        \"professional-xs\",\n                                                        \"professional-s\",\n                                                        \"professional-m\",\n                                                        \"professional-1l\",\n                                                        \"professional-l\",\n                                                        \"professional-xl\"\n                                                      ],\n                                                      \"example\": \"basic-xxs\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"properties\": {\n                                                    \"cors\": {\n                                                      \"properties\": {\n                                                        \"allow_credentials\": {\n                                                          \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                          \"example\": false,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"allow_headers\": {\n                                                          \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                          \"example\": [\n                                                            \"Content-Type\",\n                                                            \"X-Custom-Header\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"allow_methods\": {\n                                                          \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                          \"example\": [\n                                                            \"GET\",\n                                                            \"OPTIONS\",\n                                                            \"POST\",\n                                                            \"PUT\",\n                                                            \"PATCH\",\n                                                            \"DELETE\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"allow_origins\": {\n                                                          \"description\": \"The set of allowed CORS origins.\",\n                                                          \"example\": [\n                                                            {\n                                                              \"exact\": \"https://www.example.com\"\n                                                            },\n                                                            {\n                                                              \"regex\": \"^.*example.com\"\n                                                            }\n                                                          ],\n                                                          \"items\": {\n                                                            \"properties\": {\n                                                              \"exact\": {\n                                                                \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                                \"example\": \"https://www.example.com\",\n                                                                \"maxLength\": 256,\n                                                                \"minLength\": 1,\n                                                                \"type\": \"string\"\n                                                              },\n                                                              \"prefix\": {\n                                                                \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                                \"example\": \"https://www.example.com\",\n                                                                \"maxLength\": 256,\n                                                                \"minLength\": 1,\n                                                                \"type\": \"string\"\n                                                              },\n                                                              \"regex\": {\n                                                                \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                                \"example\": \"^.*example.com\",\n                                                                \"maxLength\": 256,\n                                                                \"minLength\": 1,\n                                                                \"type\": \"string\"\n                                                              }\n                                                            },\n                                                            \"type\": \"object\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"expose_headers\": {\n                                                          \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                          \"example\": [\n                                                            \"Content-Encoding\",\n                                                            \"X-Custom-Header\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"max_age\": {\n                                                          \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                          \"example\": \"5h30m\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"health_check\": {\n                                                      \"properties\": {\n                                                        \"failure_threshold\": {\n                                                          \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                          \"example\": 2,\n                                                          \"format\": \"int32\",\n                                                          \"type\": \"integer\"\n                                                        },\n                                                        \"http_path\": {\n                                                          \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                          \"example\": \"/health\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"initial_delay_seconds\": {\n                                                          \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                          \"example\": 30,\n                                                          \"format\": \"int32\",\n                                                          \"type\": \"integer\"\n                                                        },\n                                                        \"period_seconds\": {\n                                                          \"description\": \"The number of seconds to wait between health checks.\",\n                                                          \"example\": 60,\n                                                          \"format\": \"int32\",\n                                                          \"type\": \"integer\"\n                                                        },\n                                                        \"port\": {\n                                                          \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                          \"example\": 80,\n                                                          \"format\": \"int64\",\n                                                          \"maximum\": 65535,\n                                                          \"minimum\": 1,\n                                                          \"type\": \"integer\"\n                                                        },\n                                                        \"success_threshold\": {\n                                                          \"description\": \"The number of successful health checks before considered healthy.\",\n                                                          \"example\": 3,\n                                                          \"format\": \"int32\",\n                                                          \"type\": \"integer\"\n                                                        },\n                                                        \"timeout_seconds\": {\n                                                          \"description\": \"The number of seconds after which the check times out.\",\n                                                          \"example\": 45,\n                                                          \"format\": \"int32\",\n                                                          \"type\": \"integer\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"http_port\": {\n                                                      \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                                      \"example\": 3000,\n                                                      \"format\": \"int64\",\n                                                      \"maximum\": 65535,\n                                                      \"minimum\": 1,\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"internal_ports\": {\n                                                      \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                                      \"example\": [\n                                                        80,\n                                                        443\n                                                      ],\n                                                      \"items\": {\n                                                        \"format\": \"int64\",\n                                                        \"type\": \"integer\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"routes\": {\n                                                      \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"path\": {\n                                                            \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                            \"example\": \"/api\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"preserve_path_prefix\": {\n                                                            \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                            \"example\": true,\n                                                            \"type\": \"boolean\"\n                                                          }\n                                                        },\n                                                        \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"name\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              ]\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"static_sites\": {\n                                            \"description\": \"Content which can be rendered to static web assets.\",\n                                            \"items\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"properties\": {\n                                                    \"build_command\": {\n                                                      \"description\": \"An optional build command to run while building this component from source.\",\n                                                      \"example\": \"npm run build\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"dockerfile_path\": {\n                                                      \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                      \"example\": \"path/to/Dockerfile\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"environment_slug\": {\n                                                      \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                      \"example\": \"node-js\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"envs\": {\n                                                      \"description\": \"A list of environment variables made available to the component.\",\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"key\": {\n                                                            \"description\": \"The variable name\",\n                                                            \"example\": \"BASE_URL\",\n                                                            \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"scope\": {\n                                                            \"default\": \"RUN_AND_BUILD_TIME\",\n                                                            \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                            \"enum\": [\n                                                              \"UNSET\",\n                                                              \"RUN_TIME\",\n                                                              \"BUILD_TIME\",\n                                                              \"RUN_AND_BUILD_TIME\"\n                                                            ],\n                                                            \"example\": \"BUILD_TIME\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": {\n                                                            \"default\": \"GENERAL\",\n                                                            \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                            \"enum\": [\n                                                              \"GENERAL\",\n                                                              \"SECRET\"\n                                                            ],\n                                                            \"example\": \"GENERAL\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"value\": {\n                                                            \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                            \"example\": \"http://example.com\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"required\": [\n                                                          \"key\"\n                                                        ],\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"git\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repo_clone_url\": {\n                                                          \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                          \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"github\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"gitlab\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"image\": {\n                                                      \"properties\": {\n                                                        \"registry\": {\n                                                          \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                          \"example\": \"registry.hub.docker.com\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"registry_type\": {\n                                                          \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                          \"enum\": [\n                                                            \"DOCKER_HUB\",\n                                                            \"DOCR\"\n                                                          ],\n                                                          \"example\": \"DOCR\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repository\": {\n                                                          \"description\": \"The repository name.\",\n                                                          \"example\": \"origin/master\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"tag\": {\n                                                          \"default\": \"latest\",\n                                                          \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                          \"example\": \"latest\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"log_destinations\": {\n                                                      \"properties\": {\n                                                        \"datadog\": {\n                                                          \"description\": \"DataDog configuration.\",\n                                                          \"properties\": {\n                                                            \"api_key\": {\n                                                              \"description\": \"Datadog API key.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            },\n                                                            \"endpoint\": {\n                                                              \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                              \"example\": \"https://mydatadogendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"api_key\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"logtail\": {\n                                                          \"description\": \"Logtail configuration.\",\n                                                          \"properties\": {\n                                                            \"token\": {\n                                                              \"description\": \"Logtail token.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"name\": {\n                                                          \"example\": \"my_log_destination\",\n                                                          \"maxLength\": 42,\n                                                          \"minLength\": 2,\n                                                          \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"papertrail\": {\n                                                          \"description\": \"Papertrail configuration.\",\n                                                          \"properties\": {\n                                                            \"endpoint\": {\n                                                              \"description\": \"Papertrail syslog endpoint.\",\n                                                              \"example\": \"https://mypapertrailendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"name\"\n                                                      ],\n                                                      \"title\": \"Configurations for external logging.\",\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                      \"example\": \"api\",\n                                                      \"maxLength\": 32,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"run_command\": {\n                                                      \"description\": \"An optional run command to override the component's default.\",\n                                                      \"example\": \"bin/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"source_dir\": {\n                                                      \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                      \"example\": \"path/to/dir\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"properties\": {\n                                                    \"catchall_document\": {\n                                                      \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                                      \"example\": \"index.html\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"cors\": {\n                                                      \"properties\": {\n                                                        \"allow_credentials\": {\n                                                          \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                          \"example\": false,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"allow_headers\": {\n                                                          \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                          \"example\": [\n                                                            \"Content-Type\",\n                                                            \"X-Custom-Header\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"allow_methods\": {\n                                                          \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                          \"example\": [\n                                                            \"GET\",\n                                                            \"OPTIONS\",\n                                                            \"POST\",\n                                                            \"PUT\",\n                                                            \"PATCH\",\n                                                            \"DELETE\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"allow_origins\": {\n                                                          \"description\": \"The set of allowed CORS origins.\",\n                                                          \"example\": [\n                                                            {\n                                                              \"exact\": \"https://www.example.com\"\n                                                            },\n                                                            {\n                                                              \"regex\": \"^.*example.com\"\n                                                            }\n                                                          ],\n                                                          \"items\": {\n                                                            \"properties\": {\n                                                              \"exact\": {\n                                                                \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                                \"example\": \"https://www.example.com\",\n                                                                \"maxLength\": 256,\n                                                                \"minLength\": 1,\n                                                                \"type\": \"string\"\n                                                              },\n                                                              \"prefix\": {\n                                                                \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                                \"example\": \"https://www.example.com\",\n                                                                \"maxLength\": 256,\n                                                                \"minLength\": 1,\n                                                                \"type\": \"string\"\n                                                              },\n                                                              \"regex\": {\n                                                                \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                                \"example\": \"^.*example.com\",\n                                                                \"maxLength\": 256,\n                                                                \"minLength\": 1,\n                                                                \"type\": \"string\"\n                                                              }\n                                                            },\n                                                            \"type\": \"object\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"expose_headers\": {\n                                                          \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                          \"example\": [\n                                                            \"Content-Encoding\",\n                                                            \"X-Custom-Header\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": \"array\"\n                                                        },\n                                                        \"max_age\": {\n                                                          \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                          \"example\": \"5h30m\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"error_document\": {\n                                                      \"default\": \"404.html\",\n                                                      \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                                      \"example\": \"error.html\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"index_document\": {\n                                                      \"default\": \"index.html\",\n                                                      \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                                      \"example\": \"main.html\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"output_dir\": {\n                                                      \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                                      \"example\": \"dist/\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"routes\": {\n                                                      \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"path\": {\n                                                            \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                            \"example\": \"/api\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"preserve_path_prefix\": {\n                                                            \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                            \"example\": true,\n                                                            \"type\": \"boolean\"\n                                                          }\n                                                        },\n                                                        \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                }\n                                              ],\n                                              \"required\": [\n                                                \"name\"\n                                              ]\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"workers\": {\n                                            \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                            \"items\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"properties\": {\n                                                    \"build_command\": {\n                                                      \"description\": \"An optional build command to run while building this component from source.\",\n                                                      \"example\": \"npm run build\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"dockerfile_path\": {\n                                                      \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                      \"example\": \"path/to/Dockerfile\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"environment_slug\": {\n                                                      \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                      \"example\": \"node-js\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"envs\": {\n                                                      \"description\": \"A list of environment variables made available to the component.\",\n                                                      \"items\": {\n                                                        \"properties\": {\n                                                          \"key\": {\n                                                            \"description\": \"The variable name\",\n                                                            \"example\": \"BASE_URL\",\n                                                            \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"scope\": {\n                                                            \"default\": \"RUN_AND_BUILD_TIME\",\n                                                            \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                            \"enum\": [\n                                                              \"UNSET\",\n                                                              \"RUN_TIME\",\n                                                              \"BUILD_TIME\",\n                                                              \"RUN_AND_BUILD_TIME\"\n                                                            ],\n                                                            \"example\": \"BUILD_TIME\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"type\": {\n                                                            \"default\": \"GENERAL\",\n                                                            \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                            \"enum\": [\n                                                              \"GENERAL\",\n                                                              \"SECRET\"\n                                                            ],\n                                                            \"example\": \"GENERAL\",\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"value\": {\n                                                            \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                            \"example\": \"http://example.com\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        },\n                                                        \"required\": [\n                                                          \"key\"\n                                                        ],\n                                                        \"type\": \"object\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"git\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repo_clone_url\": {\n                                                          \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                          \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"github\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"gitlab\": {\n                                                      \"properties\": {\n                                                        \"branch\": {\n                                                          \"description\": \"The name of the branch to use\",\n                                                          \"example\": \"main\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"deploy_on_push\": {\n                                                          \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                          \"example\": true,\n                                                          \"type\": \"boolean\"\n                                                        },\n                                                        \"repo\": {\n                                                          \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                          \"example\": \"digitalocean/sample-golang\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"image\": {\n                                                      \"properties\": {\n                                                        \"registry\": {\n                                                          \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                          \"example\": \"registry.hub.docker.com\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"registry_type\": {\n                                                          \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                          \"enum\": [\n                                                            \"DOCKER_HUB\",\n                                                            \"DOCR\"\n                                                          ],\n                                                          \"example\": \"DOCR\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"repository\": {\n                                                          \"description\": \"The repository name.\",\n                                                          \"example\": \"origin/master\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"tag\": {\n                                                          \"default\": \"latest\",\n                                                          \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                          \"example\": \"latest\",\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"log_destinations\": {\n                                                      \"properties\": {\n                                                        \"datadog\": {\n                                                          \"description\": \"DataDog configuration.\",\n                                                          \"properties\": {\n                                                            \"api_key\": {\n                                                              \"description\": \"Datadog API key.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            },\n                                                            \"endpoint\": {\n                                                              \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                              \"example\": \"https://mydatadogendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"api_key\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"logtail\": {\n                                                          \"description\": \"Logtail configuration.\",\n                                                          \"properties\": {\n                                                            \"token\": {\n                                                              \"description\": \"Logtail token.\",\n                                                              \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        },\n                                                        \"name\": {\n                                                          \"example\": \"my_log_destination\",\n                                                          \"maxLength\": 42,\n                                                          \"minLength\": 2,\n                                                          \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"papertrail\": {\n                                                          \"description\": \"Papertrail configuration.\",\n                                                          \"properties\": {\n                                                            \"endpoint\": {\n                                                              \"description\": \"Papertrail syslog endpoint.\",\n                                                              \"example\": \"https://mypapertrailendpoint.com\",\n                                                              \"type\": \"string\"\n                                                            }\n                                                          },\n                                                          \"required\": [\n                                                            \"endpoint\"\n                                                          ],\n                                                          \"type\": \"object\"\n                                                        }\n                                                      },\n                                                      \"required\": [\n                                                        \"name\"\n                                                      ],\n                                                      \"title\": \"Configurations for external logging.\",\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"name\": {\n                                                      \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                      \"example\": \"api\",\n                                                      \"maxLength\": 32,\n                                                      \"minLength\": 2,\n                                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"run_command\": {\n                                                      \"description\": \"An optional run command to override the component's default.\",\n                                                      \"example\": \"bin/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"source_dir\": {\n                                                      \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                      \"example\": \"path/to/dir\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"properties\": {\n                                                    \"instance_count\": {\n                                                      \"default\": 1,\n                                                      \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                      \"example\": 2,\n                                                      \"format\": \"int64\",\n                                                      \"minimum\": 1,\n                                                      \"type\": \"integer\"\n                                                    },\n                                                    \"instance_size_slug\": {\n                                                      \"default\": \"basic-xxs\",\n                                                      \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                      \"enum\": [\n                                                        \"basic-xxs\",\n                                                        \"basic-xs\",\n                                                        \"basic-s\",\n                                                        \"basic-m\",\n                                                        \"professional-xs\",\n                                                        \"professional-s\",\n                                                        \"professional-m\",\n                                                        \"professional-1l\",\n                                                        \"professional-l\",\n                                                        \"professional-xl\"\n                                                      ],\n                                                      \"example\": \"basic-xxs\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                }\n                                              ],\n                                              \"required\": [\n                                                \"name\"\n                                              ]\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"AppSpec\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"static_sites\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"name\": {\n                                              \"example\": \"web\",\n                                              \"title\": \"The name of this static site\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_commit_hash\": {\n                                              \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                              \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Static Site components that are part of this deployment\",\n                                        \"type\": \"array\"\n                                      },\n                                      \"tier_slug\": {\n                                        \"example\": \"basic\",\n                                        \"readOnly\": true,\n                                        \"title\": \"The current pricing tier slug of the deployment\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"updated_at\": {\n                                        \"example\": \"2020-07-28T18:00:00Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"When the deployment was last updated\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"workers\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"name\": {\n                                              \"example\": \"queue-runner\",\n                                              \"title\": \"The name of this worker\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_commit_hash\": {\n                                              \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                              \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Worker components that are part of this deployment\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"An app deployment\",\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"project_id\": {\n                                \"example\": \"88b72d1a-b78a-4d9f-9090-b53c4399073f\",\n                                \"readOnly\": true,\n                                \"title\": \"The ID of the project the app is assigned to. This will be empty if there is a lookup failure.\",\n                                \"type\": \"string\"\n                              },\n                              \"region\": {\n                                \"properties\": {\n                                  \"continent\": {\n                                    \"example\": \"europe\",\n                                    \"readOnly\": true,\n                                    \"title\": \"The continent that this region is in\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"data_centers\": {\n                                    \"example\": [\n                                      \"ams\"\n                                    ],\n                                    \"items\": {\n                                      \"example\": \"ams\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"readOnly\": true,\n                                    \"title\": \"Data centers that are in this region\",\n                                    \"type\": \"array\"\n                                  },\n                                  \"default\": {\n                                    \"description\": \"Whether or not the region is presented as the default.\",\n                                    \"example\": true,\n                                    \"readOnly\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"disabled\": {\n                                    \"example\": true,\n                                    \"readOnly\": true,\n                                    \"title\": \"Whether or not the region is open for new apps\",\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"flag\": {\n                                    \"example\": \"ams\",\n                                    \"readOnly\": true,\n                                    \"title\": \"The flag of this region\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"label\": {\n                                    \"example\": \"ams\",\n                                    \"readOnly\": true,\n                                    \"title\": \"A human-readable name of the region\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"reason\": {\n                                    \"example\": \"to crowded\",\n                                    \"readOnly\": true,\n                                    \"title\": \"Reason that this region is not available\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"slug\": {\n                                    \"example\": \"basic\",\n                                    \"readOnly\": true,\n                                    \"title\": \"The slug form of the region name\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"title\": \"Geographical information about an app origin\",\n                                \"type\": \"object\"\n                              },\n                              \"spec\": {\n                                \"description\": \"The desired configuration of an application.\",\n                                \"properties\": {\n                                  \"databases\": {\n                                    \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"cluster_name\": {\n                                          \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                          \"example\": \"cluster_name\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"db_name\": {\n                                          \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                          \"example\": \"my_db\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"db_user\": {\n                                          \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                          \"example\": \"superuser\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"engine\": {\n                                          \"default\": \"UNSET\",\n                                          \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"MYSQL\",\n                                            \"PG\",\n                                            \"REDIS\"\n                                          ],\n                                          \"example\": \"PG\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"name\": {\n                                          \"description\": \"The name. Must be unique across all components within the same app.\",\n                                          \"example\": \"prod-db\",\n                                          \"maxLength\": 32,\n                                          \"minLength\": 2,\n                                          \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"production\": {\n                                          \"description\": \"Whether this is a production or dev database.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"version\": {\n                                          \"description\": \"The version of the database engine\",\n                                          \"example\": \"12\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"name\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"domains\": {\n                                    \"description\": \"A set of hostnames where the application will be available.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"domain\": {\n                                          \"description\": \"The hostname for the domain\",\n                                          \"example\": \"app.example.com\",\n                                          \"maxLength\": 253,\n                                          \"minLength\": 4,\n                                          \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"minimum_tls_version\": {\n                                          \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                          \"enum\": [\n                                            \"1.2\",\n                                            \"1.3\"\n                                          ],\n                                          \"example\": \"1.3\",\n                                          \"maxLength\": 3,\n                                          \"minLength\": 3,\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"UNSPECIFIED\",\n                                          \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED\",\n                                            \"DEFAULT\",\n                                            \"PRIMARY\",\n                                            \"ALIAS\"\n                                          ],\n                                          \"example\": \"DEFAULT\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"wildcard\": {\n                                          \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"zone\": {\n                                          \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                          \"example\": \"example.com\",\n                                          \"format\": \"hostname\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"domain\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"functions\": {\n                                    \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"alerts\": {\n                                          \"items\": {\n                                            \"properties\": {\n                                              \"disabled\": {\n                                                \"description\": \"Is the alert disabled?\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"operator\": {\n                                                \"default\": \"UNSPECIFIED_OPERATOR\",\n                                                \"enum\": [\n                                                  \"UNSPECIFIED_OPERATOR\",\n                                                  \"GREATER_THAN\",\n                                                  \"LESS_THAN\"\n                                                ],\n                                                \"example\": \"GREATER_THAN\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"rule\": {\n                                                \"default\": \"UNSPECIFIED_RULE\",\n                                                \"enum\": [\n                                                  \"UNSPECIFIED_RULE\",\n                                                  \"CPU_UTILIZATION\",\n                                                  \"MEM_UTILIZATION\",\n                                                  \"RESTART_COUNT\",\n                                                  \"DEPLOYMENT_FAILED\",\n                                                  \"DEPLOYMENT_LIVE\",\n                                                  \"DOMAIN_FAILED\",\n                                                  \"DOMAIN_LIVE\",\n                                                  \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                  \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                  \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                  \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                  \"FUNCTIONS_ERROR_COUNT\",\n                                                  \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                                ],\n                                                \"example\": \"CPU_UTILIZATION\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"value\": {\n                                                \"description\": \"Threshold value for alert\",\n                                                \"example\": 2.32,\n                                                \"format\": \"float\",\n                                                \"type\": \"number\"\n                                              },\n                                              \"window\": {\n                                                \"default\": \"UNSPECIFIED_WINDOW\",\n                                                \"enum\": [\n                                                  \"UNSPECIFIED_WINDOW\",\n                                                  \"FIVE_MINUTES\",\n                                                  \"TEN_MINUTES\",\n                                                  \"THIRTY_MINUTES\",\n                                                  \"ONE_HOUR\"\n                                                ],\n                                                \"example\": \"FIVE_MINUTES\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"cors\": {\n                                          \"properties\": {\n                                            \"allow_credentials\": {\n                                              \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                              \"example\": false,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"allow_headers\": {\n                                              \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                              \"example\": [\n                                                \"Content-Type\",\n                                                \"X-Custom-Header\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"allow_methods\": {\n                                              \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                              \"example\": [\n                                                \"GET\",\n                                                \"OPTIONS\",\n                                                \"POST\",\n                                                \"PUT\",\n                                                \"PATCH\",\n                                                \"DELETE\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"allow_origins\": {\n                                              \"description\": \"The set of allowed CORS origins.\",\n                                              \"example\": [\n                                                {\n                                                  \"exact\": \"https://www.example.com\"\n                                                },\n                                                {\n                                                  \"regex\": \"^.*example.com\"\n                                                }\n                                              ],\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"exact\": {\n                                                    \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                    \"example\": \"https://www.example.com\",\n                                                    \"maxLength\": 256,\n                                                    \"minLength\": 1,\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"prefix\": {\n                                                    \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                    \"example\": \"https://www.example.com\",\n                                                    \"maxLength\": 256,\n                                                    \"minLength\": 1,\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"regex\": {\n                                                    \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                    \"example\": \"^.*example.com\",\n                                                    \"maxLength\": 256,\n                                                    \"minLength\": 1,\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"expose_headers\": {\n                                              \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                              \"example\": [\n                                                \"Content-Encoding\",\n                                                \"X-Custom-Header\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"max_age\": {\n                                              \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                              \"example\": \"5h30m\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"envs\": {\n                                          \"description\": \"A list of environment variables made available to the component.\",\n                                          \"items\": {\n                                            \"properties\": {\n                                              \"key\": {\n                                                \"description\": \"The variable name\",\n                                                \"example\": \"BASE_URL\",\n                                                \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"scope\": {\n                                                \"default\": \"RUN_AND_BUILD_TIME\",\n                                                \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                \"enum\": [\n                                                  \"UNSET\",\n                                                  \"RUN_TIME\",\n                                                  \"BUILD_TIME\",\n                                                  \"RUN_AND_BUILD_TIME\"\n                                                ],\n                                                \"example\": \"BUILD_TIME\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": {\n                                                \"default\": \"GENERAL\",\n                                                \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                \"enum\": [\n                                                  \"GENERAL\",\n                                                  \"SECRET\"\n                                                ],\n                                                \"example\": \"GENERAL\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"value\": {\n                                                \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                \"example\": \"http://example.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"git\": {\n                                          \"properties\": {\n                                            \"branch\": {\n                                              \"description\": \"The name of the branch to use\",\n                                              \"example\": \"main\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"repo_clone_url\": {\n                                              \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                              \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"github\": {\n                                          \"properties\": {\n                                            \"branch\": {\n                                              \"description\": \"The name of the branch to use\",\n                                              \"example\": \"main\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"deploy_on_push\": {\n                                              \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"repo\": {\n                                              \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                              \"example\": \"digitalocean/sample-golang\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"gitlab\": {\n                                          \"properties\": {\n                                            \"branch\": {\n                                              \"description\": \"The name of the branch to use\",\n                                              \"example\": \"main\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"deploy_on_push\": {\n                                              \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"repo\": {\n                                              \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                              \"example\": \"digitalocean/sample-golang\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"log_destinations\": {\n                                          \"properties\": {\n                                            \"datadog\": {\n                                              \"description\": \"DataDog configuration.\",\n                                              \"properties\": {\n                                                \"api_key\": {\n                                                  \"description\": \"Datadog API key.\",\n                                                  \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"endpoint\": {\n                                                  \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                  \"example\": \"https://mydatadogendpoint.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"api_key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"logtail\": {\n                                              \"description\": \"Logtail configuration.\",\n                                              \"properties\": {\n                                                \"token\": {\n                                                  \"description\": \"Logtail token.\",\n                                                  \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"endpoint\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"name\": {\n                                              \"example\": \"my_log_destination\",\n                                              \"maxLength\": 42,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"papertrail\": {\n                                              \"description\": \"Papertrail configuration.\",\n                                              \"properties\": {\n                                                \"endpoint\": {\n                                                  \"description\": \"Papertrail syslog endpoint.\",\n                                                  \"example\": \"https://mypapertrailendpoint.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"endpoint\"\n                                              ],\n                                              \"type\": \"object\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"name\"\n                                          ],\n                                          \"title\": \"Configurations for external logging.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"name\": {\n                                          \"description\": \"The name. Must be unique across all components within the same app.\",\n                                          \"example\": \"api\",\n                                          \"maxLength\": 32,\n                                          \"minLength\": 2,\n                                          \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"routes\": {\n                                          \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                          \"items\": {\n                                            \"properties\": {\n                                              \"path\": {\n                                                \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                \"example\": \"/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"preserve_path_prefix\": {\n                                                \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              }\n                                            },\n                                            \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"source_dir\": {\n                                          \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                          \"example\": \"path/to/dir\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"name\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"jobs\": {\n                                    \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                    \"items\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"build_command\": {\n                                              \"description\": \"An optional build command to run while building this component from source.\",\n                                              \"example\": \"npm run build\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"dockerfile_path\": {\n                                              \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                              \"example\": \"path/to/Dockerfile\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"environment_slug\": {\n                                              \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                              \"example\": \"node-js\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"envs\": {\n                                              \"description\": \"A list of environment variables made available to the component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"key\": {\n                                                    \"description\": \"The variable name\",\n                                                    \"example\": \"BASE_URL\",\n                                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"scope\": {\n                                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                    \"enum\": [\n                                                      \"UNSET\",\n                                                      \"RUN_TIME\",\n                                                      \"BUILD_TIME\",\n                                                      \"RUN_AND_BUILD_TIME\"\n                                                    ],\n                                                    \"example\": \"BUILD_TIME\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": {\n                                                    \"default\": \"GENERAL\",\n                                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                    \"enum\": [\n                                                      \"GENERAL\",\n                                                      \"SECRET\"\n                                                    ],\n                                                    \"example\": \"GENERAL\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"value\": {\n                                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                    \"example\": \"http://example.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"git\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repo_clone_url\": {\n                                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"github\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"gitlab\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"image\": {\n                                              \"properties\": {\n                                                \"registry\": {\n                                                  \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                  \"example\": \"registry.hub.docker.com\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"registry_type\": {\n                                                  \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                  \"enum\": [\n                                                    \"DOCKER_HUB\",\n                                                    \"DOCR\"\n                                                  ],\n                                                  \"example\": \"DOCR\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repository\": {\n                                                  \"description\": \"The repository name.\",\n                                                  \"example\": \"origin/master\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"tag\": {\n                                                  \"default\": \"latest\",\n                                                  \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                  \"example\": \"latest\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"log_destinations\": {\n                                              \"properties\": {\n                                                \"datadog\": {\n                                                  \"description\": \"DataDog configuration.\",\n                                                  \"properties\": {\n                                                    \"api_key\": {\n                                                      \"description\": \"Datadog API key.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"endpoint\": {\n                                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                      \"example\": \"https://mydatadogendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"api_key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"logtail\": {\n                                                  \"description\": \"Logtail configuration.\",\n                                                  \"properties\": {\n                                                    \"token\": {\n                                                      \"description\": \"Logtail token.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"my_log_destination\",\n                                                  \"maxLength\": 42,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"papertrail\": {\n                                                  \"description\": \"Papertrail configuration.\",\n                                                  \"properties\": {\n                                                    \"endpoint\": {\n                                                      \"description\": \"Papertrail syslog endpoint.\",\n                                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"title\": \"Configurations for external logging.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"name\": {\n                                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                                              \"example\": \"api\",\n                                              \"maxLength\": 32,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"run_command\": {\n                                              \"description\": \"An optional run command to override the component's default.\",\n                                              \"example\": \"bin/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_dir\": {\n                                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                              \"example\": \"path/to/dir\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"instance_count\": {\n                                              \"default\": 1,\n                                              \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                              \"example\": 2,\n                                              \"format\": \"int64\",\n                                              \"minimum\": 1,\n                                              \"type\": \"integer\"\n                                            },\n                                            \"instance_size_slug\": {\n                                              \"default\": \"basic-xxs\",\n                                              \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                              \"enum\": [\n                                                \"basic-xxs\",\n                                                \"basic-xs\",\n                                                \"basic-s\",\n                                                \"basic-m\",\n                                                \"professional-xs\",\n                                                \"professional-s\",\n                                                \"professional-m\",\n                                                \"professional-1l\",\n                                                \"professional-l\",\n                                                \"professional-xl\"\n                                              ],\n                                              \"example\": \"basic-xxs\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"kind\": {\n                                              \"default\": \"UNSPECIFIED\",\n                                              \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED\",\n                                                \"PRE_DEPLOY\",\n                                                \"POST_DEPLOY\",\n                                                \"FAILED_DEPLOY\"\n                                              ],\n                                              \"example\": \"PRE_DEPLOY\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"name\"\n                                          ],\n                                          \"type\": \"object\"\n                                        }\n                                      ]\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                    \"example\": \"web-app-01\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"region\": {\n                                    \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                    \"enum\": [\n                                      \"ams\",\n                                      \"nyc\",\n                                      \"fra\",\n                                      \"sfo\",\n                                      \"sgp\",\n                                      \"blr\",\n                                      \"tor\",\n                                      \"lon\",\n                                      \"syd\"\n                                    ],\n                                    \"example\": \"nyc\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"services\": {\n                                    \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                    \"items\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"build_command\": {\n                                              \"description\": \"An optional build command to run while building this component from source.\",\n                                              \"example\": \"npm run build\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"dockerfile_path\": {\n                                              \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                              \"example\": \"path/to/Dockerfile\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"environment_slug\": {\n                                              \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                              \"example\": \"node-js\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"envs\": {\n                                              \"description\": \"A list of environment variables made available to the component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"key\": {\n                                                    \"description\": \"The variable name\",\n                                                    \"example\": \"BASE_URL\",\n                                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"scope\": {\n                                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                    \"enum\": [\n                                                      \"UNSET\",\n                                                      \"RUN_TIME\",\n                                                      \"BUILD_TIME\",\n                                                      \"RUN_AND_BUILD_TIME\"\n                                                    ],\n                                                    \"example\": \"BUILD_TIME\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": {\n                                                    \"default\": \"GENERAL\",\n                                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                    \"enum\": [\n                                                      \"GENERAL\",\n                                                      \"SECRET\"\n                                                    ],\n                                                    \"example\": \"GENERAL\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"value\": {\n                                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                    \"example\": \"http://example.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"git\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repo_clone_url\": {\n                                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"github\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"gitlab\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"image\": {\n                                              \"properties\": {\n                                                \"registry\": {\n                                                  \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                  \"example\": \"registry.hub.docker.com\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"registry_type\": {\n                                                  \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                  \"enum\": [\n                                                    \"DOCKER_HUB\",\n                                                    \"DOCR\"\n                                                  ],\n                                                  \"example\": \"DOCR\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repository\": {\n                                                  \"description\": \"The repository name.\",\n                                                  \"example\": \"origin/master\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"tag\": {\n                                                  \"default\": \"latest\",\n                                                  \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                  \"example\": \"latest\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"log_destinations\": {\n                                              \"properties\": {\n                                                \"datadog\": {\n                                                  \"description\": \"DataDog configuration.\",\n                                                  \"properties\": {\n                                                    \"api_key\": {\n                                                      \"description\": \"Datadog API key.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"endpoint\": {\n                                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                      \"example\": \"https://mydatadogendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"api_key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"logtail\": {\n                                                  \"description\": \"Logtail configuration.\",\n                                                  \"properties\": {\n                                                    \"token\": {\n                                                      \"description\": \"Logtail token.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"my_log_destination\",\n                                                  \"maxLength\": 42,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"papertrail\": {\n                                                  \"description\": \"Papertrail configuration.\",\n                                                  \"properties\": {\n                                                    \"endpoint\": {\n                                                      \"description\": \"Papertrail syslog endpoint.\",\n                                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"title\": \"Configurations for external logging.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"name\": {\n                                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                                              \"example\": \"api\",\n                                              \"maxLength\": 32,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"run_command\": {\n                                              \"description\": \"An optional run command to override the component's default.\",\n                                              \"example\": \"bin/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_dir\": {\n                                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                              \"example\": \"path/to/dir\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"instance_count\": {\n                                              \"default\": 1,\n                                              \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                              \"example\": 2,\n                                              \"format\": \"int64\",\n                                              \"minimum\": 1,\n                                              \"type\": \"integer\"\n                                            },\n                                            \"instance_size_slug\": {\n                                              \"default\": \"basic-xxs\",\n                                              \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                              \"enum\": [\n                                                \"basic-xxs\",\n                                                \"basic-xs\",\n                                                \"basic-s\",\n                                                \"basic-m\",\n                                                \"professional-xs\",\n                                                \"professional-s\",\n                                                \"professional-m\",\n                                                \"professional-1l\",\n                                                \"professional-l\",\n                                                \"professional-xl\"\n                                              ],\n                                              \"example\": \"basic-xxs\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"cors\": {\n                                              \"properties\": {\n                                                \"allow_credentials\": {\n                                                  \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                  \"example\": false,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"allow_headers\": {\n                                                  \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                  \"example\": [\n                                                    \"Content-Type\",\n                                                    \"X-Custom-Header\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"allow_methods\": {\n                                                  \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                  \"example\": [\n                                                    \"GET\",\n                                                    \"OPTIONS\",\n                                                    \"POST\",\n                                                    \"PUT\",\n                                                    \"PATCH\",\n                                                    \"DELETE\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"allow_origins\": {\n                                                  \"description\": \"The set of allowed CORS origins.\",\n                                                  \"example\": [\n                                                    {\n                                                      \"exact\": \"https://www.example.com\"\n                                                    },\n                                                    {\n                                                      \"regex\": \"^.*example.com\"\n                                                    }\n                                                  ],\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"exact\": {\n                                                        \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                        \"example\": \"https://www.example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"prefix\": {\n                                                        \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                        \"example\": \"https://www.example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"regex\": {\n                                                        \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                        \"example\": \"^.*example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"expose_headers\": {\n                                                  \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                  \"example\": [\n                                                    \"Content-Encoding\",\n                                                    \"X-Custom-Header\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"max_age\": {\n                                                  \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                  \"example\": \"5h30m\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"health_check\": {\n                                              \"properties\": {\n                                                \"failure_threshold\": {\n                                                  \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                  \"example\": 2,\n                                                  \"format\": \"int32\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"http_path\": {\n                                                  \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                  \"example\": \"/health\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"initial_delay_seconds\": {\n                                                  \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                  \"example\": 30,\n                                                  \"format\": \"int32\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"period_seconds\": {\n                                                  \"description\": \"The number of seconds to wait between health checks.\",\n                                                  \"example\": 60,\n                                                  \"format\": \"int32\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"port\": {\n                                                  \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                  \"example\": 80,\n                                                  \"format\": \"int64\",\n                                                  \"maximum\": 65535,\n                                                  \"minimum\": 1,\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"success_threshold\": {\n                                                  \"description\": \"The number of successful health checks before considered healthy.\",\n                                                  \"example\": 3,\n                                                  \"format\": \"int32\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"timeout_seconds\": {\n                                                  \"description\": \"The number of seconds after which the check times out.\",\n                                                  \"example\": 45,\n                                                  \"format\": \"int32\",\n                                                  \"type\": \"integer\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"http_port\": {\n                                              \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                              \"example\": 3000,\n                                              \"format\": \"int64\",\n                                              \"maximum\": 65535,\n                                              \"minimum\": 1,\n                                              \"type\": \"integer\"\n                                            },\n                                            \"internal_ports\": {\n                                              \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                              \"example\": [\n                                                80,\n                                                443\n                                              ],\n                                              \"items\": {\n                                                \"format\": \"int64\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"routes\": {\n                                              \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"path\": {\n                                                    \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                    \"example\": \"/api\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"preserve_path_prefix\": {\n                                                    \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  }\n                                                },\n                                                \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"name\"\n                                          ],\n                                          \"type\": \"object\"\n                                        }\n                                      ]\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"static_sites\": {\n                                    \"description\": \"Content which can be rendered to static web assets.\",\n                                    \"items\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"build_command\": {\n                                              \"description\": \"An optional build command to run while building this component from source.\",\n                                              \"example\": \"npm run build\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"dockerfile_path\": {\n                                              \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                              \"example\": \"path/to/Dockerfile\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"environment_slug\": {\n                                              \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                              \"example\": \"node-js\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"envs\": {\n                                              \"description\": \"A list of environment variables made available to the component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"key\": {\n                                                    \"description\": \"The variable name\",\n                                                    \"example\": \"BASE_URL\",\n                                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"scope\": {\n                                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                    \"enum\": [\n                                                      \"UNSET\",\n                                                      \"RUN_TIME\",\n                                                      \"BUILD_TIME\",\n                                                      \"RUN_AND_BUILD_TIME\"\n                                                    ],\n                                                    \"example\": \"BUILD_TIME\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": {\n                                                    \"default\": \"GENERAL\",\n                                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                    \"enum\": [\n                                                      \"GENERAL\",\n                                                      \"SECRET\"\n                                                    ],\n                                                    \"example\": \"GENERAL\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"value\": {\n                                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                    \"example\": \"http://example.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"git\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repo_clone_url\": {\n                                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"github\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"gitlab\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"image\": {\n                                              \"properties\": {\n                                                \"registry\": {\n                                                  \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                  \"example\": \"registry.hub.docker.com\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"registry_type\": {\n                                                  \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                  \"enum\": [\n                                                    \"DOCKER_HUB\",\n                                                    \"DOCR\"\n                                                  ],\n                                                  \"example\": \"DOCR\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repository\": {\n                                                  \"description\": \"The repository name.\",\n                                                  \"example\": \"origin/master\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"tag\": {\n                                                  \"default\": \"latest\",\n                                                  \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                  \"example\": \"latest\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"log_destinations\": {\n                                              \"properties\": {\n                                                \"datadog\": {\n                                                  \"description\": \"DataDog configuration.\",\n                                                  \"properties\": {\n                                                    \"api_key\": {\n                                                      \"description\": \"Datadog API key.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"endpoint\": {\n                                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                      \"example\": \"https://mydatadogendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"api_key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"logtail\": {\n                                                  \"description\": \"Logtail configuration.\",\n                                                  \"properties\": {\n                                                    \"token\": {\n                                                      \"description\": \"Logtail token.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"my_log_destination\",\n                                                  \"maxLength\": 42,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"papertrail\": {\n                                                  \"description\": \"Papertrail configuration.\",\n                                                  \"properties\": {\n                                                    \"endpoint\": {\n                                                      \"description\": \"Papertrail syslog endpoint.\",\n                                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"title\": \"Configurations for external logging.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"name\": {\n                                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                                              \"example\": \"api\",\n                                              \"maxLength\": 32,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"run_command\": {\n                                              \"description\": \"An optional run command to override the component's default.\",\n                                              \"example\": \"bin/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_dir\": {\n                                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                              \"example\": \"path/to/dir\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"catchall_document\": {\n                                              \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                              \"example\": \"index.html\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"cors\": {\n                                              \"properties\": {\n                                                \"allow_credentials\": {\n                                                  \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                  \"example\": false,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"allow_headers\": {\n                                                  \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                  \"example\": [\n                                                    \"Content-Type\",\n                                                    \"X-Custom-Header\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"allow_methods\": {\n                                                  \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                  \"example\": [\n                                                    \"GET\",\n                                                    \"OPTIONS\",\n                                                    \"POST\",\n                                                    \"PUT\",\n                                                    \"PATCH\",\n                                                    \"DELETE\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"allow_origins\": {\n                                                  \"description\": \"The set of allowed CORS origins.\",\n                                                  \"example\": [\n                                                    {\n                                                      \"exact\": \"https://www.example.com\"\n                                                    },\n                                                    {\n                                                      \"regex\": \"^.*example.com\"\n                                                    }\n                                                  ],\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"exact\": {\n                                                        \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                        \"example\": \"https://www.example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"prefix\": {\n                                                        \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                        \"example\": \"https://www.example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"regex\": {\n                                                        \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                        \"example\": \"^.*example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"expose_headers\": {\n                                                  \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                  \"example\": [\n                                                    \"Content-Encoding\",\n                                                    \"X-Custom-Header\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"max_age\": {\n                                                  \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                  \"example\": \"5h30m\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"error_document\": {\n                                              \"default\": \"404.html\",\n                                              \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                              \"example\": \"error.html\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"index_document\": {\n                                              \"default\": \"index.html\",\n                                              \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                              \"example\": \"main.html\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"output_dir\": {\n                                              \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                              \"example\": \"dist/\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"routes\": {\n                                              \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"path\": {\n                                                    \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                    \"example\": \"/api\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"preserve_path_prefix\": {\n                                                    \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  }\n                                                },\n                                                \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        }\n                                      ],\n                                      \"required\": [\n                                        \"name\"\n                                      ]\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"workers\": {\n                                    \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                    \"items\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"build_command\": {\n                                              \"description\": \"An optional build command to run while building this component from source.\",\n                                              \"example\": \"npm run build\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"dockerfile_path\": {\n                                              \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                              \"example\": \"path/to/Dockerfile\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"environment_slug\": {\n                                              \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                              \"example\": \"node-js\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"envs\": {\n                                              \"description\": \"A list of environment variables made available to the component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"key\": {\n                                                    \"description\": \"The variable name\",\n                                                    \"example\": \"BASE_URL\",\n                                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"scope\": {\n                                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                    \"enum\": [\n                                                      \"UNSET\",\n                                                      \"RUN_TIME\",\n                                                      \"BUILD_TIME\",\n                                                      \"RUN_AND_BUILD_TIME\"\n                                                    ],\n                                                    \"example\": \"BUILD_TIME\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": {\n                                                    \"default\": \"GENERAL\",\n                                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                    \"enum\": [\n                                                      \"GENERAL\",\n                                                      \"SECRET\"\n                                                    ],\n                                                    \"example\": \"GENERAL\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"value\": {\n                                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                    \"example\": \"http://example.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"git\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repo_clone_url\": {\n                                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"github\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"gitlab\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"image\": {\n                                              \"properties\": {\n                                                \"registry\": {\n                                                  \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                  \"example\": \"registry.hub.docker.com\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"registry_type\": {\n                                                  \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                  \"enum\": [\n                                                    \"DOCKER_HUB\",\n                                                    \"DOCR\"\n                                                  ],\n                                                  \"example\": \"DOCR\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repository\": {\n                                                  \"description\": \"The repository name.\",\n                                                  \"example\": \"origin/master\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"tag\": {\n                                                  \"default\": \"latest\",\n                                                  \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                  \"example\": \"latest\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"log_destinations\": {\n                                              \"properties\": {\n                                                \"datadog\": {\n                                                  \"description\": \"DataDog configuration.\",\n                                                  \"properties\": {\n                                                    \"api_key\": {\n                                                      \"description\": \"Datadog API key.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"endpoint\": {\n                                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                      \"example\": \"https://mydatadogendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"api_key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"logtail\": {\n                                                  \"description\": \"Logtail configuration.\",\n                                                  \"properties\": {\n                                                    \"token\": {\n                                                      \"description\": \"Logtail token.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"my_log_destination\",\n                                                  \"maxLength\": 42,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"papertrail\": {\n                                                  \"description\": \"Papertrail configuration.\",\n                                                  \"properties\": {\n                                                    \"endpoint\": {\n                                                      \"description\": \"Papertrail syslog endpoint.\",\n                                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"title\": \"Configurations for external logging.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"name\": {\n                                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                                              \"example\": \"api\",\n                                              \"maxLength\": 32,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"run_command\": {\n                                              \"description\": \"An optional run command to override the component's default.\",\n                                              \"example\": \"bin/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_dir\": {\n                                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                              \"example\": \"path/to/dir\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"instance_count\": {\n                                              \"default\": 1,\n                                              \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                              \"example\": 2,\n                                              \"format\": \"int64\",\n                                              \"minimum\": 1,\n                                              \"type\": \"integer\"\n                                            },\n                                            \"instance_size_slug\": {\n                                              \"default\": \"basic-xxs\",\n                                              \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                              \"enum\": [\n                                                \"basic-xxs\",\n                                                \"basic-xs\",\n                                                \"basic-s\",\n                                                \"basic-m\",\n                                                \"professional-xs\",\n                                                \"professional-s\",\n                                                \"professional-m\",\n                                                \"professional-1l\",\n                                                \"professional-l\",\n                                                \"professional-xl\"\n                                              ],\n                                              \"example\": \"basic-xxs\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        }\n                                      ],\n                                      \"required\": [\n                                        \"name\"\n                                      ]\n                                    },\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"title\": \"AppSpec\",\n                                \"type\": \"object\"\n                              },\n                              \"tier_slug\": {\n                                \"example\": \"basic\",\n                                \"readOnly\": true,\n                                \"title\": \"The current pricing tier slug of the app\",\n                                \"type\": \"string\"\n                              },\n                              \"updated_at\": {\n                                \"example\": \"2020-12-01T00:42:16Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"title\": \"Time of the app's last configuration update\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"spec\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"A list of apps\",\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON object with a `apps` key. This is list of object `apps`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Apps\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps\\\"\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"Create a new app by submitting an app specification. For documentation on app specifications (`AppSpec` objects), please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/).\",\n        \"operationId\": \"apps_create\",\n        \"parameters\": [\n          {\n            \"description\": \"The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.\",\n            \"example\": \"application/json\",\n            \"in\": \"header\",\n            \"name\": \"Accept\",\n            \"schema\": {\n              \"enum\": [\n                \"application/json\",\n                \"application/yaml\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.\",\n            \"example\": \"application/json\",\n            \"in\": \"header\",\n            \"name\": \"Content-Type\",\n            \"schema\": {\n              \"enum\": [\n                \"application/json\",\n                \"application/yaml\"\n              ],\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"spec\": {\n                  \"name\": \"web-app\",\n                  \"region\": \"nyc\",\n                  \"services\": [\n                    {\n                      \"environment_slug\": \"node-js\",\n                      \"github\": {\n                        \"branch\": \"main\",\n                        \"deploy_on_push\": true,\n                        \"repo\": \"digitalocean/sample-golang\"\n                      },\n                      \"instance_count\": 2,\n                      \"instance_size_slug\": \"basic-xxs\",\n                      \"name\": \"api\",\n                      \"routes\": [\n                        {\n                          \"path\": \"/api\"\n                        }\n                      ],\n                      \"run_command\": \"bin/api\"\n                    }\n                  ]\n                }\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"project_id\": {\n                    \"description\": \"The ID of the project the app should be assigned to. If omitted, it will be assigned to your default project.\",\n                    \"type\": \"string\"\n                  },\n                  \"spec\": {\n                    \"description\": \"The desired configuration of an application.\",\n                    \"properties\": {\n                      \"databases\": {\n                        \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"cluster_name\": {\n                              \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                              \"example\": \"cluster_name\",\n                              \"type\": \"string\"\n                            },\n                            \"db_name\": {\n                              \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                              \"example\": \"my_db\",\n                              \"type\": \"string\"\n                            },\n                            \"db_user\": {\n                              \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                              \"example\": \"superuser\",\n                              \"type\": \"string\"\n                            },\n                            \"engine\": {\n                              \"default\": \"UNSET\",\n                              \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                              \"enum\": [\n                                \"UNSET\",\n                                \"MYSQL\",\n                                \"PG\",\n                                \"REDIS\"\n                              ],\n                              \"example\": \"PG\",\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                              \"example\": \"prod-db\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"production\": {\n                              \"description\": \"Whether this is a production or dev database.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"version\": {\n                              \"description\": \"The version of the database engine\",\n                              \"example\": \"12\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"domains\": {\n                        \"description\": \"A set of hostnames where the application will be available.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"domain\": {\n                              \"description\": \"The hostname for the domain\",\n                              \"example\": \"app.example.com\",\n                              \"maxLength\": 253,\n                              \"minLength\": 4,\n                              \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                              \"type\": \"string\"\n                            },\n                            \"minimum_tls_version\": {\n                              \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                              \"enum\": [\n                                \"1.2\",\n                                \"1.3\"\n                              ],\n                              \"example\": \"1.3\",\n                              \"maxLength\": 3,\n                              \"minLength\": 3,\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"default\": \"UNSPECIFIED\",\n                              \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                              \"enum\": [\n                                \"UNSPECIFIED\",\n                                \"DEFAULT\",\n                                \"PRIMARY\",\n                                \"ALIAS\"\n                              ],\n                              \"example\": \"DEFAULT\",\n                              \"type\": \"string\"\n                            },\n                            \"wildcard\": {\n                              \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"zone\": {\n                              \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                              \"example\": \"example.com\",\n                              \"format\": \"hostname\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"domain\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"functions\": {\n                        \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"alerts\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"disabled\": {\n                                    \"description\": \"Is the alert disabled?\",\n                                    \"example\": false,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"operator\": {\n                                    \"default\": \"UNSPECIFIED_OPERATOR\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED_OPERATOR\",\n                                      \"GREATER_THAN\",\n                                      \"LESS_THAN\"\n                                    ],\n                                    \"example\": \"GREATER_THAN\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"rule\": {\n                                    \"default\": \"UNSPECIFIED_RULE\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED_RULE\",\n                                      \"CPU_UTILIZATION\",\n                                      \"MEM_UTILIZATION\",\n                                      \"RESTART_COUNT\",\n                                      \"DEPLOYMENT_FAILED\",\n                                      \"DEPLOYMENT_LIVE\",\n                                      \"DOMAIN_FAILED\",\n                                      \"DOMAIN_LIVE\",\n                                      \"FUNCTIONS_ACTIVATION_COUNT\",\n                                      \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                      \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                      \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                      \"FUNCTIONS_ERROR_COUNT\",\n                                      \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                    ],\n                                    \"example\": \"CPU_UTILIZATION\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"value\": {\n                                    \"description\": \"Threshold value for alert\",\n                                    \"example\": 2.32,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  },\n                                  \"window\": {\n                                    \"default\": \"UNSPECIFIED_WINDOW\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED_WINDOW\",\n                                      \"FIVE_MINUTES\",\n                                      \"TEN_MINUTES\",\n                                      \"THIRTY_MINUTES\",\n                                      \"ONE_HOUR\"\n                                    ],\n                                    \"example\": \"FIVE_MINUTES\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"cors\": {\n                              \"properties\": {\n                                \"allow_credentials\": {\n                                  \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                },\n                                \"allow_headers\": {\n                                  \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                  \"example\": [\n                                    \"Content-Type\",\n                                    \"X-Custom-Header\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"allow_methods\": {\n                                  \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                  \"example\": [\n                                    \"GET\",\n                                    \"OPTIONS\",\n                                    \"POST\",\n                                    \"PUT\",\n                                    \"PATCH\",\n                                    \"DELETE\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"allow_origins\": {\n                                  \"description\": \"The set of allowed CORS origins.\",\n                                  \"example\": [\n                                    {\n                                      \"exact\": \"https://www.example.com\"\n                                    },\n                                    {\n                                      \"regex\": \"^.*example.com\"\n                                    }\n                                  ],\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"exact\": {\n                                        \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                        \"example\": \"https://www.example.com\",\n                                        \"maxLength\": 256,\n                                        \"minLength\": 1,\n                                        \"type\": \"string\"\n                                      },\n                                      \"prefix\": {\n                                        \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                        \"example\": \"https://www.example.com\",\n                                        \"maxLength\": 256,\n                                        \"minLength\": 1,\n                                        \"type\": \"string\"\n                                      },\n                                      \"regex\": {\n                                        \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                        \"example\": \"^.*example.com\",\n                                        \"maxLength\": 256,\n                                        \"minLength\": 1,\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"expose_headers\": {\n                                  \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                  \"example\": [\n                                    \"Content-Encoding\",\n                                    \"X-Custom-Header\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"max_age\": {\n                                  \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                  \"example\": \"5h30m\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"envs\": {\n                              \"description\": \"A list of environment variables made available to the component.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"key\": {\n                                    \"description\": \"The variable name\",\n                                    \"example\": \"BASE_URL\",\n                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"scope\": {\n                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                    \"enum\": [\n                                      \"UNSET\",\n                                      \"RUN_TIME\",\n                                      \"BUILD_TIME\",\n                                      \"RUN_AND_BUILD_TIME\"\n                                    ],\n                                    \"example\": \"BUILD_TIME\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"GENERAL\",\n                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                    \"enum\": [\n                                      \"GENERAL\",\n                                      \"SECRET\"\n                                    ],\n                                    \"example\": \"GENERAL\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"value\": {\n                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                    \"example\": \"http://example.com\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"key\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"git\": {\n                              \"properties\": {\n                                \"branch\": {\n                                  \"description\": \"The name of the branch to use\",\n                                  \"example\": \"main\",\n                                  \"type\": \"string\"\n                                },\n                                \"repo_clone_url\": {\n                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"github\": {\n                              \"properties\": {\n                                \"branch\": {\n                                  \"description\": \"The name of the branch to use\",\n                                  \"example\": \"main\",\n                                  \"type\": \"string\"\n                                },\n                                \"deploy_on_push\": {\n                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"repo\": {\n                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                  \"example\": \"digitalocean/sample-golang\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"gitlab\": {\n                              \"properties\": {\n                                \"branch\": {\n                                  \"description\": \"The name of the branch to use\",\n                                  \"example\": \"main\",\n                                  \"type\": \"string\"\n                                },\n                                \"deploy_on_push\": {\n                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"repo\": {\n                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                  \"example\": \"digitalocean/sample-golang\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"log_destinations\": {\n                              \"properties\": {\n                                \"datadog\": {\n                                  \"description\": \"DataDog configuration.\",\n                                  \"properties\": {\n                                    \"api_key\": {\n                                      \"description\": \"Datadog API key.\",\n                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"endpoint\": {\n                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                      \"example\": \"https://mydatadogendpoint.com\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"api_key\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"logtail\": {\n                                  \"description\": \"Logtail configuration.\",\n                                  \"properties\": {\n                                    \"token\": {\n                                      \"description\": \"Logtail token.\",\n                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"endpoint\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"example\": \"my_log_destination\",\n                                  \"maxLength\": 42,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"papertrail\": {\n                                  \"description\": \"Papertrail configuration.\",\n                                  \"properties\": {\n                                    \"endpoint\": {\n                                      \"description\": \"Papertrail syslog endpoint.\",\n                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"endpoint\"\n                                  ],\n                                  \"type\": \"object\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"title\": \"Configurations for external logging.\",\n                              \"type\": \"object\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                              \"example\": \"api\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"routes\": {\n                              \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"path\": {\n                                    \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                    \"example\": \"/api\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"preserve_path_prefix\": {\n                                    \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  }\n                                },\n                                \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"source_dir\": {\n                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                              \"example\": \"path/to/dir\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"jobs\": {\n                        \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"build_command\": {\n                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                  \"example\": \"npm run build\",\n                                  \"type\": \"string\"\n                                },\n                                \"dockerfile_path\": {\n                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                  \"example\": \"path/to/Dockerfile\",\n                                  \"type\": \"string\"\n                                },\n                                \"environment_slug\": {\n                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                  \"example\": \"node-js\",\n                                  \"type\": \"string\"\n                                },\n                                \"envs\": {\n                                  \"description\": \"A list of environment variables made available to the component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"key\": {\n                                        \"description\": \"The variable name\",\n                                        \"example\": \"BASE_URL\",\n                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"scope\": {\n                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"RUN_TIME\",\n                                          \"BUILD_TIME\",\n                                          \"RUN_AND_BUILD_TIME\"\n                                        ],\n                                        \"example\": \"BUILD_TIME\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"GENERAL\",\n                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                        \"enum\": [\n                                          \"GENERAL\",\n                                          \"SECRET\"\n                                        ],\n                                        \"example\": \"GENERAL\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"value\": {\n                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                        \"example\": \"http://example.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"git\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repo_clone_url\": {\n                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"github\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"gitlab\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"registry\": {\n                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                      \"example\": \"registry.hub.docker.com\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"registry_type\": {\n                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                      \"enum\": [\n                                        \"DOCKER_HUB\",\n                                        \"DOCR\"\n                                      ],\n                                      \"example\": \"DOCR\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repository\": {\n                                      \"description\": \"The repository name.\",\n                                      \"example\": \"origin/master\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tag\": {\n                                      \"default\": \"latest\",\n                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                      \"example\": \"latest\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"log_destinations\": {\n                                  \"properties\": {\n                                    \"datadog\": {\n                                      \"description\": \"DataDog configuration.\",\n                                      \"properties\": {\n                                        \"api_key\": {\n                                          \"description\": \"Datadog API key.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"endpoint\": {\n                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                          \"example\": \"https://mydatadogendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"api_key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"logtail\": {\n                                      \"description\": \"Logtail configuration.\",\n                                      \"properties\": {\n                                        \"token\": {\n                                          \"description\": \"Logtail token.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"my_log_destination\",\n                                      \"maxLength\": 42,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"papertrail\": {\n                                      \"description\": \"Papertrail configuration.\",\n                                      \"properties\": {\n                                        \"endpoint\": {\n                                          \"description\": \"Papertrail syslog endpoint.\",\n                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"Configurations for external logging.\",\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                  \"example\": \"api\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"run_command\": {\n                                  \"description\": \"An optional run command to override the component's default.\",\n                                  \"example\": \"bin/api\",\n                                  \"type\": \"string\"\n                                },\n                                \"source_dir\": {\n                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                  \"example\": \"path/to/dir\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"instance_count\": {\n                                  \"default\": 1,\n                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                  \"example\": 2,\n                                  \"format\": \"int64\",\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"instance_size_slug\": {\n                                  \"default\": \"basic-xxs\",\n                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                  \"enum\": [\n                                    \"basic-xxs\",\n                                    \"basic-xs\",\n                                    \"basic-s\",\n                                    \"basic-m\",\n                                    \"professional-xs\",\n                                    \"professional-s\",\n                                    \"professional-m\",\n                                    \"professional-1l\",\n                                    \"professional-l\",\n                                    \"professional-xl\"\n                                  ],\n                                  \"example\": \"basic-xxs\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"kind\": {\n                                  \"default\": \"UNSPECIFIED\",\n                                  \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                  \"enum\": [\n                                    \"UNSPECIFIED\",\n                                    \"PRE_DEPLOY\",\n                                    \"POST_DEPLOY\",\n                                    \"FAILED_DEPLOY\"\n                                  ],\n                                  \"example\": \"PRE_DEPLOY\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"name\": {\n                        \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                        \"example\": \"web-app-01\",\n                        \"maxLength\": 32,\n                        \"minLength\": 2,\n                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                        \"type\": \"string\"\n                      },\n                      \"region\": {\n                        \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                        \"enum\": [\n                          \"ams\",\n                          \"nyc\",\n                          \"fra\",\n                          \"sfo\",\n                          \"sgp\",\n                          \"blr\",\n                          \"tor\",\n                          \"lon\",\n                          \"syd\"\n                        ],\n                        \"example\": \"nyc\",\n                        \"type\": \"string\"\n                      },\n                      \"services\": {\n                        \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"build_command\": {\n                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                  \"example\": \"npm run build\",\n                                  \"type\": \"string\"\n                                },\n                                \"dockerfile_path\": {\n                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                  \"example\": \"path/to/Dockerfile\",\n                                  \"type\": \"string\"\n                                },\n                                \"environment_slug\": {\n                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                  \"example\": \"node-js\",\n                                  \"type\": \"string\"\n                                },\n                                \"envs\": {\n                                  \"description\": \"A list of environment variables made available to the component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"key\": {\n                                        \"description\": \"The variable name\",\n                                        \"example\": \"BASE_URL\",\n                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"scope\": {\n                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"RUN_TIME\",\n                                          \"BUILD_TIME\",\n                                          \"RUN_AND_BUILD_TIME\"\n                                        ],\n                                        \"example\": \"BUILD_TIME\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"GENERAL\",\n                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                        \"enum\": [\n                                          \"GENERAL\",\n                                          \"SECRET\"\n                                        ],\n                                        \"example\": \"GENERAL\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"value\": {\n                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                        \"example\": \"http://example.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"git\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repo_clone_url\": {\n                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"github\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"gitlab\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"registry\": {\n                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                      \"example\": \"registry.hub.docker.com\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"registry_type\": {\n                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                      \"enum\": [\n                                        \"DOCKER_HUB\",\n                                        \"DOCR\"\n                                      ],\n                                      \"example\": \"DOCR\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repository\": {\n                                      \"description\": \"The repository name.\",\n                                      \"example\": \"origin/master\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tag\": {\n                                      \"default\": \"latest\",\n                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                      \"example\": \"latest\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"log_destinations\": {\n                                  \"properties\": {\n                                    \"datadog\": {\n                                      \"description\": \"DataDog configuration.\",\n                                      \"properties\": {\n                                        \"api_key\": {\n                                          \"description\": \"Datadog API key.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"endpoint\": {\n                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                          \"example\": \"https://mydatadogendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"api_key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"logtail\": {\n                                      \"description\": \"Logtail configuration.\",\n                                      \"properties\": {\n                                        \"token\": {\n                                          \"description\": \"Logtail token.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"my_log_destination\",\n                                      \"maxLength\": 42,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"papertrail\": {\n                                      \"description\": \"Papertrail configuration.\",\n                                      \"properties\": {\n                                        \"endpoint\": {\n                                          \"description\": \"Papertrail syslog endpoint.\",\n                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"Configurations for external logging.\",\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                  \"example\": \"api\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"run_command\": {\n                                  \"description\": \"An optional run command to override the component's default.\",\n                                  \"example\": \"bin/api\",\n                                  \"type\": \"string\"\n                                },\n                                \"source_dir\": {\n                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                  \"example\": \"path/to/dir\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"instance_count\": {\n                                  \"default\": 1,\n                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                  \"example\": 2,\n                                  \"format\": \"int64\",\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"instance_size_slug\": {\n                                  \"default\": \"basic-xxs\",\n                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                  \"enum\": [\n                                    \"basic-xxs\",\n                                    \"basic-xs\",\n                                    \"basic-s\",\n                                    \"basic-m\",\n                                    \"professional-xs\",\n                                    \"professional-s\",\n                                    \"professional-m\",\n                                    \"professional-1l\",\n                                    \"professional-l\",\n                                    \"professional-xl\"\n                                  ],\n                                  \"example\": \"basic-xxs\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"cors\": {\n                                  \"properties\": {\n                                    \"allow_credentials\": {\n                                      \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                      \"example\": false,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"allow_headers\": {\n                                      \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                      \"example\": [\n                                        \"Content-Type\",\n                                        \"X-Custom-Header\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"allow_methods\": {\n                                      \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                      \"example\": [\n                                        \"GET\",\n                                        \"OPTIONS\",\n                                        \"POST\",\n                                        \"PUT\",\n                                        \"PATCH\",\n                                        \"DELETE\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"allow_origins\": {\n                                      \"description\": \"The set of allowed CORS origins.\",\n                                      \"example\": [\n                                        {\n                                          \"exact\": \"https://www.example.com\"\n                                        },\n                                        {\n                                          \"regex\": \"^.*example.com\"\n                                        }\n                                      ],\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"exact\": {\n                                            \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                            \"example\": \"https://www.example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          },\n                                          \"prefix\": {\n                                            \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                            \"example\": \"https://www.example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          },\n                                          \"regex\": {\n                                            \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                            \"example\": \"^.*example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"expose_headers\": {\n                                      \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                      \"example\": [\n                                        \"Content-Encoding\",\n                                        \"X-Custom-Header\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"max_age\": {\n                                      \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                      \"example\": \"5h30m\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"health_check\": {\n                                  \"properties\": {\n                                    \"failure_threshold\": {\n                                      \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"http_path\": {\n                                      \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                      \"example\": \"/health\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"initial_delay_seconds\": {\n                                      \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                      \"example\": 30,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"period_seconds\": {\n                                      \"description\": \"The number of seconds to wait between health checks.\",\n                                      \"example\": 60,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"port\": {\n                                      \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                      \"example\": 80,\n                                      \"format\": \"int64\",\n                                      \"maximum\": 65535,\n                                      \"minimum\": 1,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"success_threshold\": {\n                                      \"description\": \"The number of successful health checks before considered healthy.\",\n                                      \"example\": 3,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"timeout_seconds\": {\n                                      \"description\": \"The number of seconds after which the check times out.\",\n                                      \"example\": 45,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"http_port\": {\n                                  \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                  \"example\": 3000,\n                                  \"format\": \"int64\",\n                                  \"maximum\": 65535,\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"internal_ports\": {\n                                  \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                  \"example\": [\n                                    80,\n                                    443\n                                  ],\n                                  \"items\": {\n                                    \"format\": \"int64\",\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"routes\": {\n                                  \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"path\": {\n                                        \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                        \"example\": \"/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"preserve_path_prefix\": {\n                                        \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      }\n                                    },\n                                    \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"static_sites\": {\n                        \"description\": \"Content which can be rendered to static web assets.\",\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"build_command\": {\n                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                  \"example\": \"npm run build\",\n                                  \"type\": \"string\"\n                                },\n                                \"dockerfile_path\": {\n                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                  \"example\": \"path/to/Dockerfile\",\n                                  \"type\": \"string\"\n                                },\n                                \"environment_slug\": {\n                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                  \"example\": \"node-js\",\n                                  \"type\": \"string\"\n                                },\n                                \"envs\": {\n                                  \"description\": \"A list of environment variables made available to the component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"key\": {\n                                        \"description\": \"The variable name\",\n                                        \"example\": \"BASE_URL\",\n                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"scope\": {\n                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"RUN_TIME\",\n                                          \"BUILD_TIME\",\n                                          \"RUN_AND_BUILD_TIME\"\n                                        ],\n                                        \"example\": \"BUILD_TIME\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"GENERAL\",\n                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                        \"enum\": [\n                                          \"GENERAL\",\n                                          \"SECRET\"\n                                        ],\n                                        \"example\": \"GENERAL\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"value\": {\n                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                        \"example\": \"http://example.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"git\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repo_clone_url\": {\n                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"github\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"gitlab\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"registry\": {\n                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                      \"example\": \"registry.hub.docker.com\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"registry_type\": {\n                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                      \"enum\": [\n                                        \"DOCKER_HUB\",\n                                        \"DOCR\"\n                                      ],\n                                      \"example\": \"DOCR\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repository\": {\n                                      \"description\": \"The repository name.\",\n                                      \"example\": \"origin/master\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tag\": {\n                                      \"default\": \"latest\",\n                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                      \"example\": \"latest\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"log_destinations\": {\n                                  \"properties\": {\n                                    \"datadog\": {\n                                      \"description\": \"DataDog configuration.\",\n                                      \"properties\": {\n                                        \"api_key\": {\n                                          \"description\": \"Datadog API key.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"endpoint\": {\n                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                          \"example\": \"https://mydatadogendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"api_key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"logtail\": {\n                                      \"description\": \"Logtail configuration.\",\n                                      \"properties\": {\n                                        \"token\": {\n                                          \"description\": \"Logtail token.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"my_log_destination\",\n                                      \"maxLength\": 42,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"papertrail\": {\n                                      \"description\": \"Papertrail configuration.\",\n                                      \"properties\": {\n                                        \"endpoint\": {\n                                          \"description\": \"Papertrail syslog endpoint.\",\n                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"Configurations for external logging.\",\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                  \"example\": \"api\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"run_command\": {\n                                  \"description\": \"An optional run command to override the component's default.\",\n                                  \"example\": \"bin/api\",\n                                  \"type\": \"string\"\n                                },\n                                \"source_dir\": {\n                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                  \"example\": \"path/to/dir\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"catchall_document\": {\n                                  \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                  \"example\": \"index.html\",\n                                  \"type\": \"string\"\n                                },\n                                \"cors\": {\n                                  \"properties\": {\n                                    \"allow_credentials\": {\n                                      \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                      \"example\": false,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"allow_headers\": {\n                                      \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                      \"example\": [\n                                        \"Content-Type\",\n                                        \"X-Custom-Header\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"allow_methods\": {\n                                      \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                      \"example\": [\n                                        \"GET\",\n                                        \"OPTIONS\",\n                                        \"POST\",\n                                        \"PUT\",\n                                        \"PATCH\",\n                                        \"DELETE\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"allow_origins\": {\n                                      \"description\": \"The set of allowed CORS origins.\",\n                                      \"example\": [\n                                        {\n                                          \"exact\": \"https://www.example.com\"\n                                        },\n                                        {\n                                          \"regex\": \"^.*example.com\"\n                                        }\n                                      ],\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"exact\": {\n                                            \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                            \"example\": \"https://www.example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          },\n                                          \"prefix\": {\n                                            \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                            \"example\": \"https://www.example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          },\n                                          \"regex\": {\n                                            \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                            \"example\": \"^.*example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"expose_headers\": {\n                                      \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                      \"example\": [\n                                        \"Content-Encoding\",\n                                        \"X-Custom-Header\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"max_age\": {\n                                      \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                      \"example\": \"5h30m\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"error_document\": {\n                                  \"default\": \"404.html\",\n                                  \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                  \"example\": \"error.html\",\n                                  \"type\": \"string\"\n                                },\n                                \"index_document\": {\n                                  \"default\": \"index.html\",\n                                  \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                  \"example\": \"main.html\",\n                                  \"type\": \"string\"\n                                },\n                                \"output_dir\": {\n                                  \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                  \"example\": \"dist/\",\n                                  \"type\": \"string\"\n                                },\n                                \"routes\": {\n                                  \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"path\": {\n                                        \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                        \"example\": \"/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"preserve_path_prefix\": {\n                                        \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      }\n                                    },\n                                    \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ],\n                          \"required\": [\n                            \"name\"\n                          ]\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"workers\": {\n                        \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"build_command\": {\n                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                  \"example\": \"npm run build\",\n                                  \"type\": \"string\"\n                                },\n                                \"dockerfile_path\": {\n                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                  \"example\": \"path/to/Dockerfile\",\n                                  \"type\": \"string\"\n                                },\n                                \"environment_slug\": {\n                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                  \"example\": \"node-js\",\n                                  \"type\": \"string\"\n                                },\n                                \"envs\": {\n                                  \"description\": \"A list of environment variables made available to the component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"key\": {\n                                        \"description\": \"The variable name\",\n                                        \"example\": \"BASE_URL\",\n                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"scope\": {\n                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"RUN_TIME\",\n                                          \"BUILD_TIME\",\n                                          \"RUN_AND_BUILD_TIME\"\n                                        ],\n                                        \"example\": \"BUILD_TIME\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"GENERAL\",\n                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                        \"enum\": [\n                                          \"GENERAL\",\n                                          \"SECRET\"\n                                        ],\n                                        \"example\": \"GENERAL\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"value\": {\n                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                        \"example\": \"http://example.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"git\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repo_clone_url\": {\n                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"github\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"gitlab\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"registry\": {\n                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                      \"example\": \"registry.hub.docker.com\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"registry_type\": {\n                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                      \"enum\": [\n                                        \"DOCKER_HUB\",\n                                        \"DOCR\"\n                                      ],\n                                      \"example\": \"DOCR\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repository\": {\n                                      \"description\": \"The repository name.\",\n                                      \"example\": \"origin/master\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tag\": {\n                                      \"default\": \"latest\",\n                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                      \"example\": \"latest\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"log_destinations\": {\n                                  \"properties\": {\n                                    \"datadog\": {\n                                      \"description\": \"DataDog configuration.\",\n                                      \"properties\": {\n                                        \"api_key\": {\n                                          \"description\": \"Datadog API key.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"endpoint\": {\n                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                          \"example\": \"https://mydatadogendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"api_key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"logtail\": {\n                                      \"description\": \"Logtail configuration.\",\n                                      \"properties\": {\n                                        \"token\": {\n                                          \"description\": \"Logtail token.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"my_log_destination\",\n                                      \"maxLength\": 42,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"papertrail\": {\n                                      \"description\": \"Papertrail configuration.\",\n                                      \"properties\": {\n                                        \"endpoint\": {\n                                          \"description\": \"Papertrail syslog endpoint.\",\n                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"Configurations for external logging.\",\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                  \"example\": \"api\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"run_command\": {\n                                  \"description\": \"An optional run command to override the component's default.\",\n                                  \"example\": \"bin/api\",\n                                  \"type\": \"string\"\n                                },\n                                \"source_dir\": {\n                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                  \"example\": \"path/to/dir\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"instance_count\": {\n                                  \"default\": 1,\n                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                  \"example\": 2,\n                                  \"format\": \"int64\",\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"instance_size_slug\": {\n                                  \"default\": \"basic-xxs\",\n                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                  \"enum\": [\n                                    \"basic-xxs\",\n                                    \"basic-xs\",\n                                    \"basic-s\",\n                                    \"basic-m\",\n                                    \"professional-xs\",\n                                    \"professional-s\",\n                                    \"professional-m\",\n                                    \"professional-1l\",\n                                    \"professional-l\",\n                                    \"professional-xl\"\n                                  ],\n                                  \"example\": \"basic-xxs\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ],\n                          \"required\": [\n                            \"name\"\n                          ]\n                        },\n                        \"type\": \"array\"\n                      }\n                    },\n                    \"required\": [\n                      \"name\"\n                    ],\n                    \"title\": \"AppSpec\",\n                    \"type\": \"object\"\n                  }\n                },\n                \"required\": [\n                  \"spec\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"app\": {\n                    \"value\": {\n                      \"app\": {\n                        \"active_deployment\": {\n                          \"cause\": \"manual\",\n                          \"created_at\": \"2021-02-10T17:05:30Z\",\n                          \"id\": \"991dfa59-6a23-459f-86d6-67dfa2c6f1e3\",\n                          \"phase\": \"ACTIVE\",\n                          \"phase_last_updated_at\": \"2021-02-10T17:06:53Z\",\n                          \"progress\": {\n                            \"steps\": [\n                              {\n                                \"ended_at\": \"2021-02-10T17:06:19.807834070Z\",\n                                \"name\": \"build\",\n                                \"started_at\": \"2021-02-10T17:05:35.572287990Z\",\n                                \"status\": \"SUCCESS\",\n                                \"steps\": [\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:05:36.093995229Z\",\n                                    \"name\": \"initialize\",\n                                    \"started_at\": \"2021-02-10T17:05:35.572347485Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:06:19.461737040Z\",\n                                    \"name\": \"components\",\n                                    \"started_at\": \"2021-02-10T17:05:36.094015928Z\",\n                                    \"status\": \"SUCCESS\",\n                                    \"steps\": [\n                                      {\n                                        \"component_name\": \"web\",\n                                        \"message_base\": \"Building service\",\n                                        \"name\": \"web\",\n                                        \"status\": \"SUCCESS\"\n                                      }\n                                    ]\n                                  }\n                                ]\n                              },\n                              {\n                                \"ended_at\": \"2021-02-10T17:06:53.404104185Z\",\n                                \"name\": \"deploy\",\n                                \"started_at\": \"2021-02-10T17:06:25.143932418Z\",\n                                \"status\": \"SUCCESS\",\n                                \"steps\": [\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:06:26.120343872Z\",\n                                    \"name\": \"initialize\",\n                                    \"started_at\": \"2021-02-10T17:06:25.143957508Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:06:50.029695913Z\",\n                                    \"name\": \"components\",\n                                    \"started_at\": \"2021-02-10T17:06:26.120385561Z\",\n                                    \"status\": \"SUCCESS\",\n                                    \"steps\": [\n                                      {\n                                        \"component_name\": \"web\",\n                                        \"name\": \"web\",\n                                        \"status\": \"SUCCESS\",\n                                        \"steps\": [\n                                          {\n                                            \"component_name\": \"web\",\n                                            \"message_base\": \"Deploying service\",\n                                            \"name\": \"deploy\",\n                                            \"status\": \"SUCCESS\"\n                                          },\n                                          {\n                                            \"component_name\": \"web\",\n                                            \"message_base\": \"Waiting for service\",\n                                            \"name\": \"wait\",\n                                            \"status\": \"SUCCESS\"\n                                          }\n                                        ]\n                                      }\n                                    ]\n                                  },\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:06:53.404065961Z\",\n                                    \"name\": \"finalize\",\n                                    \"started_at\": \"2021-02-10T17:06:50.348459495Z\",\n                                    \"status\": \"SUCCESS\"\n                                  }\n                                ]\n                              }\n                            ],\n                            \"success_steps\": 6,\n                            \"total_steps\": 6\n                          },\n                          \"services\": [\n                            {\n                              \"name\": \"web\",\n                              \"source_commit_hash\": \"db6936cb46047c576962962eed81ad52c21f35d7\"\n                            }\n                          ],\n                          \"spec\": {\n                            \"domains\": [\n                              {\n                                \"domain\": \"sample-golang.example.com\",\n                                \"minimum_tls_version\": \"1.3\",\n                                \"zone\": \"example.com\"\n                              }\n                            ],\n                            \"name\": \"sample-golang\",\n                            \"region\": \"ams\",\n                            \"services\": [\n                              {\n                                \"environment_slug\": \"go\",\n                                \"github\": {\n                                  \"branch\": \"main\",\n                                  \"repo\": \"ChiefMateStarbuck/sample-golang\"\n                                },\n                                \"http_port\": 8080,\n                                \"instance_count\": 1,\n                                \"instance_size_slug\": \"basic-xxs\",\n                                \"name\": \"web\",\n                                \"routes\": [\n                                  {\n                                    \"path\": \"/\"\n                                  }\n                                ],\n                                \"run_command\": \"bin/sample-golang\"\n                              }\n                            ]\n                          },\n                          \"tier_slug\": \"basic\",\n                          \"updated_at\": \"2021-02-10T17:06:53Z\"\n                        },\n                        \"created_at\": \"2021-02-10T16:45:14Z\",\n                        \"default_ingress\": \"https://sample-golang-zyhgn.ondigitalocean.app\",\n                        \"domains\": [\n                          {\n                            \"certificate_expires_at\": \"2024-01-29T23:59:59Z\",\n                            \"id\": \"e206c64e-a1a3-11ed-9e6e-9b7b6dc9a52b\",\n                            \"phase\": \"CONFIGURING\",\n                            \"progress\": {\n                              \"steps\": [\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"default-ingress-ready\",\n                                  \"started_at\": \"2023-01-30T22:15:45.021896292Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"ensure-zone\",\n                                  \"started_at\": \"2023-01-30T22:15:45.022017004Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:42:28.50752065Z\",\n                                  \"name\": \"ensure-ns-records\",\n                                  \"started_at\": \"2023-01-30T22:15:45.025567874Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"verify-nameservers\",\n                                  \"started_at\": \"2023-01-30T22:15:45.033591906Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"ensure-record\",\n                                  \"started_at\": \"2023-01-30T22:15:45.156750604Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.258626422Z\",\n                                  \"name\": \"ensure-alias-record\",\n                                  \"started_at\": \"2023-01-30T22:15:45.165933869Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.258808279Z\",\n                                  \"name\": \"ensure-wildcard-record\",\n                                  \"started_at\": \"2023-01-30T22:15:45.166093422Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"verify-cname\",\n                                  \"started_at\": \"2023-01-30T22:15:45.166205559Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.475903785Z\",\n                                  \"name\": \"ensure-ssl-txt-record-saved\",\n                                  \"started_at\": \"2023-01-30T22:15:45.295237186Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.476017236Z\",\n                                  \"name\": \"ensure-ssl-txt-record\",\n                                  \"started_at\": \"2023-01-30T22:15:45.295315291Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.476094058Z\",\n                                  \"name\": \"ensure-renewal-email\",\n                                  \"started_at\": \"2023-01-30T22:15:45.295374087Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"ensure-CA-authorization\",\n                                  \"started_at\": \"2023-01-30T22:15:45.295428101Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"ensure-certificate\",\n                                  \"started_at\": \"2023-01-30T22:15:45.978756406Z\",\n                                  \"status\": \"RUNNING\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00\",\n                                  \"name\": \"create-deployment\",\n                                  \"started_at\": \"0001-01-01T00:00:00Z\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00\",\n                                  \"name\": \"configuration-alert\",\n                                  \"started_at\": \"0001-01-01T00:00:00\",\n                                  \"status\": \"PENDING\"\n                                }\n                              ]\n                            },\n                            \"rotate_validation_records\": false,\n                            \"spec\": {\n                              \"domain\": \"sample-golang.example.com\",\n                              \"minimum_tls_version\": \"1.3\",\n                              \"type\": \"PRIMARY\",\n                              \"zone\": \"example.com\"\n                            }\n                          }\n                        ],\n                        \"id\": \"c2a93513-8d9b-4223-9d61-5e7272c81cf5\",\n                        \"last_deployment_created_at\": \"2021-02-10T17:05:30Z\",\n                        \"live_domain\": \"sample-golang-zyhgn.ondigitalocean.app\",\n                        \"live_url\": \"https://sample-golang-zyhgn.ondigitalocean.app\",\n                        \"live_url_base\": \"https://sample-golang-zyhgn.ondigitalocean.app\",\n                        \"owner_uuid\": \"a4e16f25-cdd1-4483-b246-d77f283c9209\",\n                        \"pending_deployment\": {\n                          \"id\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                          \"spec\": {\n                            \"domains\": [\n                              {\n                                \"domain\": \"sample-php.example.com\",\n                                \"minimum_tls_version\": \"1.3\",\n                                \"type\": \"PRIMARY\",\n                                \"zone\": \"example.com\"\n                              }\n                            ],\n                            \"name\": \"sample-php\",\n                            \"region\": \"fra\",\n                            \"services\": [\n                              {\n                                \"environment_slug\": \"php\",\n                                \"git\": {\n                                  \"branch\": \"main\",\n                                  \"repo_clone_url\": \"https://github.com/digitalocean/sample-php.git\"\n                                },\n                                \"http_port\": 8080,\n                                \"instance_count\": 1,\n                                \"instance_size_slug\": \"basic-xxs\",\n                                \"name\": \"sample-php\",\n                                \"routes\": [\n                                  {\n                                    \"path\": \"/\"\n                                  }\n                                ],\n                                \"run_command\": \"heroku-php-apache2\"\n                              }\n                            ]\n                          }\n                        },\n                        \"project_id\": \"88b72d1a-b78a-4d9f-9090-b53c4399073f\",\n                        \"region\": {\n                          \"continent\": \"Europe\",\n                          \"data_centers\": [\n                            \"ams3\"\n                          ],\n                          \"flag\": \"netherlands\",\n                          \"label\": \"Amsterdam\",\n                          \"slug\": \"ams\"\n                        },\n                        \"spec\": {\n                          \"domains\": [\n                            {\n                              \"domain\": \"sample-golang.example.com\",\n                              \"minimum_tls_version\": \"1.3\",\n                              \"zone\": \"example.com\"\n                            }\n                          ],\n                          \"name\": \"sample-golang\",\n                          \"region\": \"ams\",\n                          \"services\": [\n                            {\n                              \"environment_slug\": \"go\",\n                              \"github\": {\n                                \"branch\": \"main\",\n                                \"repo\": \"ChiefMateStarbuck/sample-golang\"\n                              },\n                              \"http_port\": 8080,\n                              \"instance_count\": 1,\n                              \"instance_size_slug\": \"basic-xxs\",\n                              \"name\": \"web\",\n                              \"routes\": [\n                                {\n                                  \"path\": \"/\"\n                                }\n                              ],\n                              \"run_command\": \"bin/sample-golang\"\n                            }\n                          ]\n                        },\n                        \"tier_slug\": \"basic\",\n                        \"updated_at\": \"2021-02-10T17:06:56Z\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"app\": {\n                      \"description\": \"An application's configuration and status.\",\n                      \"properties\": {\n                        \"active_deployment\": {\n                          \"properties\": {\n                            \"cause\": {\n                              \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                              \"title\": \"What caused this deployment to be created\",\n                              \"type\": \"string\"\n                            },\n                            \"cloned_from\": {\n                              \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                              \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                              \"type\": \"string\"\n                            },\n                            \"created_at\": {\n                              \"example\": \"2020-07-28T18:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"The creation time of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"functions\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"my-functions-component\",\n                                    \"title\": \"The name of this functions component\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"namespace\": {\n                                    \"description\": \"The namespace where the functions are deployed.\",\n                                    \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Functions components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"id\": {\n                              \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                              \"title\": \"The ID of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"jobs\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"migrate-db\",\n                                    \"title\": \"The name of this job\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this job\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Job components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"phase\": {\n                              \"default\": \"UNKNOWN\",\n                              \"enum\": [\n                                \"UNKNOWN\",\n                                \"PENDING_BUILD\",\n                                \"BUILDING\",\n                                \"PENDING_DEPLOY\",\n                                \"DEPLOYING\",\n                                \"ACTIVE\",\n                                \"SUPERSEDED\",\n                                \"ERROR\",\n                                \"CANCELED\"\n                              ],\n                              \"example\": \"ACTIVE\",\n                              \"type\": \"string\"\n                            },\n                            \"phase_last_updated_at\": {\n                              \"example\": \"0001-01-01T00:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"When the deployment phase was last updated\",\n                              \"type\": \"string\"\n                            },\n                            \"progress\": {\n                              \"properties\": {\n                                \"error_steps\": {\n                                  \"example\": 3,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of unsuccessful steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"pending_steps\": {\n                                  \"example\": 2,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of pending steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"running_steps\": {\n                                  \"example\": 2,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of currently running steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"steps\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"component_name\": {\n                                        \"example\": \"component\",\n                                        \"title\": \"The component name that this step is associated with\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ended_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The end time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message_base\": {\n                                        \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                        \"example\": \"Building service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"example_step\",\n                                        \"title\": \"The name of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"reason\": {\n                                        \"properties\": {\n                                          \"code\": {\n                                            \"example\": \"Title of Error\",\n                                            \"title\": \"The error code\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message\": {\n                                            \"example\": \"This is an error\",\n                                            \"title\": \"The error message\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"started_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The start time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"status\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING\",\n                                          \"RUNNING\",\n                                          \"ERROR\",\n                                          \"SUCCESS\"\n                                        ],\n                                        \"example\": \"SUCCESS\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Child steps of this step\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"The deployment's steps\",\n                                  \"type\": \"array\"\n                                },\n                                \"success_steps\": {\n                                  \"example\": 4,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of successful steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"summary_steps\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"component_name\": {\n                                        \"example\": \"component\",\n                                        \"title\": \"The component name that this step is associated with\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ended_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The end time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message_base\": {\n                                        \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                        \"example\": \"Building service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"example_step\",\n                                        \"title\": \"The name of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"reason\": {\n                                        \"properties\": {\n                                          \"code\": {\n                                            \"example\": \"Title of Error\",\n                                            \"title\": \"The error code\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message\": {\n                                            \"example\": \"This is an error\",\n                                            \"title\": \"The error message\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"started_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The start time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"status\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING\",\n                                          \"RUNNING\",\n                                          \"ERROR\",\n                                          \"SUCCESS\"\n                                        ],\n                                        \"example\": \"SUCCESS\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Child steps of this step\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"A flattened summary of the steps\",\n                                  \"type\": \"array\"\n                                },\n                                \"total_steps\": {\n                                  \"example\": 5,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Total number of steps\",\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"services\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"web\",\n                                    \"title\": \"The name of this service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this service\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Service components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"spec\": {\n                              \"description\": \"The desired configuration of an application.\",\n                              \"properties\": {\n                                \"databases\": {\n                                  \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"cluster_name\": {\n                                        \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                        \"example\": \"cluster_name\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"db_name\": {\n                                        \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                        \"example\": \"my_db\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"db_user\": {\n                                        \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                        \"example\": \"superuser\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"engine\": {\n                                        \"default\": \"UNSET\",\n                                        \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"MYSQL\",\n                                          \"PG\",\n                                          \"REDIS\"\n                                        ],\n                                        \"example\": \"PG\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"prod-db\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"production\": {\n                                        \"description\": \"Whether this is a production or dev database.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"version\": {\n                                        \"description\": \"The version of the database engine\",\n                                        \"example\": \"12\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"domains\": {\n                                  \"description\": \"A set of hostnames where the application will be available.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"domain\": {\n                                        \"description\": \"The hostname for the domain\",\n                                        \"example\": \"app.example.com\",\n                                        \"maxLength\": 253,\n                                        \"minLength\": 4,\n                                        \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"minimum_tls_version\": {\n                                        \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                        \"enum\": [\n                                          \"1.2\",\n                                          \"1.3\"\n                                        ],\n                                        \"example\": \"1.3\",\n                                        \"maxLength\": 3,\n                                        \"minLength\": 3,\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"DEFAULT\",\n                                          \"PRIMARY\",\n                                          \"ALIAS\"\n                                        ],\n                                        \"example\": \"DEFAULT\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"wildcard\": {\n                                        \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"zone\": {\n                                        \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                        \"example\": \"example.com\",\n                                        \"format\": \"hostname\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"domain\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"functions\": {\n                                  \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"alerts\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"disabled\": {\n                                              \"description\": \"Is the alert disabled?\",\n                                              \"example\": false,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"operator\": {\n                                              \"default\": \"UNSPECIFIED_OPERATOR\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_OPERATOR\",\n                                                \"GREATER_THAN\",\n                                                \"LESS_THAN\"\n                                              ],\n                                              \"example\": \"GREATER_THAN\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"rule\": {\n                                              \"default\": \"UNSPECIFIED_RULE\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_RULE\",\n                                                \"CPU_UTILIZATION\",\n                                                \"MEM_UTILIZATION\",\n                                                \"RESTART_COUNT\",\n                                                \"DEPLOYMENT_FAILED\",\n                                                \"DEPLOYMENT_LIVE\",\n                                                \"DOMAIN_FAILED\",\n                                                \"DOMAIN_LIVE\",\n                                                \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                \"FUNCTIONS_ERROR_COUNT\",\n                                                \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                              ],\n                                              \"example\": \"CPU_UTILIZATION\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"Threshold value for alert\",\n                                              \"example\": 2.32,\n                                              \"format\": \"float\",\n                                              \"type\": \"number\"\n                                            },\n                                            \"window\": {\n                                              \"default\": \"UNSPECIFIED_WINDOW\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_WINDOW\",\n                                                \"FIVE_MINUTES\",\n                                                \"TEN_MINUTES\",\n                                                \"THIRTY_MINUTES\",\n                                                \"ONE_HOUR\"\n                                              ],\n                                              \"example\": \"FIVE_MINUTES\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"jobs\": {\n                                  \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"kind\": {\n                                            \"default\": \"UNSPECIFIED\",\n                                            \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                            \"enum\": [\n                                              \"UNSPECIFIED\",\n                                              \"PRE_DEPLOY\",\n                                              \"POST_DEPLOY\",\n                                              \"FAILED_DEPLOY\"\n                                            ],\n                                            \"example\": \"PRE_DEPLOY\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                  \"example\": \"web-app-01\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"region\": {\n                                  \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                  \"enum\": [\n                                    \"ams\",\n                                    \"nyc\",\n                                    \"fra\",\n                                    \"sfo\",\n                                    \"sgp\",\n                                    \"blr\",\n                                    \"tor\",\n                                    \"lon\",\n                                    \"syd\"\n                                  ],\n                                  \"example\": \"nyc\",\n                                  \"type\": \"string\"\n                                },\n                                \"services\": {\n                                  \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"health_check\": {\n                                            \"properties\": {\n                                              \"failure_threshold\": {\n                                                \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                \"example\": 2,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"http_path\": {\n                                                \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                \"example\": \"/health\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"initial_delay_seconds\": {\n                                                \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                \"example\": 30,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"period_seconds\": {\n                                                \"description\": \"The number of seconds to wait between health checks.\",\n                                                \"example\": 60,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"port\": {\n                                                \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                \"example\": 80,\n                                                \"format\": \"int64\",\n                                                \"maximum\": 65535,\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"success_threshold\": {\n                                                \"description\": \"The number of successful health checks before considered healthy.\",\n                                                \"example\": 3,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"timeout_seconds\": {\n                                                \"description\": \"The number of seconds after which the check times out.\",\n                                                \"example\": 45,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"http_port\": {\n                                            \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                            \"example\": 3000,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"internal_ports\": {\n                                            \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                            \"example\": [\n                                              80,\n                                              443\n                                            ],\n                                            \"items\": {\n                                              \"format\": \"int64\",\n                                              \"type\": \"integer\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"static_sites\": {\n                                  \"description\": \"Content which can be rendered to static web assets.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"catchall_document\": {\n                                            \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                            \"example\": \"index.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"error_document\": {\n                                            \"default\": \"404.html\",\n                                            \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                            \"example\": \"error.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"index_document\": {\n                                            \"default\": \"index.html\",\n                                            \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                            \"example\": \"main.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"output_dir\": {\n                                            \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                            \"example\": \"dist/\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"required\": [\n                                      \"name\"\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"workers\": {\n                                  \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"required\": [\n                                      \"name\"\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"title\": \"AppSpec\",\n                              \"type\": \"object\"\n                            },\n                            \"static_sites\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"web\",\n                                    \"title\": \"The name of this static site\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Static Site components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"tier_slug\": {\n                              \"example\": \"basic\",\n                              \"readOnly\": true,\n                              \"title\": \"The current pricing tier slug of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"example\": \"2020-07-28T18:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"When the deployment was last updated\",\n                              \"type\": \"string\"\n                            },\n                            \"workers\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"queue-runner\",\n                                    \"title\": \"The name of this worker\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Worker components that are part of this deployment\",\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"title\": \"An app deployment\",\n                          \"type\": \"object\"\n                        },\n                        \"created_at\": {\n                          \"example\": \"2020-11-19T20:27:18Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"title\": \"The creation time of the app\",\n                          \"type\": \"string\"\n                        },\n                        \"default_ingress\": {\n                          \"example\": \"digitalocean.com\",\n                          \"readOnly\": true,\n                          \"title\": \"The default hostname on which the app is accessible\",\n                          \"type\": \"string\"\n                        },\n                        \"domains\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"certificate_expires_at\": {\n                                \"example\": \"2024-01-29T23:59:59Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"title\": \"Current SSL certificate expiration time\",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                                \"title\": \"The ID of the domain\",\n                                \"type\": \"string\"\n                              },\n                              \"phase\": {\n                                \"default\": \"UNKNOWN\",\n                                \"enum\": [\n                                  \"UNKNOWN\",\n                                  \"PENDING\",\n                                  \"CONFIGURING\",\n                                  \"ACTIVE\",\n                                  \"ERROR\"\n                                ],\n                                \"example\": \"ACTIVE\",\n                                \"type\": \"string\"\n                              },\n                              \"progress\": {\n                                \"properties\": {\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"The steps of the domain's progress\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"rotate_validation_records\": {\n                                \"readOnly\": true,\n                                \"title\": \"Validation values have changed and require manual intervention\",\n                                \"type\": \"boolean\"\n                              },\n                              \"spec\": {\n                                \"properties\": {\n                                  \"domain\": {\n                                    \"description\": \"The hostname for the domain\",\n                                    \"example\": \"app.example.com\",\n                                    \"maxLength\": 253,\n                                    \"minLength\": 4,\n                                    \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"minimum_tls_version\": {\n                                    \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                    \"enum\": [\n                                      \"1.2\",\n                                      \"1.3\"\n                                    ],\n                                    \"example\": \"1.3\",\n                                    \"maxLength\": 3,\n                                    \"minLength\": 3,\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"UNSPECIFIED\",\n                                    \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED\",\n                                      \"DEFAULT\",\n                                      \"PRIMARY\",\n                                      \"ALIAS\"\n                                    ],\n                                    \"example\": \"DEFAULT\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"wildcard\": {\n                                    \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"zone\": {\n                                    \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                    \"example\": \"example.com\",\n                                    \"format\": \"hostname\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"domain\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"validations\": {\n                                \"items\": {\n                                  \"properties\": {\n                                    \"txt_name\": {\n                                      \"example\": \"_acme-challenge.app.example.com\",\n                                      \"readOnly\": true,\n                                      \"title\": \"TXT record name\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"txt_value\": {\n                                      \"example\": \"lXLOcN6cPv0nproViNcUHcahD9TrIPlNgdwesj0pYpk\",\n                                      \"readOnly\": true,\n                                      \"title\": \"TXT record value\",\n                                      \"type\": \"string\"\n                                    }\n                                  }\n                                },\n                                \"title\": \"List of TXT validation records\",\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"readOnly\": true,\n                          \"title\": \"Contains all domains for the app\",\n                          \"type\": \"array\"\n                        },\n                        \"id\": {\n                          \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                          \"readOnly\": true,\n                          \"title\": \"The ID of the application\",\n                          \"type\": \"string\"\n                        },\n                        \"in_progress_deployment\": {\n                          \"properties\": {\n                            \"cause\": {\n                              \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                              \"title\": \"What caused this deployment to be created\",\n                              \"type\": \"string\"\n                            },\n                            \"cloned_from\": {\n                              \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                              \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                              \"type\": \"string\"\n                            },\n                            \"created_at\": {\n                              \"example\": \"2020-07-28T18:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"The creation time of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"functions\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"my-functions-component\",\n                                    \"title\": \"The name of this functions component\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"namespace\": {\n                                    \"description\": \"The namespace where the functions are deployed.\",\n                                    \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Functions components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"id\": {\n                              \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                              \"title\": \"The ID of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"jobs\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"migrate-db\",\n                                    \"title\": \"The name of this job\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this job\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Job components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"phase\": {\n                              \"default\": \"UNKNOWN\",\n                              \"enum\": [\n                                \"UNKNOWN\",\n                                \"PENDING_BUILD\",\n                                \"BUILDING\",\n                                \"PENDING_DEPLOY\",\n                                \"DEPLOYING\",\n                                \"ACTIVE\",\n                                \"SUPERSEDED\",\n                                \"ERROR\",\n                                \"CANCELED\"\n                              ],\n                              \"example\": \"ACTIVE\",\n                              \"type\": \"string\"\n                            },\n                            \"phase_last_updated_at\": {\n                              \"example\": \"0001-01-01T00:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"When the deployment phase was last updated\",\n                              \"type\": \"string\"\n                            },\n                            \"progress\": {\n                              \"properties\": {\n                                \"error_steps\": {\n                                  \"example\": 3,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of unsuccessful steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"pending_steps\": {\n                                  \"example\": 2,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of pending steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"running_steps\": {\n                                  \"example\": 2,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of currently running steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"steps\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"component_name\": {\n                                        \"example\": \"component\",\n                                        \"title\": \"The component name that this step is associated with\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ended_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The end time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message_base\": {\n                                        \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                        \"example\": \"Building service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"example_step\",\n                                        \"title\": \"The name of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"reason\": {\n                                        \"properties\": {\n                                          \"code\": {\n                                            \"example\": \"Title of Error\",\n                                            \"title\": \"The error code\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message\": {\n                                            \"example\": \"This is an error\",\n                                            \"title\": \"The error message\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"started_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The start time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"status\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING\",\n                                          \"RUNNING\",\n                                          \"ERROR\",\n                                          \"SUCCESS\"\n                                        ],\n                                        \"example\": \"SUCCESS\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Child steps of this step\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"The deployment's steps\",\n                                  \"type\": \"array\"\n                                },\n                                \"success_steps\": {\n                                  \"example\": 4,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of successful steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"summary_steps\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"component_name\": {\n                                        \"example\": \"component\",\n                                        \"title\": \"The component name that this step is associated with\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ended_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The end time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message_base\": {\n                                        \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                        \"example\": \"Building service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"example_step\",\n                                        \"title\": \"The name of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"reason\": {\n                                        \"properties\": {\n                                          \"code\": {\n                                            \"example\": \"Title of Error\",\n                                            \"title\": \"The error code\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message\": {\n                                            \"example\": \"This is an error\",\n                                            \"title\": \"The error message\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"started_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The start time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"status\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING\",\n                                          \"RUNNING\",\n                                          \"ERROR\",\n                                          \"SUCCESS\"\n                                        ],\n                                        \"example\": \"SUCCESS\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Child steps of this step\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"A flattened summary of the steps\",\n                                  \"type\": \"array\"\n                                },\n                                \"total_steps\": {\n                                  \"example\": 5,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Total number of steps\",\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"services\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"web\",\n                                    \"title\": \"The name of this service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this service\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Service components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"spec\": {\n                              \"description\": \"The desired configuration of an application.\",\n                              \"properties\": {\n                                \"databases\": {\n                                  \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"cluster_name\": {\n                                        \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                        \"example\": \"cluster_name\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"db_name\": {\n                                        \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                        \"example\": \"my_db\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"db_user\": {\n                                        \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                        \"example\": \"superuser\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"engine\": {\n                                        \"default\": \"UNSET\",\n                                        \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"MYSQL\",\n                                          \"PG\",\n                                          \"REDIS\"\n                                        ],\n                                        \"example\": \"PG\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"prod-db\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"production\": {\n                                        \"description\": \"Whether this is a production or dev database.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"version\": {\n                                        \"description\": \"The version of the database engine\",\n                                        \"example\": \"12\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"domains\": {\n                                  \"description\": \"A set of hostnames where the application will be available.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"domain\": {\n                                        \"description\": \"The hostname for the domain\",\n                                        \"example\": \"app.example.com\",\n                                        \"maxLength\": 253,\n                                        \"minLength\": 4,\n                                        \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"minimum_tls_version\": {\n                                        \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                        \"enum\": [\n                                          \"1.2\",\n                                          \"1.3\"\n                                        ],\n                                        \"example\": \"1.3\",\n                                        \"maxLength\": 3,\n                                        \"minLength\": 3,\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"DEFAULT\",\n                                          \"PRIMARY\",\n                                          \"ALIAS\"\n                                        ],\n                                        \"example\": \"DEFAULT\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"wildcard\": {\n                                        \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"zone\": {\n                                        \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                        \"example\": \"example.com\",\n                                        \"format\": \"hostname\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"domain\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"functions\": {\n                                  \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"alerts\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"disabled\": {\n                                              \"description\": \"Is the alert disabled?\",\n                                              \"example\": false,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"operator\": {\n                                              \"default\": \"UNSPECIFIED_OPERATOR\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_OPERATOR\",\n                                                \"GREATER_THAN\",\n                                                \"LESS_THAN\"\n                                              ],\n                                              \"example\": \"GREATER_THAN\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"rule\": {\n                                              \"default\": \"UNSPECIFIED_RULE\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_RULE\",\n                                                \"CPU_UTILIZATION\",\n                                                \"MEM_UTILIZATION\",\n                                                \"RESTART_COUNT\",\n                                                \"DEPLOYMENT_FAILED\",\n                                                \"DEPLOYMENT_LIVE\",\n                                                \"DOMAIN_FAILED\",\n                                                \"DOMAIN_LIVE\",\n                                                \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                \"FUNCTIONS_ERROR_COUNT\",\n                                                \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                              ],\n                                              \"example\": \"CPU_UTILIZATION\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"Threshold value for alert\",\n                                              \"example\": 2.32,\n                                              \"format\": \"float\",\n                                              \"type\": \"number\"\n                                            },\n                                            \"window\": {\n                                              \"default\": \"UNSPECIFIED_WINDOW\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_WINDOW\",\n                                                \"FIVE_MINUTES\",\n                                                \"TEN_MINUTES\",\n                                                \"THIRTY_MINUTES\",\n                                                \"ONE_HOUR\"\n                                              ],\n                                              \"example\": \"FIVE_MINUTES\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"jobs\": {\n                                  \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"kind\": {\n                                            \"default\": \"UNSPECIFIED\",\n                                            \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                            \"enum\": [\n                                              \"UNSPECIFIED\",\n                                              \"PRE_DEPLOY\",\n                                              \"POST_DEPLOY\",\n                                              \"FAILED_DEPLOY\"\n                                            ],\n                                            \"example\": \"PRE_DEPLOY\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                  \"example\": \"web-app-01\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"region\": {\n                                  \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                  \"enum\": [\n                                    \"ams\",\n                                    \"nyc\",\n                                    \"fra\",\n                                    \"sfo\",\n                                    \"sgp\",\n                                    \"blr\",\n                                    \"tor\",\n                                    \"lon\",\n                                    \"syd\"\n                                  ],\n                                  \"example\": \"nyc\",\n                                  \"type\": \"string\"\n                                },\n                                \"services\": {\n                                  \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"health_check\": {\n                                            \"properties\": {\n                                              \"failure_threshold\": {\n                                                \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                \"example\": 2,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"http_path\": {\n                                                \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                \"example\": \"/health\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"initial_delay_seconds\": {\n                                                \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                \"example\": 30,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"period_seconds\": {\n                                                \"description\": \"The number of seconds to wait between health checks.\",\n                                                \"example\": 60,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"port\": {\n                                                \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                \"example\": 80,\n                                                \"format\": \"int64\",\n                                                \"maximum\": 65535,\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"success_threshold\": {\n                                                \"description\": \"The number of successful health checks before considered healthy.\",\n                                                \"example\": 3,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"timeout_seconds\": {\n                                                \"description\": \"The number of seconds after which the check times out.\",\n                                                \"example\": 45,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"http_port\": {\n                                            \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                            \"example\": 3000,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"internal_ports\": {\n                                            \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                            \"example\": [\n                                              80,\n                                              443\n                                            ],\n                                            \"items\": {\n                                              \"format\": \"int64\",\n                                              \"type\": \"integer\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"static_sites\": {\n                                  \"description\": \"Content which can be rendered to static web assets.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"catchall_document\": {\n                                            \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                            \"example\": \"index.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"error_document\": {\n                                            \"default\": \"404.html\",\n                                            \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                            \"example\": \"error.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"index_document\": {\n                                            \"default\": \"index.html\",\n                                            \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                            \"example\": \"main.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"output_dir\": {\n                                            \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                            \"example\": \"dist/\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"required\": [\n                                      \"name\"\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"workers\": {\n                                  \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"required\": [\n                                      \"name\"\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"title\": \"AppSpec\",\n                              \"type\": \"object\"\n                            },\n                            \"static_sites\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"web\",\n                                    \"title\": \"The name of this static site\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Static Site components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"tier_slug\": {\n                              \"example\": \"basic\",\n                              \"readOnly\": true,\n                              \"title\": \"The current pricing tier slug of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"example\": \"2020-07-28T18:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"When the deployment was last updated\",\n                              \"type\": \"string\"\n                            },\n                            \"workers\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"queue-runner\",\n                                    \"title\": \"The name of this worker\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Worker components that are part of this deployment\",\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"title\": \"An app deployment\",\n                          \"type\": \"object\"\n                        },\n                        \"last_deployment_created_at\": {\n                          \"example\": \"2020-11-19T20:27:18Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"title\": \"The creation time of the last deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"live_domain\": {\n                          \"example\": \"live_domain\",\n                          \"readOnly\": true,\n                          \"title\": \"The live domain of the app\",\n                          \"type\": \"string\"\n                        },\n                        \"live_url\": {\n                          \"example\": \"google.com\",\n                          \"readOnly\": true,\n                          \"title\": \"The live URL of the app\",\n                          \"type\": \"string\"\n                        },\n                        \"live_url_base\": {\n                          \"example\": \"digitalocean.com\",\n                          \"readOnly\": true,\n                          \"title\": \"The live URL base of the app, the URL excluding the path\",\n                          \"type\": \"string\"\n                        },\n                        \"owner_uuid\": {\n                          \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                          \"readOnly\": true,\n                          \"title\": \"The ID of the account to which the application belongs\",\n                          \"type\": \"string\"\n                        },\n                        \"pending_deployment\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"The most recent pending deployment. For CreateApp and UpdateApp transactions this is guaranteed to reflect the associated deployment.\"\n                            },\n                            {\n                              \"properties\": {\n                                \"cause\": {\n                                  \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                                  \"title\": \"What caused this deployment to be created\",\n                                  \"type\": \"string\"\n                                },\n                                \"cloned_from\": {\n                                  \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                                  \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                                  \"type\": \"string\"\n                                },\n                                \"created_at\": {\n                                  \"example\": \"2020-07-28T18:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"The creation time of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"functions\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"my-functions-component\",\n                                        \"title\": \"The name of this functions component\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"namespace\": {\n                                        \"description\": \"The namespace where the functions are deployed.\",\n                                        \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Functions components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"id\": {\n                                  \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                                  \"title\": \"The ID of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"jobs\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"migrate-db\",\n                                        \"title\": \"The name of this job\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this job\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Job components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"phase\": {\n                                  \"default\": \"UNKNOWN\",\n                                  \"enum\": [\n                                    \"UNKNOWN\",\n                                    \"PENDING_BUILD\",\n                                    \"BUILDING\",\n                                    \"PENDING_DEPLOY\",\n                                    \"DEPLOYING\",\n                                    \"ACTIVE\",\n                                    \"SUPERSEDED\",\n                                    \"ERROR\",\n                                    \"CANCELED\"\n                                  ],\n                                  \"example\": \"ACTIVE\",\n                                  \"type\": \"string\"\n                                },\n                                \"phase_last_updated_at\": {\n                                  \"example\": \"0001-01-01T00:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"When the deployment phase was last updated\",\n                                  \"type\": \"string\"\n                                },\n                                \"progress\": {\n                                  \"properties\": {\n                                    \"error_steps\": {\n                                      \"example\": 3,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of unsuccessful steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"pending_steps\": {\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of pending steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"running_steps\": {\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of currently running steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"steps\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"component_name\": {\n                                            \"example\": \"component\",\n                                            \"title\": \"The component name that this step is associated with\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ended_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The end time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message_base\": {\n                                            \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                            \"example\": \"Building service\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"example_step\",\n                                            \"title\": \"The name of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"reason\": {\n                                            \"properties\": {\n                                              \"code\": {\n                                                \"example\": \"Title of Error\",\n                                                \"title\": \"The error code\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"message\": {\n                                                \"example\": \"This is an error\",\n                                                \"title\": \"The error message\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"started_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The start time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"default\": \"UNKNOWN\",\n                                            \"enum\": [\n                                              \"UNKNOWN\",\n                                              \"PENDING\",\n                                              \"RUNNING\",\n                                              \"ERROR\",\n                                              \"SUCCESS\"\n                                            ],\n                                            \"example\": \"SUCCESS\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"Child steps of this step\",\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"title\": \"The deployment's steps\",\n                                      \"type\": \"array\"\n                                    },\n                                    \"success_steps\": {\n                                      \"example\": 4,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of successful steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"summary_steps\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"component_name\": {\n                                            \"example\": \"component\",\n                                            \"title\": \"The component name that this step is associated with\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ended_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The end time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message_base\": {\n                                            \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                            \"example\": \"Building service\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"example_step\",\n                                            \"title\": \"The name of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"reason\": {\n                                            \"properties\": {\n                                              \"code\": {\n                                                \"example\": \"Title of Error\",\n                                                \"title\": \"The error code\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"message\": {\n                                                \"example\": \"This is an error\",\n                                                \"title\": \"The error message\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"started_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The start time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"default\": \"UNKNOWN\",\n                                            \"enum\": [\n                                              \"UNKNOWN\",\n                                              \"PENDING\",\n                                              \"RUNNING\",\n                                              \"ERROR\",\n                                              \"SUCCESS\"\n                                            ],\n                                            \"example\": \"SUCCESS\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"Child steps of this step\",\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"title\": \"A flattened summary of the steps\",\n                                      \"type\": \"array\"\n                                    },\n                                    \"total_steps\": {\n                                      \"example\": 5,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Total number of steps\",\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"services\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"web\",\n                                        \"title\": \"The name of this service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this service\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Service components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"spec\": {\n                                  \"description\": \"The desired configuration of an application.\",\n                                  \"properties\": {\n                                    \"databases\": {\n                                      \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"cluster_name\": {\n                                            \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                            \"example\": \"cluster_name\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"db_name\": {\n                                            \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                            \"example\": \"my_db\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"db_user\": {\n                                            \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                            \"example\": \"superuser\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"engine\": {\n                                            \"default\": \"UNSET\",\n                                            \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                            \"enum\": [\n                                              \"UNSET\",\n                                              \"MYSQL\",\n                                              \"PG\",\n                                              \"REDIS\"\n                                            ],\n                                            \"example\": \"PG\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"prod-db\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"production\": {\n                                            \"description\": \"Whether this is a production or dev database.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"version\": {\n                                            \"description\": \"The version of the database engine\",\n                                            \"example\": \"12\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"domains\": {\n                                      \"description\": \"A set of hostnames where the application will be available.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"domain\": {\n                                            \"description\": \"The hostname for the domain\",\n                                            \"example\": \"app.example.com\",\n                                            \"maxLength\": 253,\n                                            \"minLength\": 4,\n                                            \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"minimum_tls_version\": {\n                                            \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                            \"enum\": [\n                                              \"1.2\",\n                                              \"1.3\"\n                                            ],\n                                            \"example\": \"1.3\",\n                                            \"maxLength\": 3,\n                                            \"minLength\": 3,\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": {\n                                            \"default\": \"UNSPECIFIED\",\n                                            \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                            \"enum\": [\n                                              \"UNSPECIFIED\",\n                                              \"DEFAULT\",\n                                              \"PRIMARY\",\n                                              \"ALIAS\"\n                                            ],\n                                            \"example\": \"DEFAULT\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"wildcard\": {\n                                            \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"zone\": {\n                                            \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                            \"example\": \"example.com\",\n                                            \"format\": \"hostname\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"domain\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"functions\": {\n                                      \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"alerts\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"disabled\": {\n                                                  \"description\": \"Is the alert disabled?\",\n                                                  \"example\": false,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"operator\": {\n                                                  \"default\": \"UNSPECIFIED_OPERATOR\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_OPERATOR\",\n                                                    \"GREATER_THAN\",\n                                                    \"LESS_THAN\"\n                                                  ],\n                                                  \"example\": \"GREATER_THAN\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"rule\": {\n                                                  \"default\": \"UNSPECIFIED_RULE\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_RULE\",\n                                                    \"CPU_UTILIZATION\",\n                                                    \"MEM_UTILIZATION\",\n                                                    \"RESTART_COUNT\",\n                                                    \"DEPLOYMENT_FAILED\",\n                                                    \"DEPLOYMENT_LIVE\",\n                                                    \"DOMAIN_FAILED\",\n                                                    \"DOMAIN_LIVE\",\n                                                    \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                    \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                    \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                    \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                    \"FUNCTIONS_ERROR_COUNT\",\n                                                    \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                                  ],\n                                                  \"example\": \"CPU_UTILIZATION\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"Threshold value for alert\",\n                                                  \"example\": 2.32,\n                                                  \"format\": \"float\",\n                                                  \"type\": \"number\"\n                                                },\n                                                \"window\": {\n                                                  \"default\": \"UNSPECIFIED_WINDOW\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_WINDOW\",\n                                                    \"FIVE_MINUTES\",\n                                                    \"TEN_MINUTES\",\n                                                    \"THIRTY_MINUTES\",\n                                                    \"ONE_HOUR\"\n                                                  ],\n                                                  \"example\": \"FIVE_MINUTES\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"jobs\": {\n                                      \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"kind\": {\n                                                \"default\": \"UNSPECIFIED\",\n                                                \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                                \"enum\": [\n                                                  \"UNSPECIFIED\",\n                                                  \"PRE_DEPLOY\",\n                                                  \"POST_DEPLOY\",\n                                                  \"FAILED_DEPLOY\"\n                                                ],\n                                                \"example\": \"PRE_DEPLOY\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                      \"example\": \"web-app-01\",\n                                      \"maxLength\": 32,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"region\": {\n                                      \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                      \"enum\": [\n                                        \"ams\",\n                                        \"nyc\",\n                                        \"fra\",\n                                        \"sfo\",\n                                        \"sgp\",\n                                        \"blr\",\n                                        \"tor\",\n                                        \"lon\",\n                                        \"syd\"\n                                      ],\n                                      \"example\": \"nyc\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"services\": {\n                                      \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"cors\": {\n                                                \"properties\": {\n                                                  \"allow_credentials\": {\n                                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"allow_headers\": {\n                                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Type\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_methods\": {\n                                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                    \"example\": [\n                                                      \"GET\",\n                                                      \"OPTIONS\",\n                                                      \"POST\",\n                                                      \"PUT\",\n                                                      \"PATCH\",\n                                                      \"DELETE\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_origins\": {\n                                                    \"description\": \"The set of allowed CORS origins.\",\n                                                    \"example\": [\n                                                      {\n                                                        \"exact\": \"https://www.example.com\"\n                                                      },\n                                                      {\n                                                        \"regex\": \"^.*example.com\"\n                                                      }\n                                                    ],\n                                                    \"items\": {\n                                                      \"properties\": {\n                                                        \"exact\": {\n                                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"prefix\": {\n                                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"regex\": {\n                                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                          \"example\": \"^.*example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"expose_headers\": {\n                                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Encoding\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"max_age\": {\n                                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                    \"example\": \"5h30m\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"health_check\": {\n                                                \"properties\": {\n                                                  \"failure_threshold\": {\n                                                    \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                    \"example\": 2,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"http_path\": {\n                                                    \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                    \"example\": \"/health\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"initial_delay_seconds\": {\n                                                    \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                    \"example\": 30,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"period_seconds\": {\n                                                    \"description\": \"The number of seconds to wait between health checks.\",\n                                                    \"example\": 60,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"port\": {\n                                                    \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                    \"example\": 80,\n                                                    \"format\": \"int64\",\n                                                    \"maximum\": 65535,\n                                                    \"minimum\": 1,\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"success_threshold\": {\n                                                    \"description\": \"The number of successful health checks before considered healthy.\",\n                                                    \"example\": 3,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"timeout_seconds\": {\n                                                    \"description\": \"The number of seconds after which the check times out.\",\n                                                    \"example\": 45,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"http_port\": {\n                                                \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                                \"example\": 3000,\n                                                \"format\": \"int64\",\n                                                \"maximum\": 65535,\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"internal_ports\": {\n                                                \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                                \"example\": [\n                                                  80,\n                                                  443\n                                                ],\n                                                \"items\": {\n                                                  \"format\": \"int64\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"routes\": {\n                                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"path\": {\n                                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                      \"example\": \"/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"preserve_path_prefix\": {\n                                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    }\n                                                  },\n                                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"static_sites\": {\n                                      \"description\": \"Content which can be rendered to static web assets.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"catchall_document\": {\n                                                \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                                \"example\": \"index.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"cors\": {\n                                                \"properties\": {\n                                                  \"allow_credentials\": {\n                                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"allow_headers\": {\n                                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Type\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_methods\": {\n                                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                    \"example\": [\n                                                      \"GET\",\n                                                      \"OPTIONS\",\n                                                      \"POST\",\n                                                      \"PUT\",\n                                                      \"PATCH\",\n                                                      \"DELETE\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_origins\": {\n                                                    \"description\": \"The set of allowed CORS origins.\",\n                                                    \"example\": [\n                                                      {\n                                                        \"exact\": \"https://www.example.com\"\n                                                      },\n                                                      {\n                                                        \"regex\": \"^.*example.com\"\n                                                      }\n                                                    ],\n                                                    \"items\": {\n                                                      \"properties\": {\n                                                        \"exact\": {\n                                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"prefix\": {\n                                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"regex\": {\n                                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                          \"example\": \"^.*example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"expose_headers\": {\n                                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Encoding\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"max_age\": {\n                                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                    \"example\": \"5h30m\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"error_document\": {\n                                                \"default\": \"404.html\",\n                                                \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                                \"example\": \"error.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"index_document\": {\n                                                \"default\": \"index.html\",\n                                                \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                                \"example\": \"main.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"output_dir\": {\n                                                \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                                \"example\": \"dist/\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"routes\": {\n                                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"path\": {\n                                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                      \"example\": \"/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"preserve_path_prefix\": {\n                                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    }\n                                                  },\n                                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          }\n                                        ],\n                                        \"required\": [\n                                          \"name\"\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"workers\": {\n                                      \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          }\n                                        ],\n                                        \"required\": [\n                                          \"name\"\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"AppSpec\",\n                                  \"type\": \"object\"\n                                },\n                                \"static_sites\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"web\",\n                                        \"title\": \"The name of this static site\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Static Site components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"tier_slug\": {\n                                  \"example\": \"basic\",\n                                  \"readOnly\": true,\n                                  \"title\": \"The current pricing tier slug of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"updated_at\": {\n                                  \"example\": \"2020-07-28T18:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"When the deployment was last updated\",\n                                  \"type\": \"string\"\n                                },\n                                \"workers\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"queue-runner\",\n                                        \"title\": \"The name of this worker\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Worker components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"title\": \"An app deployment\",\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"pinned_deployment\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"The deployment that the app is pinned to.\"\n                            },\n                            {\n                              \"properties\": {\n                                \"cause\": {\n                                  \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                                  \"title\": \"What caused this deployment to be created\",\n                                  \"type\": \"string\"\n                                },\n                                \"cloned_from\": {\n                                  \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                                  \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                                  \"type\": \"string\"\n                                },\n                                \"created_at\": {\n                                  \"example\": \"2020-07-28T18:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"The creation time of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"functions\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"my-functions-component\",\n                                        \"title\": \"The name of this functions component\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"namespace\": {\n                                        \"description\": \"The namespace where the functions are deployed.\",\n                                        \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Functions components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"id\": {\n                                  \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                                  \"title\": \"The ID of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"jobs\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"migrate-db\",\n                                        \"title\": \"The name of this job\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this job\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Job components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"phase\": {\n                                  \"default\": \"UNKNOWN\",\n                                  \"enum\": [\n                                    \"UNKNOWN\",\n                                    \"PENDING_BUILD\",\n                                    \"BUILDING\",\n                                    \"PENDING_DEPLOY\",\n                                    \"DEPLOYING\",\n                                    \"ACTIVE\",\n                                    \"SUPERSEDED\",\n                                    \"ERROR\",\n                                    \"CANCELED\"\n                                  ],\n                                  \"example\": \"ACTIVE\",\n                                  \"type\": \"string\"\n                                },\n                                \"phase_last_updated_at\": {\n                                  \"example\": \"0001-01-01T00:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"When the deployment phase was last updated\",\n                                  \"type\": \"string\"\n                                },\n                                \"progress\": {\n                                  \"properties\": {\n                                    \"error_steps\": {\n                                      \"example\": 3,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of unsuccessful steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"pending_steps\": {\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of pending steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"running_steps\": {\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of currently running steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"steps\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"component_name\": {\n                                            \"example\": \"component\",\n                                            \"title\": \"The component name that this step is associated with\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ended_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The end time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message_base\": {\n                                            \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                            \"example\": \"Building service\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"example_step\",\n                                            \"title\": \"The name of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"reason\": {\n                                            \"properties\": {\n                                              \"code\": {\n                                                \"example\": \"Title of Error\",\n                                                \"title\": \"The error code\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"message\": {\n                                                \"example\": \"This is an error\",\n                                                \"title\": \"The error message\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"started_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The start time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"default\": \"UNKNOWN\",\n                                            \"enum\": [\n                                              \"UNKNOWN\",\n                                              \"PENDING\",\n                                              \"RUNNING\",\n                                              \"ERROR\",\n                                              \"SUCCESS\"\n                                            ],\n                                            \"example\": \"SUCCESS\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"Child steps of this step\",\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"title\": \"The deployment's steps\",\n                                      \"type\": \"array\"\n                                    },\n                                    \"success_steps\": {\n                                      \"example\": 4,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of successful steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"summary_steps\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"component_name\": {\n                                            \"example\": \"component\",\n                                            \"title\": \"The component name that this step is associated with\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ended_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The end time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message_base\": {\n                                            \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                            \"example\": \"Building service\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"example_step\",\n                                            \"title\": \"The name of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"reason\": {\n                                            \"properties\": {\n                                              \"code\": {\n                                                \"example\": \"Title of Error\",\n                                                \"title\": \"The error code\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"message\": {\n                                                \"example\": \"This is an error\",\n                                                \"title\": \"The error message\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"started_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The start time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"default\": \"UNKNOWN\",\n                                            \"enum\": [\n                                              \"UNKNOWN\",\n                                              \"PENDING\",\n                                              \"RUNNING\",\n                                              \"ERROR\",\n                                              \"SUCCESS\"\n                                            ],\n                                            \"example\": \"SUCCESS\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"Child steps of this step\",\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"title\": \"A flattened summary of the steps\",\n                                      \"type\": \"array\"\n                                    },\n                                    \"total_steps\": {\n                                      \"example\": 5,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Total number of steps\",\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"services\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"web\",\n                                        \"title\": \"The name of this service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this service\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Service components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"spec\": {\n                                  \"description\": \"The desired configuration of an application.\",\n                                  \"properties\": {\n                                    \"databases\": {\n                                      \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"cluster_name\": {\n                                            \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                            \"example\": \"cluster_name\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"db_name\": {\n                                            \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                            \"example\": \"my_db\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"db_user\": {\n                                            \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                            \"example\": \"superuser\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"engine\": {\n                                            \"default\": \"UNSET\",\n                                            \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                            \"enum\": [\n                                              \"UNSET\",\n                                              \"MYSQL\",\n                                              \"PG\",\n                                              \"REDIS\"\n                                            ],\n                                            \"example\": \"PG\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"prod-db\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"production\": {\n                                            \"description\": \"Whether this is a production or dev database.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"version\": {\n                                            \"description\": \"The version of the database engine\",\n                                            \"example\": \"12\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"domains\": {\n                                      \"description\": \"A set of hostnames where the application will be available.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"domain\": {\n                                            \"description\": \"The hostname for the domain\",\n                                            \"example\": \"app.example.com\",\n                                            \"maxLength\": 253,\n                                            \"minLength\": 4,\n                                            \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"minimum_tls_version\": {\n                                            \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                            \"enum\": [\n                                              \"1.2\",\n                                              \"1.3\"\n                                            ],\n                                            \"example\": \"1.3\",\n                                            \"maxLength\": 3,\n                                            \"minLength\": 3,\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": {\n                                            \"default\": \"UNSPECIFIED\",\n                                            \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                            \"enum\": [\n                                              \"UNSPECIFIED\",\n                                              \"DEFAULT\",\n                                              \"PRIMARY\",\n                                              \"ALIAS\"\n                                            ],\n                                            \"example\": \"DEFAULT\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"wildcard\": {\n                                            \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"zone\": {\n                                            \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                            \"example\": \"example.com\",\n                                            \"format\": \"hostname\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"domain\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"functions\": {\n                                      \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"alerts\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"disabled\": {\n                                                  \"description\": \"Is the alert disabled?\",\n                                                  \"example\": false,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"operator\": {\n                                                  \"default\": \"UNSPECIFIED_OPERATOR\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_OPERATOR\",\n                                                    \"GREATER_THAN\",\n                                                    \"LESS_THAN\"\n                                                  ],\n                                                  \"example\": \"GREATER_THAN\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"rule\": {\n                                                  \"default\": \"UNSPECIFIED_RULE\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_RULE\",\n                                                    \"CPU_UTILIZATION\",\n                                                    \"MEM_UTILIZATION\",\n                                                    \"RESTART_COUNT\",\n                                                    \"DEPLOYMENT_FAILED\",\n                                                    \"DEPLOYMENT_LIVE\",\n                                                    \"DOMAIN_FAILED\",\n                                                    \"DOMAIN_LIVE\",\n                                                    \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                    \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                    \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                    \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                    \"FUNCTIONS_ERROR_COUNT\",\n                                                    \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                                  ],\n                                                  \"example\": \"CPU_UTILIZATION\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"Threshold value for alert\",\n                                                  \"example\": 2.32,\n                                                  \"format\": \"float\",\n                                                  \"type\": \"number\"\n                                                },\n                                                \"window\": {\n                                                  \"default\": \"UNSPECIFIED_WINDOW\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_WINDOW\",\n                                                    \"FIVE_MINUTES\",\n                                                    \"TEN_MINUTES\",\n                                                    \"THIRTY_MINUTES\",\n                                                    \"ONE_HOUR\"\n                                                  ],\n                                                  \"example\": \"FIVE_MINUTES\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"jobs\": {\n                                      \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"kind\": {\n                                                \"default\": \"UNSPECIFIED\",\n                                                \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                                \"enum\": [\n                                                  \"UNSPECIFIED\",\n                                                  \"PRE_DEPLOY\",\n                                                  \"POST_DEPLOY\",\n                                                  \"FAILED_DEPLOY\"\n                                                ],\n                                                \"example\": \"PRE_DEPLOY\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                      \"example\": \"web-app-01\",\n                                      \"maxLength\": 32,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"region\": {\n                                      \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                      \"enum\": [\n                                        \"ams\",\n                                        \"nyc\",\n                                        \"fra\",\n                                        \"sfo\",\n                                        \"sgp\",\n                                        \"blr\",\n                                        \"tor\",\n                                        \"lon\",\n                                        \"syd\"\n                                      ],\n                                      \"example\": \"nyc\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"services\": {\n                                      \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"cors\": {\n                                                \"properties\": {\n                                                  \"allow_credentials\": {\n                                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"allow_headers\": {\n                                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Type\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_methods\": {\n                                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                    \"example\": [\n                                                      \"GET\",\n                                                      \"OPTIONS\",\n                                                      \"POST\",\n                                                      \"PUT\",\n                                                      \"PATCH\",\n                                                      \"DELETE\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_origins\": {\n                                                    \"description\": \"The set of allowed CORS origins.\",\n                                                    \"example\": [\n                                                      {\n                                                        \"exact\": \"https://www.example.com\"\n                                                      },\n                                                      {\n                                                        \"regex\": \"^.*example.com\"\n                                                      }\n                                                    ],\n                                                    \"items\": {\n                                                      \"properties\": {\n                                                        \"exact\": {\n                                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"prefix\": {\n                                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"regex\": {\n                                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                          \"example\": \"^.*example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"expose_headers\": {\n                                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Encoding\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"max_age\": {\n                                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                    \"example\": \"5h30m\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"health_check\": {\n                                                \"properties\": {\n                                                  \"failure_threshold\": {\n                                                    \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                    \"example\": 2,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"http_path\": {\n                                                    \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                    \"example\": \"/health\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"initial_delay_seconds\": {\n                                                    \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                    \"example\": 30,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"period_seconds\": {\n                                                    \"description\": \"The number of seconds to wait between health checks.\",\n                                                    \"example\": 60,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"port\": {\n                                                    \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                    \"example\": 80,\n                                                    \"format\": \"int64\",\n                                                    \"maximum\": 65535,\n                                                    \"minimum\": 1,\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"success_threshold\": {\n                                                    \"description\": \"The number of successful health checks before considered healthy.\",\n                                                    \"example\": 3,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"timeout_seconds\": {\n                                                    \"description\": \"The number of seconds after which the check times out.\",\n                                                    \"example\": 45,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"http_port\": {\n                                                \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                                \"example\": 3000,\n                                                \"format\": \"int64\",\n                                                \"maximum\": 65535,\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"internal_ports\": {\n                                                \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                                \"example\": [\n                                                  80,\n                                                  443\n                                                ],\n                                                \"items\": {\n                                                  \"format\": \"int64\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"routes\": {\n                                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"path\": {\n                                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                      \"example\": \"/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"preserve_path_prefix\": {\n                                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    }\n                                                  },\n                                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"static_sites\": {\n                                      \"description\": \"Content which can be rendered to static web assets.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"catchall_document\": {\n                                                \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                                \"example\": \"index.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"cors\": {\n                                                \"properties\": {\n                                                  \"allow_credentials\": {\n                                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"allow_headers\": {\n                                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Type\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_methods\": {\n                                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                    \"example\": [\n                                                      \"GET\",\n                                                      \"OPTIONS\",\n                                                      \"POST\",\n                                                      \"PUT\",\n                                                      \"PATCH\",\n                                                      \"DELETE\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_origins\": {\n                                                    \"description\": \"The set of allowed CORS origins.\",\n                                                    \"example\": [\n                                                      {\n                                                        \"exact\": \"https://www.example.com\"\n                                                      },\n                                                      {\n                                                        \"regex\": \"^.*example.com\"\n                                                      }\n                                                    ],\n                                                    \"items\": {\n                                                      \"properties\": {\n                                                        \"exact\": {\n                                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"prefix\": {\n                                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"regex\": {\n                                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                          \"example\": \"^.*example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"expose_headers\": {\n                                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Encoding\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"max_age\": {\n                                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                    \"example\": \"5h30m\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"error_document\": {\n                                                \"default\": \"404.html\",\n                                                \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                                \"example\": \"error.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"index_document\": {\n                                                \"default\": \"index.html\",\n                                                \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                                \"example\": \"main.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"output_dir\": {\n                                                \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                                \"example\": \"dist/\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"routes\": {\n                                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"path\": {\n                                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                      \"example\": \"/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"preserve_path_prefix\": {\n                                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    }\n                                                  },\n                                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          }\n                                        ],\n                                        \"required\": [\n                                          \"name\"\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"workers\": {\n                                      \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          }\n                                        ],\n                                        \"required\": [\n                                          \"name\"\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"AppSpec\",\n                                  \"type\": \"object\"\n                                },\n                                \"static_sites\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"web\",\n                                        \"title\": \"The name of this static site\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Static Site components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"tier_slug\": {\n                                  \"example\": \"basic\",\n                                  \"readOnly\": true,\n                                  \"title\": \"The current pricing tier slug of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"updated_at\": {\n                                  \"example\": \"2020-07-28T18:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"When the deployment was last updated\",\n                                  \"type\": \"string\"\n                                },\n                                \"workers\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"queue-runner\",\n                                        \"title\": \"The name of this worker\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Worker components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"title\": \"An app deployment\",\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"project_id\": {\n                          \"example\": \"88b72d1a-b78a-4d9f-9090-b53c4399073f\",\n                          \"readOnly\": true,\n                          \"title\": \"The ID of the project the app is assigned to. This will be empty if there is a lookup failure.\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"properties\": {\n                            \"continent\": {\n                              \"example\": \"europe\",\n                              \"readOnly\": true,\n                              \"title\": \"The continent that this region is in\",\n                              \"type\": \"string\"\n                            },\n                            \"data_centers\": {\n                              \"example\": [\n                                \"ams\"\n                              ],\n                              \"items\": {\n                                \"example\": \"ams\",\n                                \"type\": \"string\"\n                              },\n                              \"readOnly\": true,\n                              \"title\": \"Data centers that are in this region\",\n                              \"type\": \"array\"\n                            },\n                            \"default\": {\n                              \"description\": \"Whether or not the region is presented as the default.\",\n                              \"example\": true,\n                              \"readOnly\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"disabled\": {\n                              \"example\": true,\n                              \"readOnly\": true,\n                              \"title\": \"Whether or not the region is open for new apps\",\n                              \"type\": \"boolean\"\n                            },\n                            \"flag\": {\n                              \"example\": \"ams\",\n                              \"readOnly\": true,\n                              \"title\": \"The flag of this region\",\n                              \"type\": \"string\"\n                            },\n                            \"label\": {\n                              \"example\": \"ams\",\n                              \"readOnly\": true,\n                              \"title\": \"A human-readable name of the region\",\n                              \"type\": \"string\"\n                            },\n                            \"reason\": {\n                              \"example\": \"to crowded\",\n                              \"readOnly\": true,\n                              \"title\": \"Reason that this region is not available\",\n                              \"type\": \"string\"\n                            },\n                            \"slug\": {\n                              \"example\": \"basic\",\n                              \"readOnly\": true,\n                              \"title\": \"The slug form of the region name\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"title\": \"Geographical information about an app origin\",\n                          \"type\": \"object\"\n                        },\n                        \"spec\": {\n                          \"description\": \"The desired configuration of an application.\",\n                          \"properties\": {\n                            \"databases\": {\n                              \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"cluster_name\": {\n                                    \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                    \"example\": \"cluster_name\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_name\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                    \"example\": \"my_db\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_user\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                    \"example\": \"superuser\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"engine\": {\n                                    \"default\": \"UNSET\",\n                                    \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                    \"enum\": [\n                                      \"UNSET\",\n                                      \"MYSQL\",\n                                      \"PG\",\n                                      \"REDIS\"\n                                    ],\n                                    \"example\": \"PG\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"prod-db\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"production\": {\n                                    \"description\": \"Whether this is a production or dev database.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"version\": {\n                                    \"description\": \"The version of the database engine\",\n                                    \"example\": \"12\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"domains\": {\n                              \"description\": \"A set of hostnames where the application will be available.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"domain\": {\n                                    \"description\": \"The hostname for the domain\",\n                                    \"example\": \"app.example.com\",\n                                    \"maxLength\": 253,\n                                    \"minLength\": 4,\n                                    \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"minimum_tls_version\": {\n                                    \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                    \"enum\": [\n                                      \"1.2\",\n                                      \"1.3\"\n                                    ],\n                                    \"example\": \"1.3\",\n                                    \"maxLength\": 3,\n                                    \"minLength\": 3,\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"UNSPECIFIED\",\n                                    \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED\",\n                                      \"DEFAULT\",\n                                      \"PRIMARY\",\n                                      \"ALIAS\"\n                                    ],\n                                    \"example\": \"DEFAULT\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"wildcard\": {\n                                    \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"zone\": {\n                                    \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                    \"example\": \"example.com\",\n                                    \"format\": \"hostname\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"domain\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"functions\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"alerts\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"disabled\": {\n                                          \"description\": \"Is the alert disabled?\",\n                                          \"example\": false,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"operator\": {\n                                          \"default\": \"UNSPECIFIED_OPERATOR\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_OPERATOR\",\n                                            \"GREATER_THAN\",\n                                            \"LESS_THAN\"\n                                          ],\n                                          \"example\": \"GREATER_THAN\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"rule\": {\n                                          \"default\": \"UNSPECIFIED_RULE\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_RULE\",\n                                            \"CPU_UTILIZATION\",\n                                            \"MEM_UTILIZATION\",\n                                            \"RESTART_COUNT\",\n                                            \"DEPLOYMENT_FAILED\",\n                                            \"DEPLOYMENT_LIVE\",\n                                            \"DOMAIN_FAILED\",\n                                            \"DOMAIN_LIVE\",\n                                            \"FUNCTIONS_ACTIVATION_COUNT\",\n                                            \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                            \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                            \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                            \"FUNCTIONS_ERROR_COUNT\",\n                                            \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                          ],\n                                          \"example\": \"CPU_UTILIZATION\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"Threshold value for alert\",\n                                          \"example\": 2.32,\n                                          \"format\": \"float\",\n                                          \"type\": \"number\"\n                                        },\n                                        \"window\": {\n                                          \"default\": \"UNSPECIFIED_WINDOW\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_WINDOW\",\n                                            \"FIVE_MINUTES\",\n                                            \"TEN_MINUTES\",\n                                            \"THIRTY_MINUTES\",\n                                            \"ONE_HOUR\"\n                                          ],\n                                          \"example\": \"FIVE_MINUTES\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"cors\": {\n                                    \"properties\": {\n                                      \"allow_credentials\": {\n                                        \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                        \"example\": false,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"allow_headers\": {\n                                        \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Type\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_methods\": {\n                                        \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                        \"example\": [\n                                          \"GET\",\n                                          \"OPTIONS\",\n                                          \"POST\",\n                                          \"PUT\",\n                                          \"PATCH\",\n                                          \"DELETE\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_origins\": {\n                                        \"description\": \"The set of allowed CORS origins.\",\n                                        \"example\": [\n                                          {\n                                            \"exact\": \"https://www.example.com\"\n                                          },\n                                          {\n                                            \"regex\": \"^.*example.com\"\n                                          }\n                                        ],\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"exact\": {\n                                              \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"prefix\": {\n                                              \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"regex\": {\n                                              \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                              \"example\": \"^.*example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"expose_headers\": {\n                                        \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Encoding\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"max_age\": {\n                                        \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                        \"example\": \"5h30m\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"envs\": {\n                                    \"description\": \"A list of environment variables made available to the component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"key\": {\n                                          \"description\": \"The variable name\",\n                                          \"example\": \"BASE_URL\",\n                                          \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"scope\": {\n                                          \"default\": \"RUN_AND_BUILD_TIME\",\n                                          \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"RUN_TIME\",\n                                            \"BUILD_TIME\",\n                                            \"RUN_AND_BUILD_TIME\"\n                                          ],\n                                          \"example\": \"BUILD_TIME\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"GENERAL\",\n                                          \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                          \"enum\": [\n                                            \"GENERAL\",\n                                            \"SECRET\"\n                                          ],\n                                          \"example\": \"GENERAL\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                          \"example\": \"http://example.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"git\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repo_clone_url\": {\n                                        \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                        \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"github\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"gitlab\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"log_destinations\": {\n                                    \"properties\": {\n                                      \"datadog\": {\n                                        \"description\": \"DataDog configuration.\",\n                                        \"properties\": {\n                                          \"api_key\": {\n                                            \"description\": \"Datadog API key.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"endpoint\": {\n                                            \"description\": \"Datadog HTTP log intake endpoint.\",\n                                            \"example\": \"https://mydatadogendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"api_key\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"logtail\": {\n                                        \"description\": \"Logtail configuration.\",\n                                        \"properties\": {\n                                          \"token\": {\n                                            \"description\": \"Logtail token.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"my_log_destination\",\n                                        \"maxLength\": 42,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"papertrail\": {\n                                        \"description\": \"Papertrail configuration.\",\n                                        \"properties\": {\n                                          \"endpoint\": {\n                                            \"description\": \"Papertrail syslog endpoint.\",\n                                            \"example\": \"https://mypapertrailendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"Configurations for external logging.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"api\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"routes\": {\n                                    \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"path\": {\n                                          \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                          \"example\": \"/api\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"preserve_path_prefix\": {\n                                          \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        }\n                                      },\n                                      \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"source_dir\": {\n                                    \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                    \"example\": \"path/to/dir\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"jobs\": {\n                              \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"kind\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"PRE_DEPLOY\",\n                                          \"POST_DEPLOY\",\n                                          \"FAILED_DEPLOY\"\n                                        ],\n                                        \"example\": \"PRE_DEPLOY\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                              \"example\": \"web-app-01\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                              \"enum\": [\n                                \"ams\",\n                                \"nyc\",\n                                \"fra\",\n                                \"sfo\",\n                                \"sgp\",\n                                \"blr\",\n                                \"tor\",\n                                \"lon\",\n                                \"syd\"\n                              ],\n                              \"example\": \"nyc\",\n                              \"type\": \"string\"\n                            },\n                            \"services\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"health_check\": {\n                                        \"properties\": {\n                                          \"failure_threshold\": {\n                                            \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                            \"example\": 2,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"http_path\": {\n                                            \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                            \"example\": \"/health\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"initial_delay_seconds\": {\n                                            \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                            \"example\": 30,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"period_seconds\": {\n                                            \"description\": \"The number of seconds to wait between health checks.\",\n                                            \"example\": 60,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"port\": {\n                                            \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                            \"example\": 80,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"success_threshold\": {\n                                            \"description\": \"The number of successful health checks before considered healthy.\",\n                                            \"example\": 3,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"timeout_seconds\": {\n                                            \"description\": \"The number of seconds after which the check times out.\",\n                                            \"example\": 45,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"http_port\": {\n                                        \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                        \"example\": 3000,\n                                        \"format\": \"int64\",\n                                        \"maximum\": 65535,\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"internal_ports\": {\n                                        \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                        \"example\": [\n                                          80,\n                                          443\n                                        ],\n                                        \"items\": {\n                                          \"format\": \"int64\",\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"static_sites\": {\n                              \"description\": \"Content which can be rendered to static web assets.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"catchall_document\": {\n                                        \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                        \"example\": \"index.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"error_document\": {\n                                        \"default\": \"404.html\",\n                                        \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                        \"example\": \"error.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"index_document\": {\n                                        \"default\": \"index.html\",\n                                        \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                        \"example\": \"main.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"output_dir\": {\n                                        \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                        \"example\": \"dist/\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"workers\": {\n                              \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"title\": \"AppSpec\",\n                          \"type\": \"object\"\n                        },\n                        \"tier_slug\": {\n                          \"example\": \"basic\",\n                          \"readOnly\": true,\n                          \"title\": \"The current pricing tier slug of the app\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"example\": \"2020-12-01T00:42:16Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"title\": \"Time of the app's last configuration update\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"spec\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON or YAML of a `spec` object.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New App\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps\\\"\\n  -d '{\\\"spec\\\":{\\\"name\\\":\\\"web-app\\\",\\\"region\\\":\\\"nyc\\\", \\\\\\n  \\\"services\\\":[{\\\"name\\\":\\\"api\\\",\\\"github\\\":{\\\"branch\\\":\\\"main\\\",\\\\\\n  \\\"deploy_on_push\\\":true,\\\"repo\\\":\\\"digitalocean/sample-golang\\\"}, \\\\\\n  \\\"run_command\\\":\\\"bin/api\\\",\\\"environment_slug\\\":\\\"node-js\\\", \\\\\\n  \\\"instance_count\\\":2,\\\"instance_size_slug\\\":\\\"basic-xxs\\\", \\\\\\n  \\\"routes\\\":[{\\\"path\\\":\\\"/api\\\"}]}]}}'\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/metrics/bandwidth_daily\": {\n      \"post\": {\n        \"description\": \"Retrieve daily bandwidth usage metrics for multiple apps.\",\n        \"operationId\": \"apps_list_metrics_bandwidth_daily\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"app_ids\": [\n                  \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                  \"c2a93513-8d9b-4223-9d61-5e7272c81cf5\"\n                ],\n                \"date\": \"2023-01-17T00:00:00Z\"\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"app_ids\": {\n                    \"description\": \"A list of app IDs to query bandwidth metrics for.\",\n                    \"example\": [\n                      \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                      \"c2a93513-8d9b-4223-9d61-5e7272c81cf5\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"maxItems\": 100,\n                    \"type\": \"array\"\n                  },\n                  \"date\": {\n                    \"description\": \"Optional day to query. Only the date component of the timestamp will be considered. Default: yesterday.\",\n                    \"example\": \"2023-01-17T00:00:00Z\",\n                    \"format\": \"date-time\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"app_ids\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"app_bandwidth_usage\": {\n                    \"value\": {\n                      \"app_bandwidth_usage\": [\n                        {\n                          \"app_id\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                          \"bandwidth_bytes\": \"513668\"\n                        },\n                        {\n                          \"app_id\": \"c2a93513-8d9b-4223-9d61-5e7272c81cf5\",\n                          \"bandwidth_bytes\": \"254847\"\n                        }\n                      ],\n                      \"date\": \"2023-01-17T00:00:00Z\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"app_bandwidth_usage\": {\n                      \"description\": \"A list of bandwidth usage details by app.\",\n                      \"items\": {\n                        \"description\": \"Bandwidth usage for an app.\",\n                        \"properties\": {\n                          \"app_id\": {\n                            \"description\": \"The ID of the app.\",\n                            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                            \"type\": \"string\"\n                          },\n                          \"bandwidth_bytes\": {\n                            \"description\": \"The used bandwidth amount in bytes.\",\n                            \"example\": \"513668\",\n                            \"format\": \"uint64\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    },\n                    \"date\": {\n                      \"description\": \"The date for the metrics data.\",\n                      \"example\": \"2023-01-17T00:00:00Z\",\n                      \"format\": \"date-time\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a `app_bandwidth_usage` key\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve Multiple Apps' Daily Bandwidth Metrics\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/metrics/bandwidth_daily\\\" \\\\\\n  -d '{ \\\"app_ids\\\": [\\\"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\\\"] }'\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/propose\": {\n      \"post\": {\n        \"description\": \"To propose and validate a spec for a new or existing app, send a POST request to the `/v2/apps/propose` endpoint. The request returns some information about the proposed app, including app cost and upgrade cost. If an existing app ID is specified, the app spec is treated as a proposed update to the existing app.\",\n        \"operationId\": \"apps_validate_appSpec\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"app_id\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                \"spec\": {\n                  \"name\": \"web-app\",\n                  \"region\": \"nyc\",\n                  \"services\": [\n                    {\n                      \"environment_slug\": \"node-js\",\n                      \"github\": {\n                        \"branch\": \"main\",\n                        \"deploy_on_push\": true,\n                        \"repo\": \"digitalocean/sample-golang\"\n                      },\n                      \"instance_count\": 2,\n                      \"instance_size_slug\": \"basic-xxs\",\n                      \"name\": \"api\",\n                      \"routes\": [\n                        {\n                          \"path\": \"/api\"\n                        }\n                      ],\n                      \"run_command\": \"bin/api\"\n                    }\n                  ]\n                }\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"app_id\": {\n                    \"description\": \"An optional ID of an existing app. If set, the spec will be treated as a proposed update to the specified app. The existing app is not modified using this method.\",\n                    \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                    \"type\": \"string\"\n                  },\n                  \"spec\": {\n                    \"description\": \"The desired configuration of an application.\",\n                    \"properties\": {\n                      \"databases\": {\n                        \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"cluster_name\": {\n                              \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                              \"example\": \"cluster_name\",\n                              \"type\": \"string\"\n                            },\n                            \"db_name\": {\n                              \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                              \"example\": \"my_db\",\n                              \"type\": \"string\"\n                            },\n                            \"db_user\": {\n                              \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                              \"example\": \"superuser\",\n                              \"type\": \"string\"\n                            },\n                            \"engine\": {\n                              \"default\": \"UNSET\",\n                              \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                              \"enum\": [\n                                \"UNSET\",\n                                \"MYSQL\",\n                                \"PG\",\n                                \"REDIS\"\n                              ],\n                              \"example\": \"PG\",\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                              \"example\": \"prod-db\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"production\": {\n                              \"description\": \"Whether this is a production or dev database.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"version\": {\n                              \"description\": \"The version of the database engine\",\n                              \"example\": \"12\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"domains\": {\n                        \"description\": \"A set of hostnames where the application will be available.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"domain\": {\n                              \"description\": \"The hostname for the domain\",\n                              \"example\": \"app.example.com\",\n                              \"maxLength\": 253,\n                              \"minLength\": 4,\n                              \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                              \"type\": \"string\"\n                            },\n                            \"minimum_tls_version\": {\n                              \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                              \"enum\": [\n                                \"1.2\",\n                                \"1.3\"\n                              ],\n                              \"example\": \"1.3\",\n                              \"maxLength\": 3,\n                              \"minLength\": 3,\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"default\": \"UNSPECIFIED\",\n                              \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                              \"enum\": [\n                                \"UNSPECIFIED\",\n                                \"DEFAULT\",\n                                \"PRIMARY\",\n                                \"ALIAS\"\n                              ],\n                              \"example\": \"DEFAULT\",\n                              \"type\": \"string\"\n                            },\n                            \"wildcard\": {\n                              \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"zone\": {\n                              \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                              \"example\": \"example.com\",\n                              \"format\": \"hostname\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"domain\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"functions\": {\n                        \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"alerts\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"disabled\": {\n                                    \"description\": \"Is the alert disabled?\",\n                                    \"example\": false,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"operator\": {\n                                    \"default\": \"UNSPECIFIED_OPERATOR\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED_OPERATOR\",\n                                      \"GREATER_THAN\",\n                                      \"LESS_THAN\"\n                                    ],\n                                    \"example\": \"GREATER_THAN\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"rule\": {\n                                    \"default\": \"UNSPECIFIED_RULE\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED_RULE\",\n                                      \"CPU_UTILIZATION\",\n                                      \"MEM_UTILIZATION\",\n                                      \"RESTART_COUNT\",\n                                      \"DEPLOYMENT_FAILED\",\n                                      \"DEPLOYMENT_LIVE\",\n                                      \"DOMAIN_FAILED\",\n                                      \"DOMAIN_LIVE\",\n                                      \"FUNCTIONS_ACTIVATION_COUNT\",\n                                      \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                      \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                      \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                      \"FUNCTIONS_ERROR_COUNT\",\n                                      \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                    ],\n                                    \"example\": \"CPU_UTILIZATION\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"value\": {\n                                    \"description\": \"Threshold value for alert\",\n                                    \"example\": 2.32,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  },\n                                  \"window\": {\n                                    \"default\": \"UNSPECIFIED_WINDOW\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED_WINDOW\",\n                                      \"FIVE_MINUTES\",\n                                      \"TEN_MINUTES\",\n                                      \"THIRTY_MINUTES\",\n                                      \"ONE_HOUR\"\n                                    ],\n                                    \"example\": \"FIVE_MINUTES\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"cors\": {\n                              \"properties\": {\n                                \"allow_credentials\": {\n                                  \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                },\n                                \"allow_headers\": {\n                                  \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                  \"example\": [\n                                    \"Content-Type\",\n                                    \"X-Custom-Header\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"allow_methods\": {\n                                  \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                  \"example\": [\n                                    \"GET\",\n                                    \"OPTIONS\",\n                                    \"POST\",\n                                    \"PUT\",\n                                    \"PATCH\",\n                                    \"DELETE\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"allow_origins\": {\n                                  \"description\": \"The set of allowed CORS origins.\",\n                                  \"example\": [\n                                    {\n                                      \"exact\": \"https://www.example.com\"\n                                    },\n                                    {\n                                      \"regex\": \"^.*example.com\"\n                                    }\n                                  ],\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"exact\": {\n                                        \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                        \"example\": \"https://www.example.com\",\n                                        \"maxLength\": 256,\n                                        \"minLength\": 1,\n                                        \"type\": \"string\"\n                                      },\n                                      \"prefix\": {\n                                        \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                        \"example\": \"https://www.example.com\",\n                                        \"maxLength\": 256,\n                                        \"minLength\": 1,\n                                        \"type\": \"string\"\n                                      },\n                                      \"regex\": {\n                                        \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                        \"example\": \"^.*example.com\",\n                                        \"maxLength\": 256,\n                                        \"minLength\": 1,\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"expose_headers\": {\n                                  \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                  \"example\": [\n                                    \"Content-Encoding\",\n                                    \"X-Custom-Header\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"max_age\": {\n                                  \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                  \"example\": \"5h30m\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"envs\": {\n                              \"description\": \"A list of environment variables made available to the component.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"key\": {\n                                    \"description\": \"The variable name\",\n                                    \"example\": \"BASE_URL\",\n                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"scope\": {\n                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                    \"enum\": [\n                                      \"UNSET\",\n                                      \"RUN_TIME\",\n                                      \"BUILD_TIME\",\n                                      \"RUN_AND_BUILD_TIME\"\n                                    ],\n                                    \"example\": \"BUILD_TIME\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"GENERAL\",\n                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                    \"enum\": [\n                                      \"GENERAL\",\n                                      \"SECRET\"\n                                    ],\n                                    \"example\": \"GENERAL\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"value\": {\n                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                    \"example\": \"http://example.com\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"key\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"git\": {\n                              \"properties\": {\n                                \"branch\": {\n                                  \"description\": \"The name of the branch to use\",\n                                  \"example\": \"main\",\n                                  \"type\": \"string\"\n                                },\n                                \"repo_clone_url\": {\n                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"github\": {\n                              \"properties\": {\n                                \"branch\": {\n                                  \"description\": \"The name of the branch to use\",\n                                  \"example\": \"main\",\n                                  \"type\": \"string\"\n                                },\n                                \"deploy_on_push\": {\n                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"repo\": {\n                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                  \"example\": \"digitalocean/sample-golang\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"gitlab\": {\n                              \"properties\": {\n                                \"branch\": {\n                                  \"description\": \"The name of the branch to use\",\n                                  \"example\": \"main\",\n                                  \"type\": \"string\"\n                                },\n                                \"deploy_on_push\": {\n                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"repo\": {\n                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                  \"example\": \"digitalocean/sample-golang\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"log_destinations\": {\n                              \"properties\": {\n                                \"datadog\": {\n                                  \"description\": \"DataDog configuration.\",\n                                  \"properties\": {\n                                    \"api_key\": {\n                                      \"description\": \"Datadog API key.\",\n                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"endpoint\": {\n                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                      \"example\": \"https://mydatadogendpoint.com\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"api_key\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"logtail\": {\n                                  \"description\": \"Logtail configuration.\",\n                                  \"properties\": {\n                                    \"token\": {\n                                      \"description\": \"Logtail token.\",\n                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"endpoint\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"example\": \"my_log_destination\",\n                                  \"maxLength\": 42,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"papertrail\": {\n                                  \"description\": \"Papertrail configuration.\",\n                                  \"properties\": {\n                                    \"endpoint\": {\n                                      \"description\": \"Papertrail syslog endpoint.\",\n                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"endpoint\"\n                                  ],\n                                  \"type\": \"object\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"title\": \"Configurations for external logging.\",\n                              \"type\": \"object\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                              \"example\": \"api\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"routes\": {\n                              \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"path\": {\n                                    \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                    \"example\": \"/api\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"preserve_path_prefix\": {\n                                    \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  }\n                                },\n                                \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"source_dir\": {\n                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                              \"example\": \"path/to/dir\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"jobs\": {\n                        \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"build_command\": {\n                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                  \"example\": \"npm run build\",\n                                  \"type\": \"string\"\n                                },\n                                \"dockerfile_path\": {\n                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                  \"example\": \"path/to/Dockerfile\",\n                                  \"type\": \"string\"\n                                },\n                                \"environment_slug\": {\n                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                  \"example\": \"node-js\",\n                                  \"type\": \"string\"\n                                },\n                                \"envs\": {\n                                  \"description\": \"A list of environment variables made available to the component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"key\": {\n                                        \"description\": \"The variable name\",\n                                        \"example\": \"BASE_URL\",\n                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"scope\": {\n                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"RUN_TIME\",\n                                          \"BUILD_TIME\",\n                                          \"RUN_AND_BUILD_TIME\"\n                                        ],\n                                        \"example\": \"BUILD_TIME\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"GENERAL\",\n                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                        \"enum\": [\n                                          \"GENERAL\",\n                                          \"SECRET\"\n                                        ],\n                                        \"example\": \"GENERAL\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"value\": {\n                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                        \"example\": \"http://example.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"git\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repo_clone_url\": {\n                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"github\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"gitlab\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"registry\": {\n                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                      \"example\": \"registry.hub.docker.com\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"registry_type\": {\n                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                      \"enum\": [\n                                        \"DOCKER_HUB\",\n                                        \"DOCR\"\n                                      ],\n                                      \"example\": \"DOCR\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repository\": {\n                                      \"description\": \"The repository name.\",\n                                      \"example\": \"origin/master\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tag\": {\n                                      \"default\": \"latest\",\n                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                      \"example\": \"latest\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"log_destinations\": {\n                                  \"properties\": {\n                                    \"datadog\": {\n                                      \"description\": \"DataDog configuration.\",\n                                      \"properties\": {\n                                        \"api_key\": {\n                                          \"description\": \"Datadog API key.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"endpoint\": {\n                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                          \"example\": \"https://mydatadogendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"api_key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"logtail\": {\n                                      \"description\": \"Logtail configuration.\",\n                                      \"properties\": {\n                                        \"token\": {\n                                          \"description\": \"Logtail token.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"my_log_destination\",\n                                      \"maxLength\": 42,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"papertrail\": {\n                                      \"description\": \"Papertrail configuration.\",\n                                      \"properties\": {\n                                        \"endpoint\": {\n                                          \"description\": \"Papertrail syslog endpoint.\",\n                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"Configurations for external logging.\",\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                  \"example\": \"api\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"run_command\": {\n                                  \"description\": \"An optional run command to override the component's default.\",\n                                  \"example\": \"bin/api\",\n                                  \"type\": \"string\"\n                                },\n                                \"source_dir\": {\n                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                  \"example\": \"path/to/dir\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"instance_count\": {\n                                  \"default\": 1,\n                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                  \"example\": 2,\n                                  \"format\": \"int64\",\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"instance_size_slug\": {\n                                  \"default\": \"basic-xxs\",\n                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                  \"enum\": [\n                                    \"basic-xxs\",\n                                    \"basic-xs\",\n                                    \"basic-s\",\n                                    \"basic-m\",\n                                    \"professional-xs\",\n                                    \"professional-s\",\n                                    \"professional-m\",\n                                    \"professional-1l\",\n                                    \"professional-l\",\n                                    \"professional-xl\"\n                                  ],\n                                  \"example\": \"basic-xxs\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"kind\": {\n                                  \"default\": \"UNSPECIFIED\",\n                                  \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                  \"enum\": [\n                                    \"UNSPECIFIED\",\n                                    \"PRE_DEPLOY\",\n                                    \"POST_DEPLOY\",\n                                    \"FAILED_DEPLOY\"\n                                  ],\n                                  \"example\": \"PRE_DEPLOY\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"name\": {\n                        \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                        \"example\": \"web-app-01\",\n                        \"maxLength\": 32,\n                        \"minLength\": 2,\n                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                        \"type\": \"string\"\n                      },\n                      \"region\": {\n                        \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                        \"enum\": [\n                          \"ams\",\n                          \"nyc\",\n                          \"fra\",\n                          \"sfo\",\n                          \"sgp\",\n                          \"blr\",\n                          \"tor\",\n                          \"lon\",\n                          \"syd\"\n                        ],\n                        \"example\": \"nyc\",\n                        \"type\": \"string\"\n                      },\n                      \"services\": {\n                        \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"build_command\": {\n                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                  \"example\": \"npm run build\",\n                                  \"type\": \"string\"\n                                },\n                                \"dockerfile_path\": {\n                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                  \"example\": \"path/to/Dockerfile\",\n                                  \"type\": \"string\"\n                                },\n                                \"environment_slug\": {\n                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                  \"example\": \"node-js\",\n                                  \"type\": \"string\"\n                                },\n                                \"envs\": {\n                                  \"description\": \"A list of environment variables made available to the component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"key\": {\n                                        \"description\": \"The variable name\",\n                                        \"example\": \"BASE_URL\",\n                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"scope\": {\n                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"RUN_TIME\",\n                                          \"BUILD_TIME\",\n                                          \"RUN_AND_BUILD_TIME\"\n                                        ],\n                                        \"example\": \"BUILD_TIME\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"GENERAL\",\n                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                        \"enum\": [\n                                          \"GENERAL\",\n                                          \"SECRET\"\n                                        ],\n                                        \"example\": \"GENERAL\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"value\": {\n                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                        \"example\": \"http://example.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"git\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repo_clone_url\": {\n                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"github\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"gitlab\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"registry\": {\n                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                      \"example\": \"registry.hub.docker.com\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"registry_type\": {\n                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                      \"enum\": [\n                                        \"DOCKER_HUB\",\n                                        \"DOCR\"\n                                      ],\n                                      \"example\": \"DOCR\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repository\": {\n                                      \"description\": \"The repository name.\",\n                                      \"example\": \"origin/master\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tag\": {\n                                      \"default\": \"latest\",\n                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                      \"example\": \"latest\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"log_destinations\": {\n                                  \"properties\": {\n                                    \"datadog\": {\n                                      \"description\": \"DataDog configuration.\",\n                                      \"properties\": {\n                                        \"api_key\": {\n                                          \"description\": \"Datadog API key.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"endpoint\": {\n                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                          \"example\": \"https://mydatadogendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"api_key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"logtail\": {\n                                      \"description\": \"Logtail configuration.\",\n                                      \"properties\": {\n                                        \"token\": {\n                                          \"description\": \"Logtail token.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"my_log_destination\",\n                                      \"maxLength\": 42,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"papertrail\": {\n                                      \"description\": \"Papertrail configuration.\",\n                                      \"properties\": {\n                                        \"endpoint\": {\n                                          \"description\": \"Papertrail syslog endpoint.\",\n                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"Configurations for external logging.\",\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                  \"example\": \"api\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"run_command\": {\n                                  \"description\": \"An optional run command to override the component's default.\",\n                                  \"example\": \"bin/api\",\n                                  \"type\": \"string\"\n                                },\n                                \"source_dir\": {\n                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                  \"example\": \"path/to/dir\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"instance_count\": {\n                                  \"default\": 1,\n                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                  \"example\": 2,\n                                  \"format\": \"int64\",\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"instance_size_slug\": {\n                                  \"default\": \"basic-xxs\",\n                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                  \"enum\": [\n                                    \"basic-xxs\",\n                                    \"basic-xs\",\n                                    \"basic-s\",\n                                    \"basic-m\",\n                                    \"professional-xs\",\n                                    \"professional-s\",\n                                    \"professional-m\",\n                                    \"professional-1l\",\n                                    \"professional-l\",\n                                    \"professional-xl\"\n                                  ],\n                                  \"example\": \"basic-xxs\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"cors\": {\n                                  \"properties\": {\n                                    \"allow_credentials\": {\n                                      \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                      \"example\": false,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"allow_headers\": {\n                                      \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                      \"example\": [\n                                        \"Content-Type\",\n                                        \"X-Custom-Header\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"allow_methods\": {\n                                      \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                      \"example\": [\n                                        \"GET\",\n                                        \"OPTIONS\",\n                                        \"POST\",\n                                        \"PUT\",\n                                        \"PATCH\",\n                                        \"DELETE\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"allow_origins\": {\n                                      \"description\": \"The set of allowed CORS origins.\",\n                                      \"example\": [\n                                        {\n                                          \"exact\": \"https://www.example.com\"\n                                        },\n                                        {\n                                          \"regex\": \"^.*example.com\"\n                                        }\n                                      ],\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"exact\": {\n                                            \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                            \"example\": \"https://www.example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          },\n                                          \"prefix\": {\n                                            \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                            \"example\": \"https://www.example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          },\n                                          \"regex\": {\n                                            \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                            \"example\": \"^.*example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"expose_headers\": {\n                                      \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                      \"example\": [\n                                        \"Content-Encoding\",\n                                        \"X-Custom-Header\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"max_age\": {\n                                      \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                      \"example\": \"5h30m\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"health_check\": {\n                                  \"properties\": {\n                                    \"failure_threshold\": {\n                                      \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"http_path\": {\n                                      \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                      \"example\": \"/health\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"initial_delay_seconds\": {\n                                      \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                      \"example\": 30,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"period_seconds\": {\n                                      \"description\": \"The number of seconds to wait between health checks.\",\n                                      \"example\": 60,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"port\": {\n                                      \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                      \"example\": 80,\n                                      \"format\": \"int64\",\n                                      \"maximum\": 65535,\n                                      \"minimum\": 1,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"success_threshold\": {\n                                      \"description\": \"The number of successful health checks before considered healthy.\",\n                                      \"example\": 3,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"timeout_seconds\": {\n                                      \"description\": \"The number of seconds after which the check times out.\",\n                                      \"example\": 45,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"http_port\": {\n                                  \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                  \"example\": 3000,\n                                  \"format\": \"int64\",\n                                  \"maximum\": 65535,\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"internal_ports\": {\n                                  \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                  \"example\": [\n                                    80,\n                                    443\n                                  ],\n                                  \"items\": {\n                                    \"format\": \"int64\",\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"routes\": {\n                                  \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"path\": {\n                                        \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                        \"example\": \"/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"preserve_path_prefix\": {\n                                        \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      }\n                                    },\n                                    \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"static_sites\": {\n                        \"description\": \"Content which can be rendered to static web assets.\",\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"build_command\": {\n                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                  \"example\": \"npm run build\",\n                                  \"type\": \"string\"\n                                },\n                                \"dockerfile_path\": {\n                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                  \"example\": \"path/to/Dockerfile\",\n                                  \"type\": \"string\"\n                                },\n                                \"environment_slug\": {\n                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                  \"example\": \"node-js\",\n                                  \"type\": \"string\"\n                                },\n                                \"envs\": {\n                                  \"description\": \"A list of environment variables made available to the component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"key\": {\n                                        \"description\": \"The variable name\",\n                                        \"example\": \"BASE_URL\",\n                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"scope\": {\n                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"RUN_TIME\",\n                                          \"BUILD_TIME\",\n                                          \"RUN_AND_BUILD_TIME\"\n                                        ],\n                                        \"example\": \"BUILD_TIME\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"GENERAL\",\n                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                        \"enum\": [\n                                          \"GENERAL\",\n                                          \"SECRET\"\n                                        ],\n                                        \"example\": \"GENERAL\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"value\": {\n                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                        \"example\": \"http://example.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"git\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repo_clone_url\": {\n                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"github\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"gitlab\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"registry\": {\n                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                      \"example\": \"registry.hub.docker.com\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"registry_type\": {\n                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                      \"enum\": [\n                                        \"DOCKER_HUB\",\n                                        \"DOCR\"\n                                      ],\n                                      \"example\": \"DOCR\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repository\": {\n                                      \"description\": \"The repository name.\",\n                                      \"example\": \"origin/master\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tag\": {\n                                      \"default\": \"latest\",\n                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                      \"example\": \"latest\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"log_destinations\": {\n                                  \"properties\": {\n                                    \"datadog\": {\n                                      \"description\": \"DataDog configuration.\",\n                                      \"properties\": {\n                                        \"api_key\": {\n                                          \"description\": \"Datadog API key.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"endpoint\": {\n                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                          \"example\": \"https://mydatadogendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"api_key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"logtail\": {\n                                      \"description\": \"Logtail configuration.\",\n                                      \"properties\": {\n                                        \"token\": {\n                                          \"description\": \"Logtail token.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"my_log_destination\",\n                                      \"maxLength\": 42,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"papertrail\": {\n                                      \"description\": \"Papertrail configuration.\",\n                                      \"properties\": {\n                                        \"endpoint\": {\n                                          \"description\": \"Papertrail syslog endpoint.\",\n                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"Configurations for external logging.\",\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                  \"example\": \"api\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"run_command\": {\n                                  \"description\": \"An optional run command to override the component's default.\",\n                                  \"example\": \"bin/api\",\n                                  \"type\": \"string\"\n                                },\n                                \"source_dir\": {\n                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                  \"example\": \"path/to/dir\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"catchall_document\": {\n                                  \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                  \"example\": \"index.html\",\n                                  \"type\": \"string\"\n                                },\n                                \"cors\": {\n                                  \"properties\": {\n                                    \"allow_credentials\": {\n                                      \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                      \"example\": false,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"allow_headers\": {\n                                      \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                      \"example\": [\n                                        \"Content-Type\",\n                                        \"X-Custom-Header\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"allow_methods\": {\n                                      \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                      \"example\": [\n                                        \"GET\",\n                                        \"OPTIONS\",\n                                        \"POST\",\n                                        \"PUT\",\n                                        \"PATCH\",\n                                        \"DELETE\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"allow_origins\": {\n                                      \"description\": \"The set of allowed CORS origins.\",\n                                      \"example\": [\n                                        {\n                                          \"exact\": \"https://www.example.com\"\n                                        },\n                                        {\n                                          \"regex\": \"^.*example.com\"\n                                        }\n                                      ],\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"exact\": {\n                                            \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                            \"example\": \"https://www.example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          },\n                                          \"prefix\": {\n                                            \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                            \"example\": \"https://www.example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          },\n                                          \"regex\": {\n                                            \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                            \"example\": \"^.*example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"expose_headers\": {\n                                      \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                      \"example\": [\n                                        \"Content-Encoding\",\n                                        \"X-Custom-Header\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"max_age\": {\n                                      \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                      \"example\": \"5h30m\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"error_document\": {\n                                  \"default\": \"404.html\",\n                                  \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                  \"example\": \"error.html\",\n                                  \"type\": \"string\"\n                                },\n                                \"index_document\": {\n                                  \"default\": \"index.html\",\n                                  \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                  \"example\": \"main.html\",\n                                  \"type\": \"string\"\n                                },\n                                \"output_dir\": {\n                                  \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                  \"example\": \"dist/\",\n                                  \"type\": \"string\"\n                                },\n                                \"routes\": {\n                                  \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"path\": {\n                                        \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                        \"example\": \"/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"preserve_path_prefix\": {\n                                        \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      }\n                                    },\n                                    \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ],\n                          \"required\": [\n                            \"name\"\n                          ]\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"workers\": {\n                        \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"build_command\": {\n                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                  \"example\": \"npm run build\",\n                                  \"type\": \"string\"\n                                },\n                                \"dockerfile_path\": {\n                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                  \"example\": \"path/to/Dockerfile\",\n                                  \"type\": \"string\"\n                                },\n                                \"environment_slug\": {\n                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                  \"example\": \"node-js\",\n                                  \"type\": \"string\"\n                                },\n                                \"envs\": {\n                                  \"description\": \"A list of environment variables made available to the component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"key\": {\n                                        \"description\": \"The variable name\",\n                                        \"example\": \"BASE_URL\",\n                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"scope\": {\n                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"RUN_TIME\",\n                                          \"BUILD_TIME\",\n                                          \"RUN_AND_BUILD_TIME\"\n                                        ],\n                                        \"example\": \"BUILD_TIME\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"GENERAL\",\n                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                        \"enum\": [\n                                          \"GENERAL\",\n                                          \"SECRET\"\n                                        ],\n                                        \"example\": \"GENERAL\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"value\": {\n                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                        \"example\": \"http://example.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"git\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repo_clone_url\": {\n                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"github\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"gitlab\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"registry\": {\n                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                      \"example\": \"registry.hub.docker.com\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"registry_type\": {\n                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                      \"enum\": [\n                                        \"DOCKER_HUB\",\n                                        \"DOCR\"\n                                      ],\n                                      \"example\": \"DOCR\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repository\": {\n                                      \"description\": \"The repository name.\",\n                                      \"example\": \"origin/master\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tag\": {\n                                      \"default\": \"latest\",\n                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                      \"example\": \"latest\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"log_destinations\": {\n                                  \"properties\": {\n                                    \"datadog\": {\n                                      \"description\": \"DataDog configuration.\",\n                                      \"properties\": {\n                                        \"api_key\": {\n                                          \"description\": \"Datadog API key.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"endpoint\": {\n                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                          \"example\": \"https://mydatadogendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"api_key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"logtail\": {\n                                      \"description\": \"Logtail configuration.\",\n                                      \"properties\": {\n                                        \"token\": {\n                                          \"description\": \"Logtail token.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"my_log_destination\",\n                                      \"maxLength\": 42,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"papertrail\": {\n                                      \"description\": \"Papertrail configuration.\",\n                                      \"properties\": {\n                                        \"endpoint\": {\n                                          \"description\": \"Papertrail syslog endpoint.\",\n                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"Configurations for external logging.\",\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                  \"example\": \"api\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"run_command\": {\n                                  \"description\": \"An optional run command to override the component's default.\",\n                                  \"example\": \"bin/api\",\n                                  \"type\": \"string\"\n                                },\n                                \"source_dir\": {\n                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                  \"example\": \"path/to/dir\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"instance_count\": {\n                                  \"default\": 1,\n                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                  \"example\": 2,\n                                  \"format\": \"int64\",\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"instance_size_slug\": {\n                                  \"default\": \"basic-xxs\",\n                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                  \"enum\": [\n                                    \"basic-xxs\",\n                                    \"basic-xs\",\n                                    \"basic-s\",\n                                    \"basic-m\",\n                                    \"professional-xs\",\n                                    \"professional-s\",\n                                    \"professional-m\",\n                                    \"professional-1l\",\n                                    \"professional-l\",\n                                    \"professional-xl\"\n                                  ],\n                                  \"example\": \"basic-xxs\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ],\n                          \"required\": [\n                            \"name\"\n                          ]\n                        },\n                        \"type\": \"array\"\n                      }\n                    },\n                    \"required\": [\n                      \"name\"\n                    ],\n                    \"title\": \"AppSpec\",\n                    \"type\": \"object\"\n                  }\n                },\n                \"required\": [\n                  \"spec\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"propose\": {\n                    \"value\": {\n                      \"app_cost\": 5,\n                      \"app_name_available\": true,\n                      \"app_tier_upgrade_cost\": 17,\n                      \"existing_static_apps\": \"2\",\n                      \"max_free_static_apps\": \"3\",\n                      \"spec\": {\n                        \"name\": \"sample-golang\",\n                        \"region\": \"ams\",\n                        \"services\": [\n                          {\n                            \"environment_slug\": \"go\",\n                            \"github\": {\n                              \"branch\": \"branch\",\n                              \"repo\": \"digitalocean/sample-golang\"\n                            },\n                            \"http_port\": 8080,\n                            \"instance_count\": 1,\n                            \"instance_size_slug\": \"basic-xxs\",\n                            \"name\": \"web\",\n                            \"routes\": [\n                              {\n                                \"path\": \"/\"\n                              }\n                            ],\n                            \"run_command\": \"bin/sample-golang\"\n                          }\n                        ]\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"app_cost\": {\n                      \"description\": \"The monthly cost of the proposed app in USD using the next pricing plan tier. For example, if you propose an app that uses the Basic tier, the `app_tier_upgrade_cost` field displays the monthly cost of the app if it were to use the Professional tier. If the proposed app already uses the most expensive tier, the field is empty.\",\n                      \"example\": 5,\n                      \"format\": \"int32\",\n                      \"type\": \"integer\"\n                    },\n                    \"app_is_static\": {\n                      \"description\": \"Indicates whether the app is a static app.\",\n                      \"example\": true,\n                      \"type\": \"boolean\"\n                    },\n                    \"app_name_available\": {\n                      \"description\": \"Indicates whether the app name is available.\",\n                      \"example\": true,\n                      \"type\": \"boolean\"\n                    },\n                    \"app_name_suggestion\": {\n                      \"description\": \"The suggested name if the proposed app name is unavailable.\",\n                      \"example\": \"newName\",\n                      \"type\": \"string\"\n                    },\n                    \"app_tier_downgrade_cost\": {\n                      \"description\": \"The monthly cost of the proposed app in USD using the previous pricing plan tier. For example, if you propose an app that uses the Professional tier, the `app_tier_downgrade_cost` field displays the monthly cost of the app if it were to use the Basic tier. If the proposed app already uses the lest expensive tier, the field is empty.\",\n                      \"example\": 17,\n                      \"format\": \"int32\",\n                      \"type\": \"integer\"\n                    },\n                    \"existing_static_apps\": {\n                      \"description\": \"The maximum number of free static apps the account can have. We will charge you for any additional static apps.\",\n                      \"example\": \"2\",\n                      \"type\": \"string\"\n                    },\n                    \"spec\": {\n                      \"description\": \"The desired configuration of an application.\",\n                      \"properties\": {\n                        \"databases\": {\n                          \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"cluster_name\": {\n                                \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                \"example\": \"cluster_name\",\n                                \"type\": \"string\"\n                              },\n                              \"db_name\": {\n                                \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                \"example\": \"my_db\",\n                                \"type\": \"string\"\n                              },\n                              \"db_user\": {\n                                \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                \"example\": \"superuser\",\n                                \"type\": \"string\"\n                              },\n                              \"engine\": {\n                                \"default\": \"UNSET\",\n                                \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                \"enum\": [\n                                  \"UNSET\",\n                                  \"MYSQL\",\n                                  \"PG\",\n                                  \"REDIS\"\n                                ],\n                                \"example\": \"PG\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                \"example\": \"prod-db\",\n                                \"maxLength\": 32,\n                                \"minLength\": 2,\n                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                \"type\": \"string\"\n                              },\n                              \"production\": {\n                                \"description\": \"Whether this is a production or dev database.\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"version\": {\n                                \"description\": \"The version of the database engine\",\n                                \"example\": \"12\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"name\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"domains\": {\n                          \"description\": \"A set of hostnames where the application will be available.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"domain\": {\n                                \"description\": \"The hostname for the domain\",\n                                \"example\": \"app.example.com\",\n                                \"maxLength\": 253,\n                                \"minLength\": 4,\n                                \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                \"type\": \"string\"\n                              },\n                              \"minimum_tls_version\": {\n                                \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                \"enum\": [\n                                  \"1.2\",\n                                  \"1.3\"\n                                ],\n                                \"example\": \"1.3\",\n                                \"maxLength\": 3,\n                                \"minLength\": 3,\n                                \"type\": \"string\"\n                              },\n                              \"type\": {\n                                \"default\": \"UNSPECIFIED\",\n                                \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                \"enum\": [\n                                  \"UNSPECIFIED\",\n                                  \"DEFAULT\",\n                                  \"PRIMARY\",\n                                  \"ALIAS\"\n                                ],\n                                \"example\": \"DEFAULT\",\n                                \"type\": \"string\"\n                              },\n                              \"wildcard\": {\n                                \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"zone\": {\n                                \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                \"example\": \"example.com\",\n                                \"format\": \"hostname\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"domain\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"functions\": {\n                          \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"alerts\": {\n                                \"items\": {\n                                  \"properties\": {\n                                    \"disabled\": {\n                                      \"description\": \"Is the alert disabled?\",\n                                      \"example\": false,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"operator\": {\n                                      \"default\": \"UNSPECIFIED_OPERATOR\",\n                                      \"enum\": [\n                                        \"UNSPECIFIED_OPERATOR\",\n                                        \"GREATER_THAN\",\n                                        \"LESS_THAN\"\n                                      ],\n                                      \"example\": \"GREATER_THAN\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"rule\": {\n                                      \"default\": \"UNSPECIFIED_RULE\",\n                                      \"enum\": [\n                                        \"UNSPECIFIED_RULE\",\n                                        \"CPU_UTILIZATION\",\n                                        \"MEM_UTILIZATION\",\n                                        \"RESTART_COUNT\",\n                                        \"DEPLOYMENT_FAILED\",\n                                        \"DEPLOYMENT_LIVE\",\n                                        \"DOMAIN_FAILED\",\n                                        \"DOMAIN_LIVE\",\n                                        \"FUNCTIONS_ACTIVATION_COUNT\",\n                                        \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                        \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                        \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                        \"FUNCTIONS_ERROR_COUNT\",\n                                        \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                      ],\n                                      \"example\": \"CPU_UTILIZATION\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"value\": {\n                                      \"description\": \"Threshold value for alert\",\n                                      \"example\": 2.32,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"window\": {\n                                      \"default\": \"UNSPECIFIED_WINDOW\",\n                                      \"enum\": [\n                                        \"UNSPECIFIED_WINDOW\",\n                                        \"FIVE_MINUTES\",\n                                        \"TEN_MINUTES\",\n                                        \"THIRTY_MINUTES\",\n                                        \"ONE_HOUR\"\n                                      ],\n                                      \"example\": \"FIVE_MINUTES\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"cors\": {\n                                \"properties\": {\n                                  \"allow_credentials\": {\n                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                    \"example\": false,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"allow_headers\": {\n                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                    \"example\": [\n                                      \"Content-Type\",\n                                      \"X-Custom-Header\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"allow_methods\": {\n                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                    \"example\": [\n                                      \"GET\",\n                                      \"OPTIONS\",\n                                      \"POST\",\n                                      \"PUT\",\n                                      \"PATCH\",\n                                      \"DELETE\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"allow_origins\": {\n                                    \"description\": \"The set of allowed CORS origins.\",\n                                    \"example\": [\n                                      {\n                                        \"exact\": \"https://www.example.com\"\n                                      },\n                                      {\n                                        \"regex\": \"^.*example.com\"\n                                      }\n                                    ],\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"exact\": {\n                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                          \"example\": \"https://www.example.com\",\n                                          \"maxLength\": 256,\n                                          \"minLength\": 1,\n                                          \"type\": \"string\"\n                                        },\n                                        \"prefix\": {\n                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                          \"example\": \"https://www.example.com\",\n                                          \"maxLength\": 256,\n                                          \"minLength\": 1,\n                                          \"type\": \"string\"\n                                        },\n                                        \"regex\": {\n                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                          \"example\": \"^.*example.com\",\n                                          \"maxLength\": 256,\n                                          \"minLength\": 1,\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"expose_headers\": {\n                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                    \"example\": [\n                                      \"Content-Encoding\",\n                                      \"X-Custom-Header\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"max_age\": {\n                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                    \"example\": \"5h30m\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"envs\": {\n                                \"description\": \"A list of environment variables made available to the component.\",\n                                \"items\": {\n                                  \"properties\": {\n                                    \"key\": {\n                                      \"description\": \"The variable name\",\n                                      \"example\": \"BASE_URL\",\n                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"scope\": {\n                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                      \"enum\": [\n                                        \"UNSET\",\n                                        \"RUN_TIME\",\n                                        \"BUILD_TIME\",\n                                        \"RUN_AND_BUILD_TIME\"\n                                      ],\n                                      \"example\": \"BUILD_TIME\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": {\n                                      \"default\": \"GENERAL\",\n                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                      \"enum\": [\n                                        \"GENERAL\",\n                                        \"SECRET\"\n                                      ],\n                                      \"example\": \"GENERAL\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"value\": {\n                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                      \"example\": \"http://example.com\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"key\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"git\": {\n                                \"properties\": {\n                                  \"branch\": {\n                                    \"description\": \"The name of the branch to use\",\n                                    \"example\": \"main\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"repo_clone_url\": {\n                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"github\": {\n                                \"properties\": {\n                                  \"branch\": {\n                                    \"description\": \"The name of the branch to use\",\n                                    \"example\": \"main\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"deploy_on_push\": {\n                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"repo\": {\n                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                    \"example\": \"digitalocean/sample-golang\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"gitlab\": {\n                                \"properties\": {\n                                  \"branch\": {\n                                    \"description\": \"The name of the branch to use\",\n                                    \"example\": \"main\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"deploy_on_push\": {\n                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"repo\": {\n                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                    \"example\": \"digitalocean/sample-golang\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"log_destinations\": {\n                                \"properties\": {\n                                  \"datadog\": {\n                                    \"description\": \"DataDog configuration.\",\n                                    \"properties\": {\n                                      \"api_key\": {\n                                        \"description\": \"Datadog API key.\",\n                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"endpoint\": {\n                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                        \"example\": \"https://mydatadogendpoint.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"api_key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"logtail\": {\n                                    \"description\": \"Logtail configuration.\",\n                                    \"properties\": {\n                                      \"token\": {\n                                        \"description\": \"Logtail token.\",\n                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"endpoint\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"example\": \"my_log_destination\",\n                                    \"maxLength\": 42,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"papertrail\": {\n                                    \"description\": \"Papertrail configuration.\",\n                                    \"properties\": {\n                                      \"endpoint\": {\n                                        \"description\": \"Papertrail syslog endpoint.\",\n                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"endpoint\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"title\": \"Configurations for external logging.\",\n                                \"type\": \"object\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                \"example\": \"api\",\n                                \"maxLength\": 32,\n                                \"minLength\": 2,\n                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                \"type\": \"string\"\n                              },\n                              \"routes\": {\n                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                \"items\": {\n                                  \"properties\": {\n                                    \"path\": {\n                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                      \"example\": \"/api\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"preserve_path_prefix\": {\n                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    }\n                                  },\n                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                  \"type\": \"object\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"source_dir\": {\n                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                \"example\": \"path/to/dir\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"name\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"jobs\": {\n                          \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"build_command\": {\n                                    \"description\": \"An optional build command to run while building this component from source.\",\n                                    \"example\": \"npm run build\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"dockerfile_path\": {\n                                    \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                    \"example\": \"path/to/Dockerfile\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"environment_slug\": {\n                                    \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                    \"example\": \"node-js\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"envs\": {\n                                    \"description\": \"A list of environment variables made available to the component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"key\": {\n                                          \"description\": \"The variable name\",\n                                          \"example\": \"BASE_URL\",\n                                          \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"scope\": {\n                                          \"default\": \"RUN_AND_BUILD_TIME\",\n                                          \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"RUN_TIME\",\n                                            \"BUILD_TIME\",\n                                            \"RUN_AND_BUILD_TIME\"\n                                          ],\n                                          \"example\": \"BUILD_TIME\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"GENERAL\",\n                                          \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                          \"enum\": [\n                                            \"GENERAL\",\n                                            \"SECRET\"\n                                          ],\n                                          \"example\": \"GENERAL\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                          \"example\": \"http://example.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"git\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repo_clone_url\": {\n                                        \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                        \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"github\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"gitlab\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"image\": {\n                                    \"properties\": {\n                                      \"registry\": {\n                                        \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                        \"example\": \"registry.hub.docker.com\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"registry_type\": {\n                                        \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                        \"enum\": [\n                                          \"DOCKER_HUB\",\n                                          \"DOCR\"\n                                        ],\n                                        \"example\": \"DOCR\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repository\": {\n                                        \"description\": \"The repository name.\",\n                                        \"example\": \"origin/master\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"tag\": {\n                                        \"default\": \"latest\",\n                                        \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                        \"example\": \"latest\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"log_destinations\": {\n                                    \"properties\": {\n                                      \"datadog\": {\n                                        \"description\": \"DataDog configuration.\",\n                                        \"properties\": {\n                                          \"api_key\": {\n                                            \"description\": \"Datadog API key.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"endpoint\": {\n                                            \"description\": \"Datadog HTTP log intake endpoint.\",\n                                            \"example\": \"https://mydatadogendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"api_key\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"logtail\": {\n                                        \"description\": \"Logtail configuration.\",\n                                        \"properties\": {\n                                          \"token\": {\n                                            \"description\": \"Logtail token.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"my_log_destination\",\n                                        \"maxLength\": 42,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"papertrail\": {\n                                        \"description\": \"Papertrail configuration.\",\n                                        \"properties\": {\n                                          \"endpoint\": {\n                                            \"description\": \"Papertrail syslog endpoint.\",\n                                            \"example\": \"https://mypapertrailendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"Configurations for external logging.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"api\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"run_command\": {\n                                    \"description\": \"An optional run command to override the component's default.\",\n                                    \"example\": \"bin/api\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_dir\": {\n                                    \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                    \"example\": \"path/to/dir\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"instance_count\": {\n                                    \"default\": 1,\n                                    \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                    \"example\": 2,\n                                    \"format\": \"int64\",\n                                    \"minimum\": 1,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"instance_size_slug\": {\n                                    \"default\": \"basic-xxs\",\n                                    \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                    \"enum\": [\n                                      \"basic-xxs\",\n                                      \"basic-xs\",\n                                      \"basic-s\",\n                                      \"basic-m\",\n                                      \"professional-xs\",\n                                      \"professional-s\",\n                                      \"professional-m\",\n                                      \"professional-1l\",\n                                      \"professional-l\",\n                                      \"professional-xl\"\n                                    ],\n                                    \"example\": \"basic-xxs\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"kind\": {\n                                    \"default\": \"UNSPECIFIED\",\n                                    \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED\",\n                                      \"PRE_DEPLOY\",\n                                      \"POST_DEPLOY\",\n                                      \"FAILED_DEPLOY\"\n                                    ],\n                                    \"example\": \"PRE_DEPLOY\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              }\n                            ]\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"name\": {\n                          \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                          \"example\": \"web-app-01\",\n                          \"maxLength\": 32,\n                          \"minLength\": 2,\n                          \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                          \"enum\": [\n                            \"ams\",\n                            \"nyc\",\n                            \"fra\",\n                            \"sfo\",\n                            \"sgp\",\n                            \"blr\",\n                            \"tor\",\n                            \"lon\",\n                            \"syd\"\n                          ],\n                          \"example\": \"nyc\",\n                          \"type\": \"string\"\n                        },\n                        \"services\": {\n                          \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"build_command\": {\n                                    \"description\": \"An optional build command to run while building this component from source.\",\n                                    \"example\": \"npm run build\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"dockerfile_path\": {\n                                    \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                    \"example\": \"path/to/Dockerfile\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"environment_slug\": {\n                                    \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                    \"example\": \"node-js\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"envs\": {\n                                    \"description\": \"A list of environment variables made available to the component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"key\": {\n                                          \"description\": \"The variable name\",\n                                          \"example\": \"BASE_URL\",\n                                          \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"scope\": {\n                                          \"default\": \"RUN_AND_BUILD_TIME\",\n                                          \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"RUN_TIME\",\n                                            \"BUILD_TIME\",\n                                            \"RUN_AND_BUILD_TIME\"\n                                          ],\n                                          \"example\": \"BUILD_TIME\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"GENERAL\",\n                                          \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                          \"enum\": [\n                                            \"GENERAL\",\n                                            \"SECRET\"\n                                          ],\n                                          \"example\": \"GENERAL\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                          \"example\": \"http://example.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"git\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repo_clone_url\": {\n                                        \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                        \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"github\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"gitlab\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"image\": {\n                                    \"properties\": {\n                                      \"registry\": {\n                                        \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                        \"example\": \"registry.hub.docker.com\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"registry_type\": {\n                                        \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                        \"enum\": [\n                                          \"DOCKER_HUB\",\n                                          \"DOCR\"\n                                        ],\n                                        \"example\": \"DOCR\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repository\": {\n                                        \"description\": \"The repository name.\",\n                                        \"example\": \"origin/master\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"tag\": {\n                                        \"default\": \"latest\",\n                                        \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                        \"example\": \"latest\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"log_destinations\": {\n                                    \"properties\": {\n                                      \"datadog\": {\n                                        \"description\": \"DataDog configuration.\",\n                                        \"properties\": {\n                                          \"api_key\": {\n                                            \"description\": \"Datadog API key.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"endpoint\": {\n                                            \"description\": \"Datadog HTTP log intake endpoint.\",\n                                            \"example\": \"https://mydatadogendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"api_key\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"logtail\": {\n                                        \"description\": \"Logtail configuration.\",\n                                        \"properties\": {\n                                          \"token\": {\n                                            \"description\": \"Logtail token.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"my_log_destination\",\n                                        \"maxLength\": 42,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"papertrail\": {\n                                        \"description\": \"Papertrail configuration.\",\n                                        \"properties\": {\n                                          \"endpoint\": {\n                                            \"description\": \"Papertrail syslog endpoint.\",\n                                            \"example\": \"https://mypapertrailendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"Configurations for external logging.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"api\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"run_command\": {\n                                    \"description\": \"An optional run command to override the component's default.\",\n                                    \"example\": \"bin/api\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_dir\": {\n                                    \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                    \"example\": \"path/to/dir\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"instance_count\": {\n                                    \"default\": 1,\n                                    \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                    \"example\": 2,\n                                    \"format\": \"int64\",\n                                    \"minimum\": 1,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"instance_size_slug\": {\n                                    \"default\": \"basic-xxs\",\n                                    \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                    \"enum\": [\n                                      \"basic-xxs\",\n                                      \"basic-xs\",\n                                      \"basic-s\",\n                                      \"basic-m\",\n                                      \"professional-xs\",\n                                      \"professional-s\",\n                                      \"professional-m\",\n                                      \"professional-1l\",\n                                      \"professional-l\",\n                                      \"professional-xl\"\n                                    ],\n                                    \"example\": \"basic-xxs\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"cors\": {\n                                    \"properties\": {\n                                      \"allow_credentials\": {\n                                        \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                        \"example\": false,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"allow_headers\": {\n                                        \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Type\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_methods\": {\n                                        \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                        \"example\": [\n                                          \"GET\",\n                                          \"OPTIONS\",\n                                          \"POST\",\n                                          \"PUT\",\n                                          \"PATCH\",\n                                          \"DELETE\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_origins\": {\n                                        \"description\": \"The set of allowed CORS origins.\",\n                                        \"example\": [\n                                          {\n                                            \"exact\": \"https://www.example.com\"\n                                          },\n                                          {\n                                            \"regex\": \"^.*example.com\"\n                                          }\n                                        ],\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"exact\": {\n                                              \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"prefix\": {\n                                              \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"regex\": {\n                                              \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                              \"example\": \"^.*example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"expose_headers\": {\n                                        \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Encoding\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"max_age\": {\n                                        \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                        \"example\": \"5h30m\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"health_check\": {\n                                    \"properties\": {\n                                      \"failure_threshold\": {\n                                        \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                        \"example\": 2,\n                                        \"format\": \"int32\",\n                                        \"type\": \"integer\"\n                                      },\n                                      \"http_path\": {\n                                        \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                        \"example\": \"/health\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"initial_delay_seconds\": {\n                                        \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                        \"example\": 30,\n                                        \"format\": \"int32\",\n                                        \"type\": \"integer\"\n                                      },\n                                      \"period_seconds\": {\n                                        \"description\": \"The number of seconds to wait between health checks.\",\n                                        \"example\": 60,\n                                        \"format\": \"int32\",\n                                        \"type\": \"integer\"\n                                      },\n                                      \"port\": {\n                                        \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                        \"example\": 80,\n                                        \"format\": \"int64\",\n                                        \"maximum\": 65535,\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"success_threshold\": {\n                                        \"description\": \"The number of successful health checks before considered healthy.\",\n                                        \"example\": 3,\n                                        \"format\": \"int32\",\n                                        \"type\": \"integer\"\n                                      },\n                                      \"timeout_seconds\": {\n                                        \"description\": \"The number of seconds after which the check times out.\",\n                                        \"example\": 45,\n                                        \"format\": \"int32\",\n                                        \"type\": \"integer\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"http_port\": {\n                                    \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                    \"example\": 3000,\n                                    \"format\": \"int64\",\n                                    \"maximum\": 65535,\n                                    \"minimum\": 1,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"internal_ports\": {\n                                    \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                    \"example\": [\n                                      80,\n                                      443\n                                    ],\n                                    \"items\": {\n                                      \"format\": \"int64\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"routes\": {\n                                    \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"path\": {\n                                          \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                          \"example\": \"/api\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"preserve_path_prefix\": {\n                                          \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        }\n                                      },\n                                      \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              }\n                            ]\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"static_sites\": {\n                          \"description\": \"Content which can be rendered to static web assets.\",\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"build_command\": {\n                                    \"description\": \"An optional build command to run while building this component from source.\",\n                                    \"example\": \"npm run build\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"dockerfile_path\": {\n                                    \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                    \"example\": \"path/to/Dockerfile\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"environment_slug\": {\n                                    \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                    \"example\": \"node-js\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"envs\": {\n                                    \"description\": \"A list of environment variables made available to the component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"key\": {\n                                          \"description\": \"The variable name\",\n                                          \"example\": \"BASE_URL\",\n                                          \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"scope\": {\n                                          \"default\": \"RUN_AND_BUILD_TIME\",\n                                          \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"RUN_TIME\",\n                                            \"BUILD_TIME\",\n                                            \"RUN_AND_BUILD_TIME\"\n                                          ],\n                                          \"example\": \"BUILD_TIME\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"GENERAL\",\n                                          \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                          \"enum\": [\n                                            \"GENERAL\",\n                                            \"SECRET\"\n                                          ],\n                                          \"example\": \"GENERAL\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                          \"example\": \"http://example.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"git\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repo_clone_url\": {\n                                        \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                        \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"github\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"gitlab\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"image\": {\n                                    \"properties\": {\n                                      \"registry\": {\n                                        \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                        \"example\": \"registry.hub.docker.com\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"registry_type\": {\n                                        \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                        \"enum\": [\n                                          \"DOCKER_HUB\",\n                                          \"DOCR\"\n                                        ],\n                                        \"example\": \"DOCR\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repository\": {\n                                        \"description\": \"The repository name.\",\n                                        \"example\": \"origin/master\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"tag\": {\n                                        \"default\": \"latest\",\n                                        \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                        \"example\": \"latest\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"log_destinations\": {\n                                    \"properties\": {\n                                      \"datadog\": {\n                                        \"description\": \"DataDog configuration.\",\n                                        \"properties\": {\n                                          \"api_key\": {\n                                            \"description\": \"Datadog API key.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"endpoint\": {\n                                            \"description\": \"Datadog HTTP log intake endpoint.\",\n                                            \"example\": \"https://mydatadogendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"api_key\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"logtail\": {\n                                        \"description\": \"Logtail configuration.\",\n                                        \"properties\": {\n                                          \"token\": {\n                                            \"description\": \"Logtail token.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"my_log_destination\",\n                                        \"maxLength\": 42,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"papertrail\": {\n                                        \"description\": \"Papertrail configuration.\",\n                                        \"properties\": {\n                                          \"endpoint\": {\n                                            \"description\": \"Papertrail syslog endpoint.\",\n                                            \"example\": \"https://mypapertrailendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"Configurations for external logging.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"api\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"run_command\": {\n                                    \"description\": \"An optional run command to override the component's default.\",\n                                    \"example\": \"bin/api\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_dir\": {\n                                    \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                    \"example\": \"path/to/dir\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"catchall_document\": {\n                                    \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                    \"example\": \"index.html\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"cors\": {\n                                    \"properties\": {\n                                      \"allow_credentials\": {\n                                        \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                        \"example\": false,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"allow_headers\": {\n                                        \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Type\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_methods\": {\n                                        \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                        \"example\": [\n                                          \"GET\",\n                                          \"OPTIONS\",\n                                          \"POST\",\n                                          \"PUT\",\n                                          \"PATCH\",\n                                          \"DELETE\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_origins\": {\n                                        \"description\": \"The set of allowed CORS origins.\",\n                                        \"example\": [\n                                          {\n                                            \"exact\": \"https://www.example.com\"\n                                          },\n                                          {\n                                            \"regex\": \"^.*example.com\"\n                                          }\n                                        ],\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"exact\": {\n                                              \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"prefix\": {\n                                              \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"regex\": {\n                                              \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                              \"example\": \"^.*example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"expose_headers\": {\n                                        \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Encoding\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"max_age\": {\n                                        \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                        \"example\": \"5h30m\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"error_document\": {\n                                    \"default\": \"404.html\",\n                                    \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                    \"example\": \"error.html\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"index_document\": {\n                                    \"default\": \"index.html\",\n                                    \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                    \"example\": \"main.html\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"output_dir\": {\n                                    \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                    \"example\": \"dist/\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"routes\": {\n                                    \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"path\": {\n                                          \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                          \"example\": \"/api\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"preserve_path_prefix\": {\n                                          \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        }\n                                      },\n                                      \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ],\n                            \"required\": [\n                              \"name\"\n                            ]\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"workers\": {\n                          \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"build_command\": {\n                                    \"description\": \"An optional build command to run while building this component from source.\",\n                                    \"example\": \"npm run build\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"dockerfile_path\": {\n                                    \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                    \"example\": \"path/to/Dockerfile\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"environment_slug\": {\n                                    \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                    \"example\": \"node-js\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"envs\": {\n                                    \"description\": \"A list of environment variables made available to the component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"key\": {\n                                          \"description\": \"The variable name\",\n                                          \"example\": \"BASE_URL\",\n                                          \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"scope\": {\n                                          \"default\": \"RUN_AND_BUILD_TIME\",\n                                          \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"RUN_TIME\",\n                                            \"BUILD_TIME\",\n                                            \"RUN_AND_BUILD_TIME\"\n                                          ],\n                                          \"example\": \"BUILD_TIME\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"GENERAL\",\n                                          \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                          \"enum\": [\n                                            \"GENERAL\",\n                                            \"SECRET\"\n                                          ],\n                                          \"example\": \"GENERAL\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                          \"example\": \"http://example.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"git\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repo_clone_url\": {\n                                        \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                        \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"github\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"gitlab\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"image\": {\n                                    \"properties\": {\n                                      \"registry\": {\n                                        \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                        \"example\": \"registry.hub.docker.com\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"registry_type\": {\n                                        \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                        \"enum\": [\n                                          \"DOCKER_HUB\",\n                                          \"DOCR\"\n                                        ],\n                                        \"example\": \"DOCR\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repository\": {\n                                        \"description\": \"The repository name.\",\n                                        \"example\": \"origin/master\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"tag\": {\n                                        \"default\": \"latest\",\n                                        \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                        \"example\": \"latest\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"log_destinations\": {\n                                    \"properties\": {\n                                      \"datadog\": {\n                                        \"description\": \"DataDog configuration.\",\n                                        \"properties\": {\n                                          \"api_key\": {\n                                            \"description\": \"Datadog API key.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"endpoint\": {\n                                            \"description\": \"Datadog HTTP log intake endpoint.\",\n                                            \"example\": \"https://mydatadogendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"api_key\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"logtail\": {\n                                        \"description\": \"Logtail configuration.\",\n                                        \"properties\": {\n                                          \"token\": {\n                                            \"description\": \"Logtail token.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"my_log_destination\",\n                                        \"maxLength\": 42,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"papertrail\": {\n                                        \"description\": \"Papertrail configuration.\",\n                                        \"properties\": {\n                                          \"endpoint\": {\n                                            \"description\": \"Papertrail syslog endpoint.\",\n                                            \"example\": \"https://mypapertrailendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"Configurations for external logging.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"api\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"run_command\": {\n                                    \"description\": \"An optional run command to override the component's default.\",\n                                    \"example\": \"bin/api\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_dir\": {\n                                    \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                    \"example\": \"path/to/dir\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"instance_count\": {\n                                    \"default\": 1,\n                                    \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                    \"example\": 2,\n                                    \"format\": \"int64\",\n                                    \"minimum\": 1,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"instance_size_slug\": {\n                                    \"default\": \"basic-xxs\",\n                                    \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                    \"enum\": [\n                                      \"basic-xxs\",\n                                      \"basic-xs\",\n                                      \"basic-s\",\n                                      \"basic-m\",\n                                      \"professional-xs\",\n                                      \"professional-s\",\n                                      \"professional-m\",\n                                      \"professional-1l\",\n                                      \"professional-l\",\n                                      \"professional-xl\"\n                                    ],\n                                    \"example\": \"basic-xxs\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ],\n                            \"required\": [\n                              \"name\"\n                            ]\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\"\n                      ],\n                      \"title\": \"AppSpec\",\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Propose an App Spec\",\n        \"tags\": [\n          \"Apps\"\n        ]\n      }\n    },\n    \"/v2/apps/regions\": {\n      \"get\": {\n        \"description\": \"List all regions supported by App Platform.\",\n        \"operationId\": \"apps_list_regions\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"regions\": {\n                    \"value\": {\n                      \"regions\": [\n                        {\n                          \"continent\": \"Europe\",\n                          \"data_centers\": [\n                            \"ams3\"\n                          ],\n                          \"flag\": \"netherlands\",\n                          \"label\": \"Amsterdam\",\n                          \"slug\": \"ams\"\n                        },\n                        {\n                          \"continent\": \"North America\",\n                          \"data_centers\": [\n                            \"nyc1\",\n                            \"nyc3\"\n                          ],\n                          \"default\": true,\n                          \"flag\": \"usa\",\n                          \"label\": \"New York\",\n                          \"slug\": \"nyc\"\n                        },\n                        {\n                          \"continent\": \"Europe\",\n                          \"data_centers\": [\n                            \"fra1\"\n                          ],\n                          \"flag\": \"germany\",\n                          \"label\": \"Frankfurt\",\n                          \"slug\": \"fra\"\n                        },\n                        {\n                          \"continent\": \"North America\",\n                          \"data_centers\": [\n                            \"sfo3\"\n                          ],\n                          \"flag\": \"usa\",\n                          \"label\": \"San Francisco\",\n                          \"slug\": \"sfo\"\n                        },\n                        {\n                          \"continent\": \"Asia\",\n                          \"data_centers\": [\n                            \"sgp1\"\n                          ],\n                          \"flag\": \"singapore\",\n                          \"label\": \"Singapore\",\n                          \"slug\": \"sgp\"\n                        },\n                        {\n                          \"continent\": \"Asia\",\n                          \"data_centers\": [\n                            \"blr1\"\n                          ],\n                          \"flag\": \"india\",\n                          \"label\": \"Bangalore\",\n                          \"slug\": \"blr\"\n                        },\n                        {\n                          \"continent\": \"North America\",\n                          \"data_centers\": [\n                            \"tor1\"\n                          ],\n                          \"flag\": \"canada\",\n                          \"label\": \"Toronto\",\n                          \"slug\": \"tor\"\n                        },\n                        {\n                          \"continent\": \"Europe\",\n                          \"data_centers\": [\n                            \"lon1\"\n                          ],\n                          \"flag\": \"uk\",\n                          \"label\": \"London\",\n                          \"slug\": \"lon\"\n                        }\n                      ]\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"regions\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"continent\": {\n                            \"example\": \"europe\",\n                            \"readOnly\": true,\n                            \"title\": \"The continent that this region is in\",\n                            \"type\": \"string\"\n                          },\n                          \"data_centers\": {\n                            \"example\": [\n                              \"ams\"\n                            ],\n                            \"items\": {\n                              \"example\": \"ams\",\n                              \"type\": \"string\"\n                            },\n                            \"readOnly\": true,\n                            \"title\": \"Data centers that are in this region\",\n                            \"type\": \"array\"\n                          },\n                          \"default\": {\n                            \"description\": \"Whether or not the region is presented as the default.\",\n                            \"example\": true,\n                            \"readOnly\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"disabled\": {\n                            \"example\": true,\n                            \"readOnly\": true,\n                            \"title\": \"Whether or not the region is open for new apps\",\n                            \"type\": \"boolean\"\n                          },\n                          \"flag\": {\n                            \"example\": \"ams\",\n                            \"readOnly\": true,\n                            \"title\": \"The flag of this region\",\n                            \"type\": \"string\"\n                          },\n                          \"label\": {\n                            \"example\": \"ams\",\n                            \"readOnly\": true,\n                            \"title\": \"A human-readable name of the region\",\n                            \"type\": \"string\"\n                          },\n                          \"reason\": {\n                            \"example\": \"to crowded\",\n                            \"readOnly\": true,\n                            \"title\": \"Reason that this region is not available\",\n                            \"type\": \"string\"\n                          },\n                          \"slug\": {\n                            \"example\": \"basic\",\n                            \"readOnly\": true,\n                            \"title\": \"The slug form of the region name\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"title\": \"Geographical information about an app origin\",\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with key `regions`\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List App Regions\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/regions\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/tiers\": {\n      \"get\": {\n        \"description\": \"List all app tiers.\",\n        \"operationId\": \"apps_list_tiers\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"tiers\": {\n                    \"value\": {\n                      \"tiers\": [\n                        {\n                          \"build_seconds\": \"6000\",\n                          \"egress_bandwidth_bytes\": \"1073741824\",\n                          \"name\": \"Starter\",\n                          \"slug\": \"starter\"\n                        },\n                        {\n                          \"build_seconds\": \"24000\",\n                          \"egress_bandwidth_bytes\": \"42949672960\",\n                          \"name\": \"Basic\",\n                          \"slug\": \"basic\"\n                        },\n                        {\n                          \"build_seconds\": \"60000\",\n                          \"egress_bandwidth_bytes\": \"107374182400\",\n                          \"name\": \"Professional\",\n                          \"slug\": \"professional\"\n                        }\n                      ]\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"tiers\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"build_seconds\": {\n                            \"example\": \"233\",\n                            \"format\": \"int64\",\n                            \"title\": \"The amount of included build time in seconds\",\n                            \"type\": \"string\"\n                          },\n                          \"egress_bandwidth_bytes\": {\n                            \"example\": \"123\",\n                            \"format\": \"int64\",\n                            \"title\": \"The amount of included outbound bandwidth in bytes\",\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"example\": \"test\",\n                            \"title\": \"A human-readable name of the tier\",\n                            \"type\": \"string\"\n                          },\n                          \"slug\": {\n                            \"example\": \"test\",\n                            \"title\": \"The slug of the tier\",\n                            \"type\": \"string\"\n                          },\n                          \"storage_bytes\": {\n                            \"example\": \"10000000\",\n                            \"format\": \"int64\",\n                            \"title\": \"The allotted disk space in bytes\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a `tiers` key. This will be a list of all app tiers\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List App Tiers\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/tiers\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/tiers/instance_sizes\": {\n      \"get\": {\n        \"description\": \"List all instance sizes for `service`, `worker`, and `job` components.\",\n        \"operationId\": \"apps_list_instanceSizes\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"instance_sizes\": {\n                    \"value\": {\n                      \"instance_sizes\": [\n                        {\n                          \"cpu_type\": \"SHARED\",\n                          \"cpus\": \"1\",\n                          \"memory_bytes\": \"536870912\",\n                          \"name\": \"Basic XXS\",\n                          \"slug\": \"basic-xxs\",\n                          \"tier_slug\": \"basic\",\n                          \"tier_upgrade_to\": \"professional-xs\",\n                          \"usd_per_month\": \"5.00\",\n                          \"usd_per_second\": \"0.000002066799\"\n                        },\n                        {\n                          \"cpu_type\": \"SHARED\",\n                          \"cpus\": \"1\",\n                          \"memory_bytes\": \"1073741824\",\n                          \"name\": \"Basic XS\",\n                          \"slug\": \"basic-xs\",\n                          \"tier_slug\": \"basic\",\n                          \"tier_upgrade_to\": \"professional-xs\",\n                          \"usd_per_month\": \"10.00\",\n                          \"usd_per_second\": \"0.000004133598\"\n                        },\n                        {\n                          \"cpu_type\": \"SHARED\",\n                          \"cpus\": \"1\",\n                          \"memory_bytes\": \"2147483648\",\n                          \"name\": \"Basic S\",\n                          \"slug\": \"basic-s\",\n                          \"tier_slug\": \"basic\",\n                          \"tier_upgrade_to\": \"professional-s\",\n                          \"usd_per_month\": \"20.00\",\n                          \"usd_per_second\": \"0.000008267196\"\n                        },\n                        {\n                          \"cpu_type\": \"SHARED\",\n                          \"cpus\": \"2\",\n                          \"memory_bytes\": \"4294967296\",\n                          \"name\": \"Basic M\",\n                          \"slug\": \"basic-m\",\n                          \"tier_slug\": \"basic\",\n                          \"tier_upgrade_to\": \"professional-m\",\n                          \"usd_per_month\": \"40.00\",\n                          \"usd_per_second\": \"0.000016534392\"\n                        },\n                        {\n                          \"cpu_type\": \"SHARED\",\n                          \"cpus\": \"1\",\n                          \"memory_bytes\": \"1073741824\",\n                          \"name\": \"Professional XS\",\n                          \"slug\": \"professional-xs\",\n                          \"tier_downgrade_to\": \"basic-xs\",\n                          \"tier_slug\": \"professional\",\n                          \"usd_per_month\": \"12.00\",\n                          \"usd_per_second\": \"0.000004960317\"\n                        },\n                        {\n                          \"cpu_type\": \"SHARED\",\n                          \"cpus\": \"1\",\n                          \"memory_bytes\": \"2147483648\",\n                          \"name\": \"Professional S\",\n                          \"slug\": \"professional-s\",\n                          \"tier_downgrade_to\": \"basic-s\",\n                          \"tier_slug\": \"professional\",\n                          \"usd_per_month\": \"25.00\",\n                          \"usd_per_second\": \"0.000010333995\"\n                        },\n                        {\n                          \"cpu_type\": \"SHARED\",\n                          \"cpus\": \"2\",\n                          \"memory_bytes\": \"4294967296\",\n                          \"name\": \"Professional M\",\n                          \"slug\": \"professional-m\",\n                          \"tier_downgrade_to\": \"basic-s\",\n                          \"tier_slug\": \"professional\",\n                          \"usd_per_month\": \"50.00\",\n                          \"usd_per_second\": \"0.000020667989\"\n                        },\n                        {\n                          \"cpu_type\": \"DEDICATED\",\n                          \"cpus\": \"1\",\n                          \"memory_bytes\": \"4294967296\",\n                          \"name\": \"Professional 1L\",\n                          \"slug\": \"professional-1l\",\n                          \"tier_downgrade_to\": \"basic-m\",\n                          \"tier_slug\": \"professional\",\n                          \"usd_per_month\": \"75.00\",\n                          \"usd_per_second\": \"0.000031001984\"\n                        },\n                        {\n                          \"cpu_type\": \"DEDICATED\",\n                          \"cpus\": \"2\",\n                          \"memory_bytes\": \"8589934592\",\n                          \"name\": \"Professional L\",\n                          \"slug\": \"professional-l\",\n                          \"tier_downgrade_to\": \"basic-s\",\n                          \"tier_slug\": \"professional\",\n                          \"usd_per_month\": \"150.00\",\n                          \"usd_per_second\": \"0.000062003968\"\n                        },\n                        {\n                          \"cpu_type\": \"DEDICATED\",\n                          \"cpus\": \"4\",\n                          \"memory_bytes\": \"17179869184\",\n                          \"name\": \"Professional XL\",\n                          \"slug\": \"professional-xl\",\n                          \"tier_downgrade_to\": \"basic-s\",\n                          \"tier_slug\": \"professional\",\n                          \"usd_per_month\": \"300.00\",\n                          \"usd_per_second\": \"0.000124007937\"\n                        }\n                      ]\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"discount_percent\": {\n                      \"example\": 2.32,\n                      \"format\": \"float\",\n                      \"type\": \"number\"\n                    },\n                    \"instance_sizes\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"cpu_type\": {\n                            \"default\": \"UNSPECIFIED\",\n                            \"enum\": [\n                              \"UNSPECIFIED\",\n                              \"SHARED\",\n                              \"DEDICATED\"\n                            ],\n                            \"example\": \"SHARED\",\n                            \"title\": \"- SHARED: Shared vCPU cores\\n - DEDICATED: Dedicated vCPU cores\",\n                            \"type\": \"string\"\n                          },\n                          \"cpus\": {\n                            \"example\": \"3\",\n                            \"format\": \"int64\",\n                            \"title\": \"The number of allotted vCPU cores\",\n                            \"type\": \"string\"\n                          },\n                          \"memory_bytes\": {\n                            \"example\": \"1048\",\n                            \"format\": \"int64\",\n                            \"title\": \"The allotted memory in bytes\",\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"example\": \"name\",\n                            \"title\": \"A human-readable name of the instance size\",\n                            \"type\": \"string\"\n                          },\n                          \"slug\": {\n                            \"example\": \"basic\",\n                            \"title\": \"The slug of the instance size\",\n                            \"type\": \"string\"\n                          },\n                          \"tier_downgrade_to\": {\n                            \"example\": \"basic\",\n                            \"title\": \"The slug of the corresponding downgradable instance size on the lower tier\",\n                            \"type\": \"string\"\n                          },\n                          \"tier_slug\": {\n                            \"example\": \"basic\",\n                            \"title\": \"The slug of the tier to which this instance size belongs\",\n                            \"type\": \"string\"\n                          },\n                          \"tier_upgrade_to\": {\n                            \"example\": \"basic\",\n                            \"title\": \"The slug of the corresponding upgradable instance size on the higher tier\",\n                            \"type\": \"string\"\n                          },\n                          \"usd_per_month\": {\n                            \"example\": \"23\",\n                            \"title\": \"The cost of this instance size in USD per month\",\n                            \"type\": \"string\"\n                          },\n                          \"usd_per_second\": {\n                            \"example\": \"0.00000001232\",\n                            \"title\": \"The cost of this instance size in USD per second\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON with key `instance_sizes`\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Instance Sizes\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/tiers/instance_sizes\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/tiers/instance_sizes/{slug}\": {\n      \"get\": {\n        \"description\": \"Retrieve information about a specific instance size for `service`, `worker`, and `job` components.\",\n        \"operationId\": \"apps_get_instanceSize\",\n        \"parameters\": [\n          {\n            \"description\": \"The slug of the instance size\",\n            \"example\": \"basic-xxs\",\n            \"in\": \"path\",\n            \"name\": \"slug\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"instance_size\": {\n                    \"value\": {\n                      \"instance_size\": {\n                        \"cpu_type\": \"SHARED\",\n                        \"cpus\": \"1\",\n                        \"memory_bytes\": \"536870912\",\n                        \"name\": \"Basic XXS\",\n                        \"slug\": \"basic-xxs\",\n                        \"tier_slug\": \"basic\",\n                        \"tier_upgrade_to\": \"professional-xs\",\n                        \"usd_per_month\": \"5.00\",\n                        \"usd_per_second\": \"0.000002066799\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"instance_size\": {\n                      \"properties\": {\n                        \"cpu_type\": {\n                          \"default\": \"UNSPECIFIED\",\n                          \"enum\": [\n                            \"UNSPECIFIED\",\n                            \"SHARED\",\n                            \"DEDICATED\"\n                          ],\n                          \"example\": \"SHARED\",\n                          \"title\": \"- SHARED: Shared vCPU cores\\n - DEDICATED: Dedicated vCPU cores\",\n                          \"type\": \"string\"\n                        },\n                        \"cpus\": {\n                          \"example\": \"3\",\n                          \"format\": \"int64\",\n                          \"title\": \"The number of allotted vCPU cores\",\n                          \"type\": \"string\"\n                        },\n                        \"memory_bytes\": {\n                          \"example\": \"1048\",\n                          \"format\": \"int64\",\n                          \"title\": \"The allotted memory in bytes\",\n                          \"type\": \"string\"\n                        },\n                        \"name\": {\n                          \"example\": \"name\",\n                          \"title\": \"A human-readable name of the instance size\",\n                          \"type\": \"string\"\n                        },\n                        \"slug\": {\n                          \"example\": \"basic\",\n                          \"title\": \"The slug of the instance size\",\n                          \"type\": \"string\"\n                        },\n                        \"tier_downgrade_to\": {\n                          \"example\": \"basic\",\n                          \"title\": \"The slug of the corresponding downgradable instance size on the lower tier\",\n                          \"type\": \"string\"\n                        },\n                        \"tier_slug\": {\n                          \"example\": \"basic\",\n                          \"title\": \"The slug of the tier to which this instance size belongs\",\n                          \"type\": \"string\"\n                        },\n                        \"tier_upgrade_to\": {\n                          \"example\": \"basic\",\n                          \"title\": \"The slug of the corresponding upgradable instance size on the higher tier\",\n                          \"type\": \"string\"\n                        },\n                        \"usd_per_month\": {\n                          \"example\": \"23\",\n                          \"title\": \"The cost of this instance size in USD per month\",\n                          \"type\": \"string\"\n                        },\n                        \"usd_per_second\": {\n                          \"example\": \"0.00000001232\",\n                          \"title\": \"The cost of this instance size in USD per second\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON with key `instance_size`\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Instance Size\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/tiers/instance_sizes/{slug}\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/tiers/{slug}\": {\n      \"get\": {\n        \"description\": \"Retrieve information about a specific app tier.\",\n        \"operationId\": \"apps_get_tier\",\n        \"parameters\": [\n          {\n            \"description\": \"The slug of the tier\",\n            \"example\": \"basic\",\n            \"in\": \"path\",\n            \"name\": \"slug\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"tier\": {\n                    \"value\": {\n                      \"tier\": {\n                        \"build_seconds\": \"24000\",\n                        \"egress_bandwidth_bytes\": \"42949672960\",\n                        \"name\": \"Basic\",\n                        \"slug\": \"basic\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"tier\": {\n                      \"properties\": {\n                        \"build_seconds\": {\n                          \"example\": \"233\",\n                          \"format\": \"int64\",\n                          \"title\": \"The amount of included build time in seconds\",\n                          \"type\": \"string\"\n                        },\n                        \"egress_bandwidth_bytes\": {\n                          \"example\": \"123\",\n                          \"format\": \"int64\",\n                          \"title\": \"The amount of included outbound bandwidth in bytes\",\n                          \"type\": \"string\"\n                        },\n                        \"name\": {\n                          \"example\": \"test\",\n                          \"title\": \"A human-readable name of the tier\",\n                          \"type\": \"string\"\n                        },\n                        \"slug\": {\n                          \"example\": \"test\",\n                          \"title\": \"The slug of the tier\",\n                          \"type\": \"string\"\n                        },\n                        \"storage_bytes\": {\n                          \"example\": \"10000000\",\n                          \"format\": \"int64\",\n                          \"title\": \"The allotted disk space in bytes\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON with the key `tier`\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an App Tier\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/tiers/{slug}\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/alerts\": {\n      \"get\": {\n        \"description\": \"List alerts associated to the app and any components. This includes configuration information about the alerts including emails, slack webhooks, and triggering events or conditions.\",\n        \"operationId\": \"apps_list_alerts\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"apps\": {\n                    \"value\": {\n                      \"alerts\": [\n                        {\n                          \"emails\": [\n                            \"sammy@digitalocean.com\"\n                          ],\n                          \"id\": \"e552e1f9-c1b0-4e6d-8777-ad6f27767306\",\n                          \"phase\": \"ACTIVE\",\n                          \"progress\": {\n                            \"steps\": [\n                              {\n                                \"ended_at\": \"2020-07-28T18:00:00Z\",\n                                \"name\": \"alert-configure-insight-alert\",\n                                \"started_at\": \"2020-07-28T18:00:00Z\",\n                                \"status\": \"SUCCESS\"\n                              }\n                            ]\n                          },\n                          \"spec\": {\n                            \"rule\": \"DEPLOYMENT_FAILED\"\n                          }\n                        },\n                        {\n                          \"emails\": [\n                            \"sammy@digitalocean.com\"\n                          ],\n                          \"id\": \"b58cc9d4-0702-4ffd-ab45-4c2a8d979527\",\n                          \"phase\": \"ACTIVE\",\n                          \"progress\": {\n                            \"steps\": [\n                              {\n                                \"ended_at\": \"2020-07-28T18:00:00Z\",\n                                \"name\": \"alert-configure-insight-alert\",\n                                \"started_at\": \"2020-07-28T18:00:00Z\",\n                                \"status\": \"SUCCESS\"\n                              }\n                            ]\n                          },\n                          \"spec\": {\n                            \"operator\": \"GREATER_THAN\",\n                            \"rule\": \"CPU_UTILIZATION\",\n                            \"value\": 85,\n                            \"window\": \"FIVE_MINUTES\"\n                          }\n                        }\n                      ]\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"alerts\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"component_name\": {\n                            \"example\": \"backend\",\n                            \"title\": \"Name of component the alert belongs to\",\n                            \"type\": \"string\"\n                          },\n                          \"emails\": {\n                            \"example\": [\n                              \"sammy@digitalocean.com\"\n                            ],\n                            \"items\": {\n                              \"default\": \"\",\n                              \"example\": \"sammy@digitalocean.com\",\n                              \"type\": \"string\"\n                            },\n                            \"title\": \"Emails for alerts to go to\",\n                            \"type\": \"array\"\n                          },\n                          \"id\": {\n                            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                            \"readOnly\": true,\n                            \"title\": \"The ID of the alert\",\n                            \"type\": \"string\"\n                          },\n                          \"phase\": {\n                            \"default\": \"UNKNOWN\",\n                            \"enum\": [\n                              \"UNKNOWN\",\n                              \"PENDING\",\n                              \"CONFIGURING\",\n                              \"ACTIVE\",\n                              \"ERROR\"\n                            ],\n                            \"example\": \"ACTIVE\",\n                            \"type\": \"string\"\n                          },\n                          \"progress\": {\n                            \"properties\": {\n                              \"steps\": {\n                                \"items\": {\n                                  \"properties\": {\n                                    \"ended_at\": {\n                                      \"example\": \"2020-11-19T20:27:18Z\",\n                                      \"format\": \"date-time\",\n                                      \"title\": \"The start time of this step\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"example_step\",\n                                      \"title\": \"The name of this step\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"reason\": {\n                                      \"properties\": {\n                                        \"code\": {\n                                          \"example\": \"Title of Error\",\n                                          \"title\": \"The error code\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"message\": {\n                                          \"example\": \"This is an error\",\n                                          \"title\": \"The error message\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"started_at\": {\n                                      \"example\": \"2020-11-19T20:27:18Z\",\n                                      \"format\": \"date-time\",\n                                      \"title\": \"The start time of this step\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"status\": {\n                                      \"default\": \"UNKNOWN\",\n                                      \"enum\": [\n                                        \"UNKNOWN\",\n                                        \"PENDING\",\n                                        \"RUNNING\",\n                                        \"ERROR\",\n                                        \"SUCCESS\"\n                                      ],\n                                      \"example\": \"SUCCESS\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"title\": \"Steps of an alert's progress.\",\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"slack_webhooks\": {\n                            \"items\": {\n                              \"properties\": {\n                                \"channel\": {\n                                  \"example\": \"Channel Name\",\n                                  \"title\": \"Name of the Slack Webhook Channel\",\n                                  \"type\": \"string\"\n                                },\n                                \"url\": {\n                                  \"example\": \"https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX\",\n                                  \"title\": \"URL of the Slack webhook\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"title\": \"Slack Webhooks to send alerts to\",\n                            \"type\": \"array\"\n                          },\n                          \"spec\": {\n                            \"properties\": {\n                              \"disabled\": {\n                                \"description\": \"Is the alert disabled?\",\n                                \"example\": false,\n                                \"type\": \"boolean\"\n                              },\n                              \"operator\": {\n                                \"default\": \"UNSPECIFIED_OPERATOR\",\n                                \"enum\": [\n                                  \"UNSPECIFIED_OPERATOR\",\n                                  \"GREATER_THAN\",\n                                  \"LESS_THAN\"\n                                ],\n                                \"example\": \"GREATER_THAN\",\n                                \"type\": \"string\"\n                              },\n                              \"rule\": {\n                                \"default\": \"UNSPECIFIED_RULE\",\n                                \"enum\": [\n                                  \"UNSPECIFIED_RULE\",\n                                  \"CPU_UTILIZATION\",\n                                  \"MEM_UTILIZATION\",\n                                  \"RESTART_COUNT\",\n                                  \"DEPLOYMENT_FAILED\",\n                                  \"DEPLOYMENT_LIVE\",\n                                  \"DOMAIN_FAILED\",\n                                  \"DOMAIN_LIVE\",\n                                  \"FUNCTIONS_ACTIVATION_COUNT\",\n                                  \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                  \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                  \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                  \"FUNCTIONS_ERROR_COUNT\",\n                                  \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                ],\n                                \"example\": \"CPU_UTILIZATION\",\n                                \"type\": \"string\"\n                              },\n                              \"value\": {\n                                \"description\": \"Threshold value for alert\",\n                                \"example\": 2.32,\n                                \"format\": \"float\",\n                                \"type\": \"number\"\n                              },\n                              \"window\": {\n                                \"default\": \"UNSPECIFIED_WINDOW\",\n                                \"enum\": [\n                                  \"UNSPECIFIED_WINDOW\",\n                                  \"FIVE_MINUTES\",\n                                  \"TEN_MINUTES\",\n                                  \"THIRTY_MINUTES\",\n                                  \"ONE_HOUR\"\n                                ],\n                                \"example\": \"FIVE_MINUTES\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a `alerts` key. This is list of object `alerts`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List all app alerts\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/alerts\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/alerts/{alert_id}/destinations\": {\n      \"post\": {\n        \"description\": \"Updates the emails and slack webhook destinations for app alerts. Emails must be associated to a user with access to the app.\",\n        \"operationId\": \"apps_assign_alertDestinations\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The alert ID\",\n            \"example\": \"5a624ab5-dd58-4b39-b7dd-8b7c36e8a91d\",\n            \"in\": \"path\",\n            \"name\": \"alert_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"emails\": {\n                    \"example\": [\n                      \"sammy@digitalocean.com\"\n                    ],\n                    \"items\": {\n                      \"default\": \"\",\n                      \"example\": \"sammy@digitalocean.com\",\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"slack_webhooks\": {\n                    \"items\": {\n                      \"properties\": {\n                        \"channel\": {\n                          \"example\": \"Channel Name\",\n                          \"title\": \"Name of the Slack Webhook Channel\",\n                          \"type\": \"string\"\n                        },\n                        \"url\": {\n                          \"example\": \"https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX\",\n                          \"title\": \"URL of the Slack webhook\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"apps\": {\n                    \"value\": {\n                      \"alert\": {\n                        \"emails\": [\n                          \"sammy@digitalocean.com\"\n                        ],\n                        \"id\": \"e552e1f9-c1b0-4e6d-8777-ad6f27767306\",\n                        \"phase\": \"ACTIVE\",\n                        \"progress\": {\n                          \"steps\": [\n                            {\n                              \"ended_at\": \"2020-07-28T18:00:00Z\",\n                              \"name\": \"alert-configure-insight-alert\",\n                              \"started_at\": \"2020-07-28T18:00:00Z\",\n                              \"status\": \"SUCCESS\"\n                            }\n                          ]\n                        },\n                        \"spec\": {\n                          \"rule\": \"DEPLOYMENT_FAILED\"\n                        }\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"alert\": {\n                      \"properties\": {\n                        \"component_name\": {\n                          \"example\": \"backend\",\n                          \"title\": \"Name of component the alert belongs to\",\n                          \"type\": \"string\"\n                        },\n                        \"emails\": {\n                          \"example\": [\n                            \"sammy@digitalocean.com\"\n                          ],\n                          \"items\": {\n                            \"default\": \"\",\n                            \"example\": \"sammy@digitalocean.com\",\n                            \"type\": \"string\"\n                          },\n                          \"title\": \"Emails for alerts to go to\",\n                          \"type\": \"array\"\n                        },\n                        \"id\": {\n                          \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                          \"readOnly\": true,\n                          \"title\": \"The ID of the alert\",\n                          \"type\": \"string\"\n                        },\n                        \"phase\": {\n                          \"default\": \"UNKNOWN\",\n                          \"enum\": [\n                            \"UNKNOWN\",\n                            \"PENDING\",\n                            \"CONFIGURING\",\n                            \"ACTIVE\",\n                            \"ERROR\"\n                          ],\n                          \"example\": \"ACTIVE\",\n                          \"type\": \"string\"\n                        },\n                        \"progress\": {\n                          \"properties\": {\n                            \"steps\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"ended_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The start time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"example\": \"example_step\",\n                                    \"title\": \"The name of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"reason\": {\n                                    \"properties\": {\n                                      \"code\": {\n                                        \"example\": \"Title of Error\",\n                                        \"title\": \"The error code\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message\": {\n                                        \"example\": \"This is an error\",\n                                        \"title\": \"The error message\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"started_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The start time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING\",\n                                      \"RUNNING\",\n                                      \"ERROR\",\n                                      \"SUCCESS\"\n                                    ],\n                                    \"example\": \"SUCCESS\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Steps of an alert's progress.\",\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"slack_webhooks\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"channel\": {\n                                \"example\": \"Channel Name\",\n                                \"title\": \"Name of the Slack Webhook Channel\",\n                                \"type\": \"string\"\n                              },\n                              \"url\": {\n                                \"example\": \"https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX\",\n                                \"title\": \"URL of the Slack webhook\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Slack Webhooks to send alerts to\",\n                          \"type\": \"array\"\n                        },\n                        \"spec\": {\n                          \"properties\": {\n                            \"disabled\": {\n                              \"description\": \"Is the alert disabled?\",\n                              \"example\": false,\n                              \"type\": \"boolean\"\n                            },\n                            \"operator\": {\n                              \"default\": \"UNSPECIFIED_OPERATOR\",\n                              \"enum\": [\n                                \"UNSPECIFIED_OPERATOR\",\n                                \"GREATER_THAN\",\n                                \"LESS_THAN\"\n                              ],\n                              \"example\": \"GREATER_THAN\",\n                              \"type\": \"string\"\n                            },\n                            \"rule\": {\n                              \"default\": \"UNSPECIFIED_RULE\",\n                              \"enum\": [\n                                \"UNSPECIFIED_RULE\",\n                                \"CPU_UTILIZATION\",\n                                \"MEM_UTILIZATION\",\n                                \"RESTART_COUNT\",\n                                \"DEPLOYMENT_FAILED\",\n                                \"DEPLOYMENT_LIVE\",\n                                \"DOMAIN_FAILED\",\n                                \"DOMAIN_LIVE\",\n                                \"FUNCTIONS_ACTIVATION_COUNT\",\n                                \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                \"FUNCTIONS_ERROR_COUNT\",\n                                \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                              ],\n                              \"example\": \"CPU_UTILIZATION\",\n                              \"type\": \"string\"\n                            },\n                            \"value\": {\n                              \"description\": \"Threshold value for alert\",\n                              \"example\": 2.32,\n                              \"format\": \"float\",\n                              \"type\": \"number\"\n                            },\n                            \"window\": {\n                              \"default\": \"UNSPECIFIED_WINDOW\",\n                              \"enum\": [\n                                \"UNSPECIFIED_WINDOW\",\n                                \"FIVE_MINUTES\",\n                                \"TEN_MINUTES\",\n                                \"THIRTY_MINUTES\",\n                                \"ONE_HOUR\"\n                              ],\n                              \"example\": \"FIVE_MINUTES\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with an `alert` key. This is an object of type `alert`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update destinations for alerts\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{id}/alerts/{alert_id}/destinations\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/components/{component_name}/logs\": {\n      \"get\": {\n        \"description\": \"Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id.\",\n        \"operationId\": \"apps_get_logs_active_deployment\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An optional component name. If set, logs will be limited to this component only.\",\n            \"example\": \"component\",\n            \"in\": \"path\",\n            \"name\": \"component_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Whether the logs should follow live updates.\",\n            \"example\": true,\n            \"in\": \"query\",\n            \"name\": \"follow\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"description\": \"The type of logs to retrieve\\n- BUILD: Build-time logs\\n- DEPLOY: Deploy-time logs\\n- RUN: Live run-time logs\",\n            \"example\": \"BUILD\",\n            \"in\": \"query\",\n            \"name\": \"type\",\n            \"required\": true,\n            \"schema\": {\n              \"default\": \"UNSPECIFIED\",\n              \"enum\": [\n                \"UNSPECIFIED\",\n                \"BUILD\",\n                \"DEPLOY\",\n                \"RUN\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An optional time duration to wait if the underlying component instance is not immediately available. Default: `3m`.\",\n            \"example\": \"3m\",\n            \"in\": \"query\",\n            \"name\": \"pod_connection_timeout\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"logs\": {\n                    \"value\": {\n                      \"historic_logs\": [\n                        \"https://logs-example/archive/build.log\"\n                      ],\n                      \"live_url\": \"https://logs-example/build.log\",\n                      \"url\": \"https://logs/build.log\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"historic_urls\": {\n                      \"items\": {\n                        \"example\": \"https://logs/build.log\",\n                        \"type\": \"string\"\n                      },\n                      \"title\": \"A list of URLs to archived log files\",\n                      \"type\": \"array\"\n                    },\n                    \"live_url\": {\n                      \"description\": \"A URL of the real-time live logs. This URL may use either the `https://` or `wss://` protocols and will keep pushing live logs as they become available.\",\n                      \"example\": \"ws://logs/build\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with urls that point to archived logs\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve Active Deployment Logs\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/components/{component_name}/logs\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/deployments\": {\n      \"get\": {\n        \"description\": \"List all deployments of an app.\",\n        \"operationId\": \"apps_list_deployments\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"deployments\": {\n                    \"value\": {\n                      \"deployments\": [\n                        {\n                          \"cause\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                          \"created_at\": \"2020-07-28T18:00:00Z\",\n                          \"id\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                          \"phase\": \"PENDING_BUILD\",\n                          \"phase_last_updated_at\": \"0001-01-01T00:00:00Z\",\n                          \"progress\": {\n                            \"pending_steps\": 6,\n                            \"steps\": [\n                              {\n                                \"name\": \"build\",\n                                \"status\": \"PENDING\",\n                                \"steps\": [\n                                  {\n                                    \"name\": \"initialize\",\n                                    \"status\": \"PENDING\"\n                                  },\n                                  {\n                                    \"name\": \"components\",\n                                    \"status\": \"PENDING\",\n                                    \"steps\": [\n                                      {\n                                        \"component_name\": \"web\",\n                                        \"message_base\": \"Building service\",\n                                        \"name\": \"web\",\n                                        \"status\": \"PENDING\"\n                                      }\n                                    ]\n                                  }\n                                ]\n                              },\n                              {\n                                \"name\": \"deploy\",\n                                \"status\": \"PENDING\",\n                                \"steps\": [\n                                  {\n                                    \"name\": \"initialize\",\n                                    \"status\": \"PENDING\"\n                                  },\n                                  {\n                                    \"name\": \"components\",\n                                    \"status\": \"PENDING\",\n                                    \"steps\": [\n                                      {\n                                        \"component_name\": \"web\",\n                                        \"name\": \"web\",\n                                        \"status\": \"PENDING\",\n                                        \"steps\": [\n                                          {\n                                            \"component_name\": \"web\",\n                                            \"message_base\": \"Deploying service\",\n                                            \"name\": \"deploy\",\n                                            \"status\": \"PENDING\"\n                                          },\n                                          {\n                                            \"component_name\": \"web\",\n                                            \"message_base\": \"Waiting for service\",\n                                            \"name\": \"wait\",\n                                            \"status\": \"PENDING\"\n                                          }\n                                        ]\n                                      }\n                                    ]\n                                  },\n                                  {\n                                    \"name\": \"finalize\",\n                                    \"status\": \"PENDING\"\n                                  }\n                                ]\n                              }\n                            ],\n                            \"total_steps\": 6\n                          },\n                          \"services\": [\n                            {\n                              \"name\": \"web\",\n                              \"source_commit_hash\": \"9a4df0b8e161e323bc3cdf1dc71878080fe144fa\"\n                            }\n                          ],\n                          \"spec\": {\n                            \"name\": \"sample-golang\",\n                            \"region\": \"ams\",\n                            \"services\": [\n                              {\n                                \"environment_slug\": \"go\",\n                                \"github\": {\n                                  \"branch\": \"branch\",\n                                  \"repo\": \"digitalocean/sample-golang\"\n                                },\n                                \"instance_count\": 2,\n                                \"instance_size_slug\": \"basic-xxs\",\n                                \"name\": \"web\",\n                                \"routes\": [\n                                  {\n                                    \"path\": \"/\"\n                                  }\n                                ],\n                                \"run_command\": \"bin/sample-golang\"\n                              }\n                            ]\n                          },\n                          \"tier_slug\": \"basic\",\n                          \"updated_at\": \"2020-07-28T18:00:00Z\"\n                        }\n                      ],\n                      \"links\": {\n                        \"pages\": {}\n                      },\n                      \"meta\": {\n                        \"total\": 1\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"deployments\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"cause\": {\n                                \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                                \"title\": \"What caused this deployment to be created\",\n                                \"type\": \"string\"\n                              },\n                              \"cloned_from\": {\n                                \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                                \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                                \"type\": \"string\"\n                              },\n                              \"created_at\": {\n                                \"example\": \"2020-07-28T18:00:00Z\",\n                                \"format\": \"date-time\",\n                                \"title\": \"The creation time of the deployment\",\n                                \"type\": \"string\"\n                              },\n                              \"functions\": {\n                                \"items\": {\n                                  \"properties\": {\n                                    \"name\": {\n                                      \"example\": \"my-functions-component\",\n                                      \"title\": \"The name of this functions component\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"namespace\": {\n                                      \"description\": \"The namespace where the functions are deployed.\",\n                                      \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"source_commit_hash\": {\n                                      \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                      \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"title\": \"Functions components that are part of this deployment\",\n                                \"type\": \"array\"\n                              },\n                              \"id\": {\n                                \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                                \"title\": \"The ID of the deployment\",\n                                \"type\": \"string\"\n                              },\n                              \"jobs\": {\n                                \"items\": {\n                                  \"properties\": {\n                                    \"name\": {\n                                      \"example\": \"migrate-db\",\n                                      \"title\": \"The name of this job\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"source_commit_hash\": {\n                                      \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                      \"title\": \"The commit hash of the repository that was used to build this job\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"title\": \"Job components that are part of this deployment\",\n                                \"type\": \"array\"\n                              },\n                              \"phase\": {\n                                \"default\": \"UNKNOWN\",\n                                \"enum\": [\n                                  \"UNKNOWN\",\n                                  \"PENDING_BUILD\",\n                                  \"BUILDING\",\n                                  \"PENDING_DEPLOY\",\n                                  \"DEPLOYING\",\n                                  \"ACTIVE\",\n                                  \"SUPERSEDED\",\n                                  \"ERROR\",\n                                  \"CANCELED\"\n                                ],\n                                \"example\": \"ACTIVE\",\n                                \"type\": \"string\"\n                              },\n                              \"phase_last_updated_at\": {\n                                \"example\": \"0001-01-01T00:00:00Z\",\n                                \"format\": \"date-time\",\n                                \"title\": \"When the deployment phase was last updated\",\n                                \"type\": \"string\"\n                              },\n                              \"progress\": {\n                                \"properties\": {\n                                  \"error_steps\": {\n                                    \"example\": 3,\n                                    \"format\": \"int32\",\n                                    \"title\": \"Number of unsuccessful steps\",\n                                    \"type\": \"integer\"\n                                  },\n                                  \"pending_steps\": {\n                                    \"example\": 2,\n                                    \"format\": \"int32\",\n                                    \"title\": \"Number of pending steps\",\n                                    \"type\": \"integer\"\n                                  },\n                                  \"running_steps\": {\n                                    \"example\": 2,\n                                    \"format\": \"int32\",\n                                    \"title\": \"Number of currently running steps\",\n                                    \"type\": \"integer\"\n                                  },\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"component_name\": {\n                                          \"example\": \"component\",\n                                          \"title\": \"The component name that this step is associated with\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"ended_at\": {\n                                          \"example\": \"2020-11-19T20:27:18Z\",\n                                          \"format\": \"date-time\",\n                                          \"title\": \"The end time of this step\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"message_base\": {\n                                          \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                          \"example\": \"Building service\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"name\": {\n                                          \"example\": \"example_step\",\n                                          \"title\": \"The name of this step\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"reason\": {\n                                          \"properties\": {\n                                            \"code\": {\n                                              \"example\": \"Title of Error\",\n                                              \"title\": \"The error code\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"message\": {\n                                              \"example\": \"This is an error\",\n                                              \"title\": \"The error message\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"started_at\": {\n                                          \"example\": \"2020-11-19T20:27:18Z\",\n                                          \"format\": \"date-time\",\n                                          \"title\": \"The start time of this step\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"status\": {\n                                          \"default\": \"UNKNOWN\",\n                                          \"enum\": [\n                                            \"UNKNOWN\",\n                                            \"PENDING\",\n                                            \"RUNNING\",\n                                            \"ERROR\",\n                                            \"SUCCESS\"\n                                          ],\n                                          \"example\": \"SUCCESS\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"steps\": {\n                                          \"items\": {\n                                            \"type\": \"object\"\n                                          },\n                                          \"title\": \"Child steps of this step\",\n                                          \"type\": \"array\"\n                                        }\n                                      },\n                                      \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"The deployment's steps\",\n                                    \"type\": \"array\"\n                                  },\n                                  \"success_steps\": {\n                                    \"example\": 4,\n                                    \"format\": \"int32\",\n                                    \"title\": \"Number of successful steps\",\n                                    \"type\": \"integer\"\n                                  },\n                                  \"summary_steps\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"component_name\": {\n                                          \"example\": \"component\",\n                                          \"title\": \"The component name that this step is associated with\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"ended_at\": {\n                                          \"example\": \"2020-11-19T20:27:18Z\",\n                                          \"format\": \"date-time\",\n                                          \"title\": \"The end time of this step\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"message_base\": {\n                                          \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                          \"example\": \"Building service\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"name\": {\n                                          \"example\": \"example_step\",\n                                          \"title\": \"The name of this step\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"reason\": {\n                                          \"properties\": {\n                                            \"code\": {\n                                              \"example\": \"Title of Error\",\n                                              \"title\": \"The error code\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"message\": {\n                                              \"example\": \"This is an error\",\n                                              \"title\": \"The error message\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"started_at\": {\n                                          \"example\": \"2020-11-19T20:27:18Z\",\n                                          \"format\": \"date-time\",\n                                          \"title\": \"The start time of this step\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"status\": {\n                                          \"default\": \"UNKNOWN\",\n                                          \"enum\": [\n                                            \"UNKNOWN\",\n                                            \"PENDING\",\n                                            \"RUNNING\",\n                                            \"ERROR\",\n                                            \"SUCCESS\"\n                                          ],\n                                          \"example\": \"SUCCESS\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"steps\": {\n                                          \"items\": {\n                                            \"type\": \"object\"\n                                          },\n                                          \"title\": \"Child steps of this step\",\n                                          \"type\": \"array\"\n                                        }\n                                      },\n                                      \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"A flattened summary of the steps\",\n                                    \"type\": \"array\"\n                                  },\n                                  \"total_steps\": {\n                                    \"example\": 5,\n                                    \"format\": \"int32\",\n                                    \"title\": \"Total number of steps\",\n                                    \"type\": \"integer\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"services\": {\n                                \"items\": {\n                                  \"properties\": {\n                                    \"name\": {\n                                      \"example\": \"web\",\n                                      \"title\": \"The name of this service\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"source_commit_hash\": {\n                                      \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                      \"title\": \"The commit hash of the repository that was used to build this service\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"title\": \"Service components that are part of this deployment\",\n                                \"type\": \"array\"\n                              },\n                              \"spec\": {\n                                \"description\": \"The desired configuration of an application.\",\n                                \"properties\": {\n                                  \"databases\": {\n                                    \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"cluster_name\": {\n                                          \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                          \"example\": \"cluster_name\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"db_name\": {\n                                          \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                          \"example\": \"my_db\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"db_user\": {\n                                          \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                          \"example\": \"superuser\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"engine\": {\n                                          \"default\": \"UNSET\",\n                                          \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"MYSQL\",\n                                            \"PG\",\n                                            \"REDIS\"\n                                          ],\n                                          \"example\": \"PG\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"name\": {\n                                          \"description\": \"The name. Must be unique across all components within the same app.\",\n                                          \"example\": \"prod-db\",\n                                          \"maxLength\": 32,\n                                          \"minLength\": 2,\n                                          \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"production\": {\n                                          \"description\": \"Whether this is a production or dev database.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"version\": {\n                                          \"description\": \"The version of the database engine\",\n                                          \"example\": \"12\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"name\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"domains\": {\n                                    \"description\": \"A set of hostnames where the application will be available.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"domain\": {\n                                          \"description\": \"The hostname for the domain\",\n                                          \"example\": \"app.example.com\",\n                                          \"maxLength\": 253,\n                                          \"minLength\": 4,\n                                          \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"minimum_tls_version\": {\n                                          \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                          \"enum\": [\n                                            \"1.2\",\n                                            \"1.3\"\n                                          ],\n                                          \"example\": \"1.3\",\n                                          \"maxLength\": 3,\n                                          \"minLength\": 3,\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"UNSPECIFIED\",\n                                          \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED\",\n                                            \"DEFAULT\",\n                                            \"PRIMARY\",\n                                            \"ALIAS\"\n                                          ],\n                                          \"example\": \"DEFAULT\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"wildcard\": {\n                                          \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"zone\": {\n                                          \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                          \"example\": \"example.com\",\n                                          \"format\": \"hostname\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"domain\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"functions\": {\n                                    \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"alerts\": {\n                                          \"items\": {\n                                            \"properties\": {\n                                              \"disabled\": {\n                                                \"description\": \"Is the alert disabled?\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"operator\": {\n                                                \"default\": \"UNSPECIFIED_OPERATOR\",\n                                                \"enum\": [\n                                                  \"UNSPECIFIED_OPERATOR\",\n                                                  \"GREATER_THAN\",\n                                                  \"LESS_THAN\"\n                                                ],\n                                                \"example\": \"GREATER_THAN\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"rule\": {\n                                                \"default\": \"UNSPECIFIED_RULE\",\n                                                \"enum\": [\n                                                  \"UNSPECIFIED_RULE\",\n                                                  \"CPU_UTILIZATION\",\n                                                  \"MEM_UTILIZATION\",\n                                                  \"RESTART_COUNT\",\n                                                  \"DEPLOYMENT_FAILED\",\n                                                  \"DEPLOYMENT_LIVE\",\n                                                  \"DOMAIN_FAILED\",\n                                                  \"DOMAIN_LIVE\",\n                                                  \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                  \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                  \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                  \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                  \"FUNCTIONS_ERROR_COUNT\",\n                                                  \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                                ],\n                                                \"example\": \"CPU_UTILIZATION\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"value\": {\n                                                \"description\": \"Threshold value for alert\",\n                                                \"example\": 2.32,\n                                                \"format\": \"float\",\n                                                \"type\": \"number\"\n                                              },\n                                              \"window\": {\n                                                \"default\": \"UNSPECIFIED_WINDOW\",\n                                                \"enum\": [\n                                                  \"UNSPECIFIED_WINDOW\",\n                                                  \"FIVE_MINUTES\",\n                                                  \"TEN_MINUTES\",\n                                                  \"THIRTY_MINUTES\",\n                                                  \"ONE_HOUR\"\n                                                ],\n                                                \"example\": \"FIVE_MINUTES\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"cors\": {\n                                          \"properties\": {\n                                            \"allow_credentials\": {\n                                              \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                              \"example\": false,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"allow_headers\": {\n                                              \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                              \"example\": [\n                                                \"Content-Type\",\n                                                \"X-Custom-Header\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"allow_methods\": {\n                                              \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                              \"example\": [\n                                                \"GET\",\n                                                \"OPTIONS\",\n                                                \"POST\",\n                                                \"PUT\",\n                                                \"PATCH\",\n                                                \"DELETE\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"allow_origins\": {\n                                              \"description\": \"The set of allowed CORS origins.\",\n                                              \"example\": [\n                                                {\n                                                  \"exact\": \"https://www.example.com\"\n                                                },\n                                                {\n                                                  \"regex\": \"^.*example.com\"\n                                                }\n                                              ],\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"exact\": {\n                                                    \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                    \"example\": \"https://www.example.com\",\n                                                    \"maxLength\": 256,\n                                                    \"minLength\": 1,\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"prefix\": {\n                                                    \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                    \"example\": \"https://www.example.com\",\n                                                    \"maxLength\": 256,\n                                                    \"minLength\": 1,\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"regex\": {\n                                                    \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                    \"example\": \"^.*example.com\",\n                                                    \"maxLength\": 256,\n                                                    \"minLength\": 1,\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"expose_headers\": {\n                                              \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                              \"example\": [\n                                                \"Content-Encoding\",\n                                                \"X-Custom-Header\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"max_age\": {\n                                              \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                              \"example\": \"5h30m\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"envs\": {\n                                          \"description\": \"A list of environment variables made available to the component.\",\n                                          \"items\": {\n                                            \"properties\": {\n                                              \"key\": {\n                                                \"description\": \"The variable name\",\n                                                \"example\": \"BASE_URL\",\n                                                \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"scope\": {\n                                                \"default\": \"RUN_AND_BUILD_TIME\",\n                                                \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                \"enum\": [\n                                                  \"UNSET\",\n                                                  \"RUN_TIME\",\n                                                  \"BUILD_TIME\",\n                                                  \"RUN_AND_BUILD_TIME\"\n                                                ],\n                                                \"example\": \"BUILD_TIME\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": {\n                                                \"default\": \"GENERAL\",\n                                                \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                \"enum\": [\n                                                  \"GENERAL\",\n                                                  \"SECRET\"\n                                                ],\n                                                \"example\": \"GENERAL\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"value\": {\n                                                \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                \"example\": \"http://example.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"git\": {\n                                          \"properties\": {\n                                            \"branch\": {\n                                              \"description\": \"The name of the branch to use\",\n                                              \"example\": \"main\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"repo_clone_url\": {\n                                              \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                              \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"github\": {\n                                          \"properties\": {\n                                            \"branch\": {\n                                              \"description\": \"The name of the branch to use\",\n                                              \"example\": \"main\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"deploy_on_push\": {\n                                              \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"repo\": {\n                                              \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                              \"example\": \"digitalocean/sample-golang\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"gitlab\": {\n                                          \"properties\": {\n                                            \"branch\": {\n                                              \"description\": \"The name of the branch to use\",\n                                              \"example\": \"main\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"deploy_on_push\": {\n                                              \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"repo\": {\n                                              \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                              \"example\": \"digitalocean/sample-golang\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"log_destinations\": {\n                                          \"properties\": {\n                                            \"datadog\": {\n                                              \"description\": \"DataDog configuration.\",\n                                              \"properties\": {\n                                                \"api_key\": {\n                                                  \"description\": \"Datadog API key.\",\n                                                  \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"endpoint\": {\n                                                  \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                  \"example\": \"https://mydatadogendpoint.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"api_key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"logtail\": {\n                                              \"description\": \"Logtail configuration.\",\n                                              \"properties\": {\n                                                \"token\": {\n                                                  \"description\": \"Logtail token.\",\n                                                  \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"endpoint\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"name\": {\n                                              \"example\": \"my_log_destination\",\n                                              \"maxLength\": 42,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"papertrail\": {\n                                              \"description\": \"Papertrail configuration.\",\n                                              \"properties\": {\n                                                \"endpoint\": {\n                                                  \"description\": \"Papertrail syslog endpoint.\",\n                                                  \"example\": \"https://mypapertrailendpoint.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"endpoint\"\n                                              ],\n                                              \"type\": \"object\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"name\"\n                                          ],\n                                          \"title\": \"Configurations for external logging.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"name\": {\n                                          \"description\": \"The name. Must be unique across all components within the same app.\",\n                                          \"example\": \"api\",\n                                          \"maxLength\": 32,\n                                          \"minLength\": 2,\n                                          \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"routes\": {\n                                          \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                          \"items\": {\n                                            \"properties\": {\n                                              \"path\": {\n                                                \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                \"example\": \"/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"preserve_path_prefix\": {\n                                                \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              }\n                                            },\n                                            \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"source_dir\": {\n                                          \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                          \"example\": \"path/to/dir\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"name\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"jobs\": {\n                                    \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                    \"items\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"build_command\": {\n                                              \"description\": \"An optional build command to run while building this component from source.\",\n                                              \"example\": \"npm run build\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"dockerfile_path\": {\n                                              \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                              \"example\": \"path/to/Dockerfile\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"environment_slug\": {\n                                              \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                              \"example\": \"node-js\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"envs\": {\n                                              \"description\": \"A list of environment variables made available to the component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"key\": {\n                                                    \"description\": \"The variable name\",\n                                                    \"example\": \"BASE_URL\",\n                                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"scope\": {\n                                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                    \"enum\": [\n                                                      \"UNSET\",\n                                                      \"RUN_TIME\",\n                                                      \"BUILD_TIME\",\n                                                      \"RUN_AND_BUILD_TIME\"\n                                                    ],\n                                                    \"example\": \"BUILD_TIME\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": {\n                                                    \"default\": \"GENERAL\",\n                                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                    \"enum\": [\n                                                      \"GENERAL\",\n                                                      \"SECRET\"\n                                                    ],\n                                                    \"example\": \"GENERAL\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"value\": {\n                                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                    \"example\": \"http://example.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"git\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repo_clone_url\": {\n                                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"github\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"gitlab\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"image\": {\n                                              \"properties\": {\n                                                \"registry\": {\n                                                  \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                  \"example\": \"registry.hub.docker.com\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"registry_type\": {\n                                                  \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                  \"enum\": [\n                                                    \"DOCKER_HUB\",\n                                                    \"DOCR\"\n                                                  ],\n                                                  \"example\": \"DOCR\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repository\": {\n                                                  \"description\": \"The repository name.\",\n                                                  \"example\": \"origin/master\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"tag\": {\n                                                  \"default\": \"latest\",\n                                                  \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                  \"example\": \"latest\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"log_destinations\": {\n                                              \"properties\": {\n                                                \"datadog\": {\n                                                  \"description\": \"DataDog configuration.\",\n                                                  \"properties\": {\n                                                    \"api_key\": {\n                                                      \"description\": \"Datadog API key.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"endpoint\": {\n                                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                      \"example\": \"https://mydatadogendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"api_key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"logtail\": {\n                                                  \"description\": \"Logtail configuration.\",\n                                                  \"properties\": {\n                                                    \"token\": {\n                                                      \"description\": \"Logtail token.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"my_log_destination\",\n                                                  \"maxLength\": 42,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"papertrail\": {\n                                                  \"description\": \"Papertrail configuration.\",\n                                                  \"properties\": {\n                                                    \"endpoint\": {\n                                                      \"description\": \"Papertrail syslog endpoint.\",\n                                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"title\": \"Configurations for external logging.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"name\": {\n                                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                                              \"example\": \"api\",\n                                              \"maxLength\": 32,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"run_command\": {\n                                              \"description\": \"An optional run command to override the component's default.\",\n                                              \"example\": \"bin/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_dir\": {\n                                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                              \"example\": \"path/to/dir\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"instance_count\": {\n                                              \"default\": 1,\n                                              \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                              \"example\": 2,\n                                              \"format\": \"int64\",\n                                              \"minimum\": 1,\n                                              \"type\": \"integer\"\n                                            },\n                                            \"instance_size_slug\": {\n                                              \"default\": \"basic-xxs\",\n                                              \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                              \"enum\": [\n                                                \"basic-xxs\",\n                                                \"basic-xs\",\n                                                \"basic-s\",\n                                                \"basic-m\",\n                                                \"professional-xs\",\n                                                \"professional-s\",\n                                                \"professional-m\",\n                                                \"professional-1l\",\n                                                \"professional-l\",\n                                                \"professional-xl\"\n                                              ],\n                                              \"example\": \"basic-xxs\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"kind\": {\n                                              \"default\": \"UNSPECIFIED\",\n                                              \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED\",\n                                                \"PRE_DEPLOY\",\n                                                \"POST_DEPLOY\",\n                                                \"FAILED_DEPLOY\"\n                                              ],\n                                              \"example\": \"PRE_DEPLOY\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"name\"\n                                          ],\n                                          \"type\": \"object\"\n                                        }\n                                      ]\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                    \"example\": \"web-app-01\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"region\": {\n                                    \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                    \"enum\": [\n                                      \"ams\",\n                                      \"nyc\",\n                                      \"fra\",\n                                      \"sfo\",\n                                      \"sgp\",\n                                      \"blr\",\n                                      \"tor\",\n                                      \"lon\",\n                                      \"syd\"\n                                    ],\n                                    \"example\": \"nyc\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"services\": {\n                                    \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                    \"items\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"build_command\": {\n                                              \"description\": \"An optional build command to run while building this component from source.\",\n                                              \"example\": \"npm run build\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"dockerfile_path\": {\n                                              \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                              \"example\": \"path/to/Dockerfile\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"environment_slug\": {\n                                              \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                              \"example\": \"node-js\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"envs\": {\n                                              \"description\": \"A list of environment variables made available to the component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"key\": {\n                                                    \"description\": \"The variable name\",\n                                                    \"example\": \"BASE_URL\",\n                                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"scope\": {\n                                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                    \"enum\": [\n                                                      \"UNSET\",\n                                                      \"RUN_TIME\",\n                                                      \"BUILD_TIME\",\n                                                      \"RUN_AND_BUILD_TIME\"\n                                                    ],\n                                                    \"example\": \"BUILD_TIME\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": {\n                                                    \"default\": \"GENERAL\",\n                                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                    \"enum\": [\n                                                      \"GENERAL\",\n                                                      \"SECRET\"\n                                                    ],\n                                                    \"example\": \"GENERAL\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"value\": {\n                                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                    \"example\": \"http://example.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"git\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repo_clone_url\": {\n                                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"github\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"gitlab\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"image\": {\n                                              \"properties\": {\n                                                \"registry\": {\n                                                  \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                  \"example\": \"registry.hub.docker.com\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"registry_type\": {\n                                                  \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                  \"enum\": [\n                                                    \"DOCKER_HUB\",\n                                                    \"DOCR\"\n                                                  ],\n                                                  \"example\": \"DOCR\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repository\": {\n                                                  \"description\": \"The repository name.\",\n                                                  \"example\": \"origin/master\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"tag\": {\n                                                  \"default\": \"latest\",\n                                                  \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                  \"example\": \"latest\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"log_destinations\": {\n                                              \"properties\": {\n                                                \"datadog\": {\n                                                  \"description\": \"DataDog configuration.\",\n                                                  \"properties\": {\n                                                    \"api_key\": {\n                                                      \"description\": \"Datadog API key.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"endpoint\": {\n                                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                      \"example\": \"https://mydatadogendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"api_key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"logtail\": {\n                                                  \"description\": \"Logtail configuration.\",\n                                                  \"properties\": {\n                                                    \"token\": {\n                                                      \"description\": \"Logtail token.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"my_log_destination\",\n                                                  \"maxLength\": 42,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"papertrail\": {\n                                                  \"description\": \"Papertrail configuration.\",\n                                                  \"properties\": {\n                                                    \"endpoint\": {\n                                                      \"description\": \"Papertrail syslog endpoint.\",\n                                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"title\": \"Configurations for external logging.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"name\": {\n                                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                                              \"example\": \"api\",\n                                              \"maxLength\": 32,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"run_command\": {\n                                              \"description\": \"An optional run command to override the component's default.\",\n                                              \"example\": \"bin/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_dir\": {\n                                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                              \"example\": \"path/to/dir\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"instance_count\": {\n                                              \"default\": 1,\n                                              \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                              \"example\": 2,\n                                              \"format\": \"int64\",\n                                              \"minimum\": 1,\n                                              \"type\": \"integer\"\n                                            },\n                                            \"instance_size_slug\": {\n                                              \"default\": \"basic-xxs\",\n                                              \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                              \"enum\": [\n                                                \"basic-xxs\",\n                                                \"basic-xs\",\n                                                \"basic-s\",\n                                                \"basic-m\",\n                                                \"professional-xs\",\n                                                \"professional-s\",\n                                                \"professional-m\",\n                                                \"professional-1l\",\n                                                \"professional-l\",\n                                                \"professional-xl\"\n                                              ],\n                                              \"example\": \"basic-xxs\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"cors\": {\n                                              \"properties\": {\n                                                \"allow_credentials\": {\n                                                  \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                  \"example\": false,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"allow_headers\": {\n                                                  \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                  \"example\": [\n                                                    \"Content-Type\",\n                                                    \"X-Custom-Header\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"allow_methods\": {\n                                                  \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                  \"example\": [\n                                                    \"GET\",\n                                                    \"OPTIONS\",\n                                                    \"POST\",\n                                                    \"PUT\",\n                                                    \"PATCH\",\n                                                    \"DELETE\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"allow_origins\": {\n                                                  \"description\": \"The set of allowed CORS origins.\",\n                                                  \"example\": [\n                                                    {\n                                                      \"exact\": \"https://www.example.com\"\n                                                    },\n                                                    {\n                                                      \"regex\": \"^.*example.com\"\n                                                    }\n                                                  ],\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"exact\": {\n                                                        \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                        \"example\": \"https://www.example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"prefix\": {\n                                                        \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                        \"example\": \"https://www.example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"regex\": {\n                                                        \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                        \"example\": \"^.*example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"expose_headers\": {\n                                                  \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                  \"example\": [\n                                                    \"Content-Encoding\",\n                                                    \"X-Custom-Header\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"max_age\": {\n                                                  \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                  \"example\": \"5h30m\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"health_check\": {\n                                              \"properties\": {\n                                                \"failure_threshold\": {\n                                                  \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                  \"example\": 2,\n                                                  \"format\": \"int32\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"http_path\": {\n                                                  \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                  \"example\": \"/health\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"initial_delay_seconds\": {\n                                                  \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                  \"example\": 30,\n                                                  \"format\": \"int32\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"period_seconds\": {\n                                                  \"description\": \"The number of seconds to wait between health checks.\",\n                                                  \"example\": 60,\n                                                  \"format\": \"int32\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"port\": {\n                                                  \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                  \"example\": 80,\n                                                  \"format\": \"int64\",\n                                                  \"maximum\": 65535,\n                                                  \"minimum\": 1,\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"success_threshold\": {\n                                                  \"description\": \"The number of successful health checks before considered healthy.\",\n                                                  \"example\": 3,\n                                                  \"format\": \"int32\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"timeout_seconds\": {\n                                                  \"description\": \"The number of seconds after which the check times out.\",\n                                                  \"example\": 45,\n                                                  \"format\": \"int32\",\n                                                  \"type\": \"integer\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"http_port\": {\n                                              \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                              \"example\": 3000,\n                                              \"format\": \"int64\",\n                                              \"maximum\": 65535,\n                                              \"minimum\": 1,\n                                              \"type\": \"integer\"\n                                            },\n                                            \"internal_ports\": {\n                                              \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                              \"example\": [\n                                                80,\n                                                443\n                                              ],\n                                              \"items\": {\n                                                \"format\": \"int64\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"routes\": {\n                                              \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"path\": {\n                                                    \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                    \"example\": \"/api\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"preserve_path_prefix\": {\n                                                    \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  }\n                                                },\n                                                \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"name\"\n                                          ],\n                                          \"type\": \"object\"\n                                        }\n                                      ]\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"static_sites\": {\n                                    \"description\": \"Content which can be rendered to static web assets.\",\n                                    \"items\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"build_command\": {\n                                              \"description\": \"An optional build command to run while building this component from source.\",\n                                              \"example\": \"npm run build\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"dockerfile_path\": {\n                                              \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                              \"example\": \"path/to/Dockerfile\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"environment_slug\": {\n                                              \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                              \"example\": \"node-js\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"envs\": {\n                                              \"description\": \"A list of environment variables made available to the component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"key\": {\n                                                    \"description\": \"The variable name\",\n                                                    \"example\": \"BASE_URL\",\n                                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"scope\": {\n                                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                    \"enum\": [\n                                                      \"UNSET\",\n                                                      \"RUN_TIME\",\n                                                      \"BUILD_TIME\",\n                                                      \"RUN_AND_BUILD_TIME\"\n                                                    ],\n                                                    \"example\": \"BUILD_TIME\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": {\n                                                    \"default\": \"GENERAL\",\n                                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                    \"enum\": [\n                                                      \"GENERAL\",\n                                                      \"SECRET\"\n                                                    ],\n                                                    \"example\": \"GENERAL\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"value\": {\n                                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                    \"example\": \"http://example.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"git\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repo_clone_url\": {\n                                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"github\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"gitlab\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"image\": {\n                                              \"properties\": {\n                                                \"registry\": {\n                                                  \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                  \"example\": \"registry.hub.docker.com\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"registry_type\": {\n                                                  \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                  \"enum\": [\n                                                    \"DOCKER_HUB\",\n                                                    \"DOCR\"\n                                                  ],\n                                                  \"example\": \"DOCR\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repository\": {\n                                                  \"description\": \"The repository name.\",\n                                                  \"example\": \"origin/master\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"tag\": {\n                                                  \"default\": \"latest\",\n                                                  \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                  \"example\": \"latest\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"log_destinations\": {\n                                              \"properties\": {\n                                                \"datadog\": {\n                                                  \"description\": \"DataDog configuration.\",\n                                                  \"properties\": {\n                                                    \"api_key\": {\n                                                      \"description\": \"Datadog API key.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"endpoint\": {\n                                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                      \"example\": \"https://mydatadogendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"api_key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"logtail\": {\n                                                  \"description\": \"Logtail configuration.\",\n                                                  \"properties\": {\n                                                    \"token\": {\n                                                      \"description\": \"Logtail token.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"my_log_destination\",\n                                                  \"maxLength\": 42,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"papertrail\": {\n                                                  \"description\": \"Papertrail configuration.\",\n                                                  \"properties\": {\n                                                    \"endpoint\": {\n                                                      \"description\": \"Papertrail syslog endpoint.\",\n                                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"title\": \"Configurations for external logging.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"name\": {\n                                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                                              \"example\": \"api\",\n                                              \"maxLength\": 32,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"run_command\": {\n                                              \"description\": \"An optional run command to override the component's default.\",\n                                              \"example\": \"bin/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_dir\": {\n                                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                              \"example\": \"path/to/dir\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"catchall_document\": {\n                                              \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                              \"example\": \"index.html\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"cors\": {\n                                              \"properties\": {\n                                                \"allow_credentials\": {\n                                                  \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                  \"example\": false,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"allow_headers\": {\n                                                  \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                  \"example\": [\n                                                    \"Content-Type\",\n                                                    \"X-Custom-Header\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"allow_methods\": {\n                                                  \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                  \"example\": [\n                                                    \"GET\",\n                                                    \"OPTIONS\",\n                                                    \"POST\",\n                                                    \"PUT\",\n                                                    \"PATCH\",\n                                                    \"DELETE\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"allow_origins\": {\n                                                  \"description\": \"The set of allowed CORS origins.\",\n                                                  \"example\": [\n                                                    {\n                                                      \"exact\": \"https://www.example.com\"\n                                                    },\n                                                    {\n                                                      \"regex\": \"^.*example.com\"\n                                                    }\n                                                  ],\n                                                  \"items\": {\n                                                    \"properties\": {\n                                                      \"exact\": {\n                                                        \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                        \"example\": \"https://www.example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"prefix\": {\n                                                        \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                        \"example\": \"https://www.example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"regex\": {\n                                                        \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                        \"example\": \"^.*example.com\",\n                                                        \"maxLength\": 256,\n                                                        \"minLength\": 1,\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"expose_headers\": {\n                                                  \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                  \"example\": [\n                                                    \"Content-Encoding\",\n                                                    \"X-Custom-Header\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": \"array\"\n                                                },\n                                                \"max_age\": {\n                                                  \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                  \"example\": \"5h30m\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"error_document\": {\n                                              \"default\": \"404.html\",\n                                              \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                              \"example\": \"error.html\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"index_document\": {\n                                              \"default\": \"index.html\",\n                                              \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                              \"example\": \"main.html\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"output_dir\": {\n                                              \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                              \"example\": \"dist/\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"routes\": {\n                                              \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"path\": {\n                                                    \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                    \"example\": \"/api\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"preserve_path_prefix\": {\n                                                    \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  }\n                                                },\n                                                \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        }\n                                      ],\n                                      \"required\": [\n                                        \"name\"\n                                      ]\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"workers\": {\n                                    \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                    \"items\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"build_command\": {\n                                              \"description\": \"An optional build command to run while building this component from source.\",\n                                              \"example\": \"npm run build\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"dockerfile_path\": {\n                                              \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                              \"example\": \"path/to/Dockerfile\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"environment_slug\": {\n                                              \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                              \"example\": \"node-js\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"envs\": {\n                                              \"description\": \"A list of environment variables made available to the component.\",\n                                              \"items\": {\n                                                \"properties\": {\n                                                  \"key\": {\n                                                    \"description\": \"The variable name\",\n                                                    \"example\": \"BASE_URL\",\n                                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"scope\": {\n                                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                    \"enum\": [\n                                                      \"UNSET\",\n                                                      \"RUN_TIME\",\n                                                      \"BUILD_TIME\",\n                                                      \"RUN_AND_BUILD_TIME\"\n                                                    ],\n                                                    \"example\": \"BUILD_TIME\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"type\": {\n                                                    \"default\": \"GENERAL\",\n                                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                    \"enum\": [\n                                                      \"GENERAL\",\n                                                      \"SECRET\"\n                                                    ],\n                                                    \"example\": \"GENERAL\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"value\": {\n                                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                    \"example\": \"http://example.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"git\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repo_clone_url\": {\n                                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"github\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"gitlab\": {\n                                              \"properties\": {\n                                                \"branch\": {\n                                                  \"description\": \"The name of the branch to use\",\n                                                  \"example\": \"main\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"deploy_on_push\": {\n                                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"repo\": {\n                                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                  \"example\": \"digitalocean/sample-golang\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"image\": {\n                                              \"properties\": {\n                                                \"registry\": {\n                                                  \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                  \"example\": \"registry.hub.docker.com\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"registry_type\": {\n                                                  \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                  \"enum\": [\n                                                    \"DOCKER_HUB\",\n                                                    \"DOCR\"\n                                                  ],\n                                                  \"example\": \"DOCR\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"repository\": {\n                                                  \"description\": \"The repository name.\",\n                                                  \"example\": \"origin/master\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"tag\": {\n                                                  \"default\": \"latest\",\n                                                  \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                  \"example\": \"latest\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"log_destinations\": {\n                                              \"properties\": {\n                                                \"datadog\": {\n                                                  \"description\": \"DataDog configuration.\",\n                                                  \"properties\": {\n                                                    \"api_key\": {\n                                                      \"description\": \"Datadog API key.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"endpoint\": {\n                                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                      \"example\": \"https://mydatadogendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"api_key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"logtail\": {\n                                                  \"description\": \"Logtail configuration.\",\n                                                  \"properties\": {\n                                                    \"token\": {\n                                                      \"description\": \"Logtail token.\",\n                                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"name\": {\n                                                  \"example\": \"my_log_destination\",\n                                                  \"maxLength\": 42,\n                                                  \"minLength\": 2,\n                                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"papertrail\": {\n                                                  \"description\": \"Papertrail configuration.\",\n                                                  \"properties\": {\n                                                    \"endpoint\": {\n                                                      \"description\": \"Papertrail syslog endpoint.\",\n                                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"endpoint\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"name\"\n                                              ],\n                                              \"title\": \"Configurations for external logging.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"name\": {\n                                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                                              \"example\": \"api\",\n                                              \"maxLength\": 32,\n                                              \"minLength\": 2,\n                                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"run_command\": {\n                                              \"description\": \"An optional run command to override the component's default.\",\n                                              \"example\": \"bin/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"source_dir\": {\n                                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                              \"example\": \"path/to/dir\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"instance_count\": {\n                                              \"default\": 1,\n                                              \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                              \"example\": 2,\n                                              \"format\": \"int64\",\n                                              \"minimum\": 1,\n                                              \"type\": \"integer\"\n                                            },\n                                            \"instance_size_slug\": {\n                                              \"default\": \"basic-xxs\",\n                                              \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                              \"enum\": [\n                                                \"basic-xxs\",\n                                                \"basic-xs\",\n                                                \"basic-s\",\n                                                \"basic-m\",\n                                                \"professional-xs\",\n                                                \"professional-s\",\n                                                \"professional-m\",\n                                                \"professional-1l\",\n                                                \"professional-l\",\n                                                \"professional-xl\"\n                                              ],\n                                              \"example\": \"basic-xxs\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        }\n                                      ],\n                                      \"required\": [\n                                        \"name\"\n                                      ]\n                                    },\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"title\": \"AppSpec\",\n                                \"type\": \"object\"\n                              },\n                              \"static_sites\": {\n                                \"items\": {\n                                  \"properties\": {\n                                    \"name\": {\n                                      \"example\": \"web\",\n                                      \"title\": \"The name of this static site\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"source_commit_hash\": {\n                                      \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                      \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"title\": \"Static Site components that are part of this deployment\",\n                                \"type\": \"array\"\n                              },\n                              \"tier_slug\": {\n                                \"example\": \"basic\",\n                                \"readOnly\": true,\n                                \"title\": \"The current pricing tier slug of the deployment\",\n                                \"type\": \"string\"\n                              },\n                              \"updated_at\": {\n                                \"example\": \"2020-07-28T18:00:00Z\",\n                                \"format\": \"date-time\",\n                                \"title\": \"When the deployment was last updated\",\n                                \"type\": \"string\"\n                              },\n                              \"workers\": {\n                                \"items\": {\n                                  \"properties\": {\n                                    \"name\": {\n                                      \"example\": \"queue-runner\",\n                                      \"title\": \"The name of this worker\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"source_commit_hash\": {\n                                      \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                      \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"title\": \"Worker components that are part of this deployment\",\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"title\": \"An app deployment\",\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"A list of deployments\",\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON object with a `deployments` key. This will be a list of all app deployments\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List App Deployments\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/deployments\\\"\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"Creating an app deployment will pull the latest changes from your repository and schedule a new deployment for your app.\",\n        \"operationId\": \"apps_create_deployment\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"force_build\": {\n                    \"example\": true,\n                    \"title\": \"Indicates whether to force a build of app from source even if an existing cached build is suitable for re-use\",\n                    \"type\": \"boolean\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"deployment\": {\n                    \"value\": {\n                      \"deployment\": {\n                        \"cause\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                        \"created_at\": \"2020-07-28T18:00:00Z\",\n                        \"id\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                        \"phase\": \"PENDING_BUILD\",\n                        \"phase_last_updated_at\": \"0001-01-01T00:00:00Z\",\n                        \"progress\": {\n                          \"pending_steps\": 6,\n                          \"steps\": [\n                            {\n                              \"name\": \"build\",\n                              \"status\": \"PENDING\",\n                              \"steps\": [\n                                {\n                                  \"name\": \"initialize\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"name\": \"components\",\n                                  \"status\": \"PENDING\",\n                                  \"steps\": [\n                                    {\n                                      \"component_name\": \"web\",\n                                      \"message_base\": \"Building service\",\n                                      \"name\": \"web\",\n                                      \"status\": \"PENDING\"\n                                    }\n                                  ]\n                                }\n                              ]\n                            },\n                            {\n                              \"name\": \"deploy\",\n                              \"status\": \"PENDING\",\n                              \"steps\": [\n                                {\n                                  \"name\": \"initialize\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"name\": \"components\",\n                                  \"status\": \"PENDING\",\n                                  \"steps\": [\n                                    {\n                                      \"component_name\": \"web\",\n                                      \"name\": \"web\",\n                                      \"status\": \"PENDING\",\n                                      \"steps\": [\n                                        {\n                                          \"component_name\": \"web\",\n                                          \"message_base\": \"Deploying service\",\n                                          \"name\": \"deploy\",\n                                          \"status\": \"PENDING\"\n                                        },\n                                        {\n                                          \"component_name\": \"web\",\n                                          \"message_base\": \"Waiting for service\",\n                                          \"name\": \"wait\",\n                                          \"status\": \"PENDING\"\n                                        }\n                                      ]\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"name\": \"finalize\",\n                                  \"status\": \"PENDING\"\n                                }\n                              ]\n                            }\n                          ],\n                          \"total_steps\": 6\n                        },\n                        \"services\": [\n                          {\n                            \"name\": \"web\",\n                            \"source_commit_hash\": \"9a4df0b8e161e323bc3cdf1dc71878080fe144fa\"\n                          }\n                        ],\n                        \"spec\": {\n                          \"name\": \"sample-golang\",\n                          \"region\": \"ams\",\n                          \"services\": [\n                            {\n                              \"environment_slug\": \"go\",\n                              \"github\": {\n                                \"branch\": \"branch\",\n                                \"repo\": \"digitalocean/sample-golang\"\n                              },\n                              \"instance_count\": 2,\n                              \"instance_size_slug\": \"basic-xxs\",\n                              \"name\": \"web\",\n                              \"routes\": [\n                                {\n                                  \"path\": \"/\"\n                                }\n                              ],\n                              \"run_command\": \"bin/sample-golang\"\n                            }\n                          ]\n                        },\n                        \"tier_slug\": \"basic\",\n                        \"updated_at\": \"2020-07-28T18:00:00Z\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"deployment\": {\n                      \"properties\": {\n                        \"cause\": {\n                          \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                          \"title\": \"What caused this deployment to be created\",\n                          \"type\": \"string\"\n                        },\n                        \"cloned_from\": {\n                          \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                          \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"example\": \"2020-07-28T18:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"The creation time of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"functions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"my-functions-component\",\n                                \"title\": \"The name of this functions component\",\n                                \"type\": \"string\"\n                              },\n                              \"namespace\": {\n                                \"description\": \"The namespace where the functions are deployed.\",\n                                \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Functions components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"id\": {\n                          \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                          \"title\": \"The ID of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"jobs\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"migrate-db\",\n                                \"title\": \"The name of this job\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this job\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Job components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"phase\": {\n                          \"default\": \"UNKNOWN\",\n                          \"enum\": [\n                            \"UNKNOWN\",\n                            \"PENDING_BUILD\",\n                            \"BUILDING\",\n                            \"PENDING_DEPLOY\",\n                            \"DEPLOYING\",\n                            \"ACTIVE\",\n                            \"SUPERSEDED\",\n                            \"ERROR\",\n                            \"CANCELED\"\n                          ],\n                          \"example\": \"ACTIVE\",\n                          \"type\": \"string\"\n                        },\n                        \"phase_last_updated_at\": {\n                          \"example\": \"0001-01-01T00:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"When the deployment phase was last updated\",\n                          \"type\": \"string\"\n                        },\n                        \"progress\": {\n                          \"properties\": {\n                            \"error_steps\": {\n                              \"example\": 3,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of unsuccessful steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"pending_steps\": {\n                              \"example\": 2,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of pending steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"running_steps\": {\n                              \"example\": 2,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of currently running steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"steps\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"component_name\": {\n                                    \"example\": \"component\",\n                                    \"title\": \"The component name that this step is associated with\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"ended_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The end time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"message_base\": {\n                                    \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                    \"example\": \"Building service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"example\": \"example_step\",\n                                    \"title\": \"The name of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"reason\": {\n                                    \"properties\": {\n                                      \"code\": {\n                                        \"example\": \"Title of Error\",\n                                        \"title\": \"The error code\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message\": {\n                                        \"example\": \"This is an error\",\n                                        \"title\": \"The error message\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"started_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The start time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING\",\n                                      \"RUNNING\",\n                                      \"ERROR\",\n                                      \"SUCCESS\"\n                                    ],\n                                    \"example\": \"SUCCESS\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Child steps of this step\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"The deployment's steps\",\n                              \"type\": \"array\"\n                            },\n                            \"success_steps\": {\n                              \"example\": 4,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of successful steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"summary_steps\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"component_name\": {\n                                    \"example\": \"component\",\n                                    \"title\": \"The component name that this step is associated with\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"ended_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The end time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"message_base\": {\n                                    \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                    \"example\": \"Building service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"example\": \"example_step\",\n                                    \"title\": \"The name of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"reason\": {\n                                    \"properties\": {\n                                      \"code\": {\n                                        \"example\": \"Title of Error\",\n                                        \"title\": \"The error code\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message\": {\n                                        \"example\": \"This is an error\",\n                                        \"title\": \"The error message\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"started_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The start time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING\",\n                                      \"RUNNING\",\n                                      \"ERROR\",\n                                      \"SUCCESS\"\n                                    ],\n                                    \"example\": \"SUCCESS\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Child steps of this step\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"A flattened summary of the steps\",\n                              \"type\": \"array\"\n                            },\n                            \"total_steps\": {\n                              \"example\": 5,\n                              \"format\": \"int32\",\n                              \"title\": \"Total number of steps\",\n                              \"type\": \"integer\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"services\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"web\",\n                                \"title\": \"The name of this service\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this service\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Service components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"spec\": {\n                          \"description\": \"The desired configuration of an application.\",\n                          \"properties\": {\n                            \"databases\": {\n                              \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"cluster_name\": {\n                                    \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                    \"example\": \"cluster_name\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_name\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                    \"example\": \"my_db\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_user\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                    \"example\": \"superuser\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"engine\": {\n                                    \"default\": \"UNSET\",\n                                    \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                    \"enum\": [\n                                      \"UNSET\",\n                                      \"MYSQL\",\n                                      \"PG\",\n                                      \"REDIS\"\n                                    ],\n                                    \"example\": \"PG\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"prod-db\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"production\": {\n                                    \"description\": \"Whether this is a production or dev database.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"version\": {\n                                    \"description\": \"The version of the database engine\",\n                                    \"example\": \"12\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"domains\": {\n                              \"description\": \"A set of hostnames where the application will be available.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"domain\": {\n                                    \"description\": \"The hostname for the domain\",\n                                    \"example\": \"app.example.com\",\n                                    \"maxLength\": 253,\n                                    \"minLength\": 4,\n                                    \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"minimum_tls_version\": {\n                                    \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                    \"enum\": [\n                                      \"1.2\",\n                                      \"1.3\"\n                                    ],\n                                    \"example\": \"1.3\",\n                                    \"maxLength\": 3,\n                                    \"minLength\": 3,\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"UNSPECIFIED\",\n                                    \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED\",\n                                      \"DEFAULT\",\n                                      \"PRIMARY\",\n                                      \"ALIAS\"\n                                    ],\n                                    \"example\": \"DEFAULT\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"wildcard\": {\n                                    \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"zone\": {\n                                    \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                    \"example\": \"example.com\",\n                                    \"format\": \"hostname\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"domain\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"functions\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"alerts\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"disabled\": {\n                                          \"description\": \"Is the alert disabled?\",\n                                          \"example\": false,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"operator\": {\n                                          \"default\": \"UNSPECIFIED_OPERATOR\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_OPERATOR\",\n                                            \"GREATER_THAN\",\n                                            \"LESS_THAN\"\n                                          ],\n                                          \"example\": \"GREATER_THAN\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"rule\": {\n                                          \"default\": \"UNSPECIFIED_RULE\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_RULE\",\n                                            \"CPU_UTILIZATION\",\n                                            \"MEM_UTILIZATION\",\n                                            \"RESTART_COUNT\",\n                                            \"DEPLOYMENT_FAILED\",\n                                            \"DEPLOYMENT_LIVE\",\n                                            \"DOMAIN_FAILED\",\n                                            \"DOMAIN_LIVE\",\n                                            \"FUNCTIONS_ACTIVATION_COUNT\",\n                                            \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                            \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                            \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                            \"FUNCTIONS_ERROR_COUNT\",\n                                            \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                          ],\n                                          \"example\": \"CPU_UTILIZATION\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"Threshold value for alert\",\n                                          \"example\": 2.32,\n                                          \"format\": \"float\",\n                                          \"type\": \"number\"\n                                        },\n                                        \"window\": {\n                                          \"default\": \"UNSPECIFIED_WINDOW\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_WINDOW\",\n                                            \"FIVE_MINUTES\",\n                                            \"TEN_MINUTES\",\n                                            \"THIRTY_MINUTES\",\n                                            \"ONE_HOUR\"\n                                          ],\n                                          \"example\": \"FIVE_MINUTES\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"cors\": {\n                                    \"properties\": {\n                                      \"allow_credentials\": {\n                                        \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                        \"example\": false,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"allow_headers\": {\n                                        \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Type\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_methods\": {\n                                        \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                        \"example\": [\n                                          \"GET\",\n                                          \"OPTIONS\",\n                                          \"POST\",\n                                          \"PUT\",\n                                          \"PATCH\",\n                                          \"DELETE\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_origins\": {\n                                        \"description\": \"The set of allowed CORS origins.\",\n                                        \"example\": [\n                                          {\n                                            \"exact\": \"https://www.example.com\"\n                                          },\n                                          {\n                                            \"regex\": \"^.*example.com\"\n                                          }\n                                        ],\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"exact\": {\n                                              \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"prefix\": {\n                                              \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"regex\": {\n                                              \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                              \"example\": \"^.*example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"expose_headers\": {\n                                        \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Encoding\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"max_age\": {\n                                        \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                        \"example\": \"5h30m\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"envs\": {\n                                    \"description\": \"A list of environment variables made available to the component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"key\": {\n                                          \"description\": \"The variable name\",\n                                          \"example\": \"BASE_URL\",\n                                          \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"scope\": {\n                                          \"default\": \"RUN_AND_BUILD_TIME\",\n                                          \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"RUN_TIME\",\n                                            \"BUILD_TIME\",\n                                            \"RUN_AND_BUILD_TIME\"\n                                          ],\n                                          \"example\": \"BUILD_TIME\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"GENERAL\",\n                                          \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                          \"enum\": [\n                                            \"GENERAL\",\n                                            \"SECRET\"\n                                          ],\n                                          \"example\": \"GENERAL\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                          \"example\": \"http://example.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"git\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repo_clone_url\": {\n                                        \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                        \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"github\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"gitlab\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"log_destinations\": {\n                                    \"properties\": {\n                                      \"datadog\": {\n                                        \"description\": \"DataDog configuration.\",\n                                        \"properties\": {\n                                          \"api_key\": {\n                                            \"description\": \"Datadog API key.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"endpoint\": {\n                                            \"description\": \"Datadog HTTP log intake endpoint.\",\n                                            \"example\": \"https://mydatadogendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"api_key\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"logtail\": {\n                                        \"description\": \"Logtail configuration.\",\n                                        \"properties\": {\n                                          \"token\": {\n                                            \"description\": \"Logtail token.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"my_log_destination\",\n                                        \"maxLength\": 42,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"papertrail\": {\n                                        \"description\": \"Papertrail configuration.\",\n                                        \"properties\": {\n                                          \"endpoint\": {\n                                            \"description\": \"Papertrail syslog endpoint.\",\n                                            \"example\": \"https://mypapertrailendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"Configurations for external logging.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"api\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"routes\": {\n                                    \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"path\": {\n                                          \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                          \"example\": \"/api\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"preserve_path_prefix\": {\n                                          \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        }\n                                      },\n                                      \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"source_dir\": {\n                                    \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                    \"example\": \"path/to/dir\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"jobs\": {\n                              \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"kind\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"PRE_DEPLOY\",\n                                          \"POST_DEPLOY\",\n                                          \"FAILED_DEPLOY\"\n                                        ],\n                                        \"example\": \"PRE_DEPLOY\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                              \"example\": \"web-app-01\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                              \"enum\": [\n                                \"ams\",\n                                \"nyc\",\n                                \"fra\",\n                                \"sfo\",\n                                \"sgp\",\n                                \"blr\",\n                                \"tor\",\n                                \"lon\",\n                                \"syd\"\n                              ],\n                              \"example\": \"nyc\",\n                              \"type\": \"string\"\n                            },\n                            \"services\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"health_check\": {\n                                        \"properties\": {\n                                          \"failure_threshold\": {\n                                            \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                            \"example\": 2,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"http_path\": {\n                                            \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                            \"example\": \"/health\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"initial_delay_seconds\": {\n                                            \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                            \"example\": 30,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"period_seconds\": {\n                                            \"description\": \"The number of seconds to wait between health checks.\",\n                                            \"example\": 60,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"port\": {\n                                            \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                            \"example\": 80,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"success_threshold\": {\n                                            \"description\": \"The number of successful health checks before considered healthy.\",\n                                            \"example\": 3,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"timeout_seconds\": {\n                                            \"description\": \"The number of seconds after which the check times out.\",\n                                            \"example\": 45,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"http_port\": {\n                                        \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                        \"example\": 3000,\n                                        \"format\": \"int64\",\n                                        \"maximum\": 65535,\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"internal_ports\": {\n                                        \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                        \"example\": [\n                                          80,\n                                          443\n                                        ],\n                                        \"items\": {\n                                          \"format\": \"int64\",\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"static_sites\": {\n                              \"description\": \"Content which can be rendered to static web assets.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"catchall_document\": {\n                                        \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                        \"example\": \"index.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"error_document\": {\n                                        \"default\": \"404.html\",\n                                        \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                        \"example\": \"error.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"index_document\": {\n                                        \"default\": \"index.html\",\n                                        \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                        \"example\": \"main.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"output_dir\": {\n                                        \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                        \"example\": \"dist/\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"workers\": {\n                              \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"title\": \"AppSpec\",\n                          \"type\": \"object\"\n                        },\n                        \"static_sites\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"web\",\n                                \"title\": \"The name of this static site\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Static Site components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"tier_slug\": {\n                          \"example\": \"basic\",\n                          \"readOnly\": true,\n                          \"title\": \"The current pricing tier slug of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"example\": \"2020-07-28T18:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"When the deployment was last updated\",\n                          \"type\": \"string\"\n                        },\n                        \"workers\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"queue-runner\",\n                                \"title\": \"The name of this worker\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Worker components that are part of this deployment\",\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"title\": \"An app deployment\",\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a `deployment` key.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create an App Deployment\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/deployments\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/deployments/{deployment_id}\": {\n      \"get\": {\n        \"description\": \"Retrieve information about an app deployment.\",\n        \"operationId\": \"apps_get_deployment\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The deployment ID\",\n            \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n            \"in\": \"path\",\n            \"name\": \"deployment_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"deployment\": {\n                    \"value\": {\n                      \"deployment\": {\n                        \"cause\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                        \"created_at\": \"2020-07-28T18:00:00Z\",\n                        \"id\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                        \"phase\": \"PENDING_BUILD\",\n                        \"phase_last_updated_at\": \"0001-01-01T00:00:00Z\",\n                        \"progress\": {\n                          \"pending_steps\": 6,\n                          \"steps\": [\n                            {\n                              \"name\": \"build\",\n                              \"status\": \"PENDING\",\n                              \"steps\": [\n                                {\n                                  \"name\": \"initialize\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"name\": \"components\",\n                                  \"status\": \"PENDING\",\n                                  \"steps\": [\n                                    {\n                                      \"component_name\": \"web\",\n                                      \"message_base\": \"Building service\",\n                                      \"name\": \"web\",\n                                      \"status\": \"PENDING\"\n                                    }\n                                  ]\n                                }\n                              ]\n                            },\n                            {\n                              \"name\": \"deploy\",\n                              \"status\": \"PENDING\",\n                              \"steps\": [\n                                {\n                                  \"name\": \"initialize\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"name\": \"components\",\n                                  \"status\": \"PENDING\",\n                                  \"steps\": [\n                                    {\n                                      \"component_name\": \"web\",\n                                      \"name\": \"web\",\n                                      \"status\": \"PENDING\",\n                                      \"steps\": [\n                                        {\n                                          \"component_name\": \"web\",\n                                          \"message_base\": \"Deploying service\",\n                                          \"name\": \"deploy\",\n                                          \"status\": \"PENDING\"\n                                        },\n                                        {\n                                          \"component_name\": \"web\",\n                                          \"message_base\": \"Waiting for service\",\n                                          \"name\": \"wait\",\n                                          \"status\": \"PENDING\"\n                                        }\n                                      ]\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"name\": \"finalize\",\n                                  \"status\": \"PENDING\"\n                                }\n                              ]\n                            }\n                          ],\n                          \"total_steps\": 6\n                        },\n                        \"services\": [\n                          {\n                            \"name\": \"web\",\n                            \"source_commit_hash\": \"9a4df0b8e161e323bc3cdf1dc71878080fe144fa\"\n                          }\n                        ],\n                        \"spec\": {\n                          \"name\": \"sample-golang\",\n                          \"region\": \"ams\",\n                          \"services\": [\n                            {\n                              \"environment_slug\": \"go\",\n                              \"github\": {\n                                \"branch\": \"branch\",\n                                \"repo\": \"digitalocean/sample-golang\"\n                              },\n                              \"instance_count\": 2,\n                              \"instance_size_slug\": \"basic-xxs\",\n                              \"name\": \"web\",\n                              \"routes\": [\n                                {\n                                  \"path\": \"/\"\n                                }\n                              ],\n                              \"run_command\": \"bin/sample-golang\"\n                            }\n                          ]\n                        },\n                        \"tier_slug\": \"basic\",\n                        \"updated_at\": \"2020-07-28T18:00:00Z\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"deployment\": {\n                      \"properties\": {\n                        \"cause\": {\n                          \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                          \"title\": \"What caused this deployment to be created\",\n                          \"type\": \"string\"\n                        },\n                        \"cloned_from\": {\n                          \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                          \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"example\": \"2020-07-28T18:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"The creation time of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"functions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"my-functions-component\",\n                                \"title\": \"The name of this functions component\",\n                                \"type\": \"string\"\n                              },\n                              \"namespace\": {\n                                \"description\": \"The namespace where the functions are deployed.\",\n                                \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Functions components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"id\": {\n                          \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                          \"title\": \"The ID of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"jobs\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"migrate-db\",\n                                \"title\": \"The name of this job\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this job\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Job components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"phase\": {\n                          \"default\": \"UNKNOWN\",\n                          \"enum\": [\n                            \"UNKNOWN\",\n                            \"PENDING_BUILD\",\n                            \"BUILDING\",\n                            \"PENDING_DEPLOY\",\n                            \"DEPLOYING\",\n                            \"ACTIVE\",\n                            \"SUPERSEDED\",\n                            \"ERROR\",\n                            \"CANCELED\"\n                          ],\n                          \"example\": \"ACTIVE\",\n                          \"type\": \"string\"\n                        },\n                        \"phase_last_updated_at\": {\n                          \"example\": \"0001-01-01T00:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"When the deployment phase was last updated\",\n                          \"type\": \"string\"\n                        },\n                        \"progress\": {\n                          \"properties\": {\n                            \"error_steps\": {\n                              \"example\": 3,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of unsuccessful steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"pending_steps\": {\n                              \"example\": 2,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of pending steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"running_steps\": {\n                              \"example\": 2,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of currently running steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"steps\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"component_name\": {\n                                    \"example\": \"component\",\n                                    \"title\": \"The component name that this step is associated with\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"ended_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The end time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"message_base\": {\n                                    \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                    \"example\": \"Building service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"example\": \"example_step\",\n                                    \"title\": \"The name of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"reason\": {\n                                    \"properties\": {\n                                      \"code\": {\n                                        \"example\": \"Title of Error\",\n                                        \"title\": \"The error code\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message\": {\n                                        \"example\": \"This is an error\",\n                                        \"title\": \"The error message\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"started_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The start time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING\",\n                                      \"RUNNING\",\n                                      \"ERROR\",\n                                      \"SUCCESS\"\n                                    ],\n                                    \"example\": \"SUCCESS\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Child steps of this step\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"The deployment's steps\",\n                              \"type\": \"array\"\n                            },\n                            \"success_steps\": {\n                              \"example\": 4,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of successful steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"summary_steps\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"component_name\": {\n                                    \"example\": \"component\",\n                                    \"title\": \"The component name that this step is associated with\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"ended_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The end time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"message_base\": {\n                                    \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                    \"example\": \"Building service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"example\": \"example_step\",\n                                    \"title\": \"The name of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"reason\": {\n                                    \"properties\": {\n                                      \"code\": {\n                                        \"example\": \"Title of Error\",\n                                        \"title\": \"The error code\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message\": {\n                                        \"example\": \"This is an error\",\n                                        \"title\": \"The error message\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"started_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The start time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING\",\n                                      \"RUNNING\",\n                                      \"ERROR\",\n                                      \"SUCCESS\"\n                                    ],\n                                    \"example\": \"SUCCESS\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Child steps of this step\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"A flattened summary of the steps\",\n                              \"type\": \"array\"\n                            },\n                            \"total_steps\": {\n                              \"example\": 5,\n                              \"format\": \"int32\",\n                              \"title\": \"Total number of steps\",\n                              \"type\": \"integer\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"services\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"web\",\n                                \"title\": \"The name of this service\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this service\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Service components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"spec\": {\n                          \"description\": \"The desired configuration of an application.\",\n                          \"properties\": {\n                            \"databases\": {\n                              \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"cluster_name\": {\n                                    \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                    \"example\": \"cluster_name\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_name\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                    \"example\": \"my_db\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_user\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                    \"example\": \"superuser\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"engine\": {\n                                    \"default\": \"UNSET\",\n                                    \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                    \"enum\": [\n                                      \"UNSET\",\n                                      \"MYSQL\",\n                                      \"PG\",\n                                      \"REDIS\"\n                                    ],\n                                    \"example\": \"PG\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"prod-db\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"production\": {\n                                    \"description\": \"Whether this is a production or dev database.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"version\": {\n                                    \"description\": \"The version of the database engine\",\n                                    \"example\": \"12\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"domains\": {\n                              \"description\": \"A set of hostnames where the application will be available.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"domain\": {\n                                    \"description\": \"The hostname for the domain\",\n                                    \"example\": \"app.example.com\",\n                                    \"maxLength\": 253,\n                                    \"minLength\": 4,\n                                    \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"minimum_tls_version\": {\n                                    \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                    \"enum\": [\n                                      \"1.2\",\n                                      \"1.3\"\n                                    ],\n                                    \"example\": \"1.3\",\n                                    \"maxLength\": 3,\n                                    \"minLength\": 3,\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"UNSPECIFIED\",\n                                    \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED\",\n                                      \"DEFAULT\",\n                                      \"PRIMARY\",\n                                      \"ALIAS\"\n                                    ],\n                                    \"example\": \"DEFAULT\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"wildcard\": {\n                                    \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"zone\": {\n                                    \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                    \"example\": \"example.com\",\n                                    \"format\": \"hostname\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"domain\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"functions\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"alerts\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"disabled\": {\n                                          \"description\": \"Is the alert disabled?\",\n                                          \"example\": false,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"operator\": {\n                                          \"default\": \"UNSPECIFIED_OPERATOR\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_OPERATOR\",\n                                            \"GREATER_THAN\",\n                                            \"LESS_THAN\"\n                                          ],\n                                          \"example\": \"GREATER_THAN\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"rule\": {\n                                          \"default\": \"UNSPECIFIED_RULE\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_RULE\",\n                                            \"CPU_UTILIZATION\",\n                                            \"MEM_UTILIZATION\",\n                                            \"RESTART_COUNT\",\n                                            \"DEPLOYMENT_FAILED\",\n                                            \"DEPLOYMENT_LIVE\",\n                                            \"DOMAIN_FAILED\",\n                                            \"DOMAIN_LIVE\",\n                                            \"FUNCTIONS_ACTIVATION_COUNT\",\n                                            \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                            \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                            \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                            \"FUNCTIONS_ERROR_COUNT\",\n                                            \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                          ],\n                                          \"example\": \"CPU_UTILIZATION\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"Threshold value for alert\",\n                                          \"example\": 2.32,\n                                          \"format\": \"float\",\n                                          \"type\": \"number\"\n                                        },\n                                        \"window\": {\n                                          \"default\": \"UNSPECIFIED_WINDOW\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_WINDOW\",\n                                            \"FIVE_MINUTES\",\n                                            \"TEN_MINUTES\",\n                                            \"THIRTY_MINUTES\",\n                                            \"ONE_HOUR\"\n                                          ],\n                                          \"example\": \"FIVE_MINUTES\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"cors\": {\n                                    \"properties\": {\n                                      \"allow_credentials\": {\n                                        \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                        \"example\": false,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"allow_headers\": {\n                                        \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Type\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_methods\": {\n                                        \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                        \"example\": [\n                                          \"GET\",\n                                          \"OPTIONS\",\n                                          \"POST\",\n                                          \"PUT\",\n                                          \"PATCH\",\n                                          \"DELETE\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_origins\": {\n                                        \"description\": \"The set of allowed CORS origins.\",\n                                        \"example\": [\n                                          {\n                                            \"exact\": \"https://www.example.com\"\n                                          },\n                                          {\n                                            \"regex\": \"^.*example.com\"\n                                          }\n                                        ],\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"exact\": {\n                                              \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"prefix\": {\n                                              \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"regex\": {\n                                              \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                              \"example\": \"^.*example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"expose_headers\": {\n                                        \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Encoding\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"max_age\": {\n                                        \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                        \"example\": \"5h30m\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"envs\": {\n                                    \"description\": \"A list of environment variables made available to the component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"key\": {\n                                          \"description\": \"The variable name\",\n                                          \"example\": \"BASE_URL\",\n                                          \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"scope\": {\n                                          \"default\": \"RUN_AND_BUILD_TIME\",\n                                          \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"RUN_TIME\",\n                                            \"BUILD_TIME\",\n                                            \"RUN_AND_BUILD_TIME\"\n                                          ],\n                                          \"example\": \"BUILD_TIME\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"GENERAL\",\n                                          \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                          \"enum\": [\n                                            \"GENERAL\",\n                                            \"SECRET\"\n                                          ],\n                                          \"example\": \"GENERAL\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                          \"example\": \"http://example.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"git\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repo_clone_url\": {\n                                        \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                        \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"github\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"gitlab\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"log_destinations\": {\n                                    \"properties\": {\n                                      \"datadog\": {\n                                        \"description\": \"DataDog configuration.\",\n                                        \"properties\": {\n                                          \"api_key\": {\n                                            \"description\": \"Datadog API key.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"endpoint\": {\n                                            \"description\": \"Datadog HTTP log intake endpoint.\",\n                                            \"example\": \"https://mydatadogendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"api_key\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"logtail\": {\n                                        \"description\": \"Logtail configuration.\",\n                                        \"properties\": {\n                                          \"token\": {\n                                            \"description\": \"Logtail token.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"my_log_destination\",\n                                        \"maxLength\": 42,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"papertrail\": {\n                                        \"description\": \"Papertrail configuration.\",\n                                        \"properties\": {\n                                          \"endpoint\": {\n                                            \"description\": \"Papertrail syslog endpoint.\",\n                                            \"example\": \"https://mypapertrailendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"Configurations for external logging.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"api\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"routes\": {\n                                    \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"path\": {\n                                          \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                          \"example\": \"/api\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"preserve_path_prefix\": {\n                                          \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        }\n                                      },\n                                      \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"source_dir\": {\n                                    \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                    \"example\": \"path/to/dir\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"jobs\": {\n                              \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"kind\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"PRE_DEPLOY\",\n                                          \"POST_DEPLOY\",\n                                          \"FAILED_DEPLOY\"\n                                        ],\n                                        \"example\": \"PRE_DEPLOY\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                              \"example\": \"web-app-01\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                              \"enum\": [\n                                \"ams\",\n                                \"nyc\",\n                                \"fra\",\n                                \"sfo\",\n                                \"sgp\",\n                                \"blr\",\n                                \"tor\",\n                                \"lon\",\n                                \"syd\"\n                              ],\n                              \"example\": \"nyc\",\n                              \"type\": \"string\"\n                            },\n                            \"services\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"health_check\": {\n                                        \"properties\": {\n                                          \"failure_threshold\": {\n                                            \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                            \"example\": 2,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"http_path\": {\n                                            \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                            \"example\": \"/health\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"initial_delay_seconds\": {\n                                            \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                            \"example\": 30,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"period_seconds\": {\n                                            \"description\": \"The number of seconds to wait between health checks.\",\n                                            \"example\": 60,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"port\": {\n                                            \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                            \"example\": 80,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"success_threshold\": {\n                                            \"description\": \"The number of successful health checks before considered healthy.\",\n                                            \"example\": 3,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"timeout_seconds\": {\n                                            \"description\": \"The number of seconds after which the check times out.\",\n                                            \"example\": 45,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"http_port\": {\n                                        \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                        \"example\": 3000,\n                                        \"format\": \"int64\",\n                                        \"maximum\": 65535,\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"internal_ports\": {\n                                        \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                        \"example\": [\n                                          80,\n                                          443\n                                        ],\n                                        \"items\": {\n                                          \"format\": \"int64\",\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"static_sites\": {\n                              \"description\": \"Content which can be rendered to static web assets.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"catchall_document\": {\n                                        \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                        \"example\": \"index.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"error_document\": {\n                                        \"default\": \"404.html\",\n                                        \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                        \"example\": \"error.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"index_document\": {\n                                        \"default\": \"index.html\",\n                                        \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                        \"example\": \"main.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"output_dir\": {\n                                        \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                        \"example\": \"dist/\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"workers\": {\n                              \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"title\": \"AppSpec\",\n                          \"type\": \"object\"\n                        },\n                        \"static_sites\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"web\",\n                                \"title\": \"The name of this static site\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Static Site components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"tier_slug\": {\n                          \"example\": \"basic\",\n                          \"readOnly\": true,\n                          \"title\": \"The current pricing tier slug of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"example\": \"2020-07-28T18:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"When the deployment was last updated\",\n                          \"type\": \"string\"\n                        },\n                        \"workers\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"queue-runner\",\n                                \"title\": \"The name of this worker\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Worker components that are part of this deployment\",\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"title\": \"An app deployment\",\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON of the requested deployment\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an App Deployment\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/deployments/{deployment_id}\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/deployments/{deployment_id}/cancel\": {\n      \"post\": {\n        \"description\": \"Immediately cancel an in-progress deployment.\",\n        \"operationId\": \"apps_cancel_deployment\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The deployment ID\",\n            \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n            \"in\": \"path\",\n            \"name\": \"deployment_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"deployment\": {\n                    \"value\": {\n                      \"deployment\": {\n                        \"cause\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                        \"created_at\": \"2020-07-28T18:00:00Z\",\n                        \"id\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                        \"phase\": \"PENDING_BUILD\",\n                        \"phase_last_updated_at\": \"0001-01-01T00:00:00Z\",\n                        \"progress\": {\n                          \"pending_steps\": 6,\n                          \"steps\": [\n                            {\n                              \"name\": \"build\",\n                              \"status\": \"PENDING\",\n                              \"steps\": [\n                                {\n                                  \"name\": \"initialize\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"name\": \"components\",\n                                  \"status\": \"PENDING\",\n                                  \"steps\": [\n                                    {\n                                      \"component_name\": \"web\",\n                                      \"message_base\": \"Building service\",\n                                      \"name\": \"web\",\n                                      \"status\": \"PENDING\"\n                                    }\n                                  ]\n                                }\n                              ]\n                            },\n                            {\n                              \"name\": \"deploy\",\n                              \"status\": \"PENDING\",\n                              \"steps\": [\n                                {\n                                  \"name\": \"initialize\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"name\": \"components\",\n                                  \"status\": \"PENDING\",\n                                  \"steps\": [\n                                    {\n                                      \"component_name\": \"web\",\n                                      \"name\": \"web\",\n                                      \"status\": \"PENDING\",\n                                      \"steps\": [\n                                        {\n                                          \"component_name\": \"web\",\n                                          \"message_base\": \"Deploying service\",\n                                          \"name\": \"deploy\",\n                                          \"status\": \"PENDING\"\n                                        },\n                                        {\n                                          \"component_name\": \"web\",\n                                          \"message_base\": \"Waiting for service\",\n                                          \"name\": \"wait\",\n                                          \"status\": \"PENDING\"\n                                        }\n                                      ]\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"name\": \"finalize\",\n                                  \"status\": \"PENDING\"\n                                }\n                              ]\n                            }\n                          ],\n                          \"total_steps\": 6\n                        },\n                        \"services\": [\n                          {\n                            \"name\": \"web\",\n                            \"source_commit_hash\": \"9a4df0b8e161e323bc3cdf1dc71878080fe144fa\"\n                          }\n                        ],\n                        \"spec\": {\n                          \"name\": \"sample-golang\",\n                          \"region\": \"ams\",\n                          \"services\": [\n                            {\n                              \"environment_slug\": \"go\",\n                              \"github\": {\n                                \"branch\": \"branch\",\n                                \"repo\": \"digitalocean/sample-golang\"\n                              },\n                              \"instance_count\": 2,\n                              \"instance_size_slug\": \"basic-xxs\",\n                              \"name\": \"web\",\n                              \"routes\": [\n                                {\n                                  \"path\": \"/\"\n                                }\n                              ],\n                              \"run_command\": \"bin/sample-golang\"\n                            }\n                          ]\n                        },\n                        \"tier_slug\": \"basic\",\n                        \"updated_at\": \"2020-07-28T18:00:00Z\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"deployment\": {\n                      \"properties\": {\n                        \"cause\": {\n                          \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                          \"title\": \"What caused this deployment to be created\",\n                          \"type\": \"string\"\n                        },\n                        \"cloned_from\": {\n                          \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                          \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"example\": \"2020-07-28T18:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"The creation time of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"functions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"my-functions-component\",\n                                \"title\": \"The name of this functions component\",\n                                \"type\": \"string\"\n                              },\n                              \"namespace\": {\n                                \"description\": \"The namespace where the functions are deployed.\",\n                                \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Functions components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"id\": {\n                          \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                          \"title\": \"The ID of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"jobs\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"migrate-db\",\n                                \"title\": \"The name of this job\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this job\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Job components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"phase\": {\n                          \"default\": \"UNKNOWN\",\n                          \"enum\": [\n                            \"UNKNOWN\",\n                            \"PENDING_BUILD\",\n                            \"BUILDING\",\n                            \"PENDING_DEPLOY\",\n                            \"DEPLOYING\",\n                            \"ACTIVE\",\n                            \"SUPERSEDED\",\n                            \"ERROR\",\n                            \"CANCELED\"\n                          ],\n                          \"example\": \"ACTIVE\",\n                          \"type\": \"string\"\n                        },\n                        \"phase_last_updated_at\": {\n                          \"example\": \"0001-01-01T00:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"When the deployment phase was last updated\",\n                          \"type\": \"string\"\n                        },\n                        \"progress\": {\n                          \"properties\": {\n                            \"error_steps\": {\n                              \"example\": 3,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of unsuccessful steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"pending_steps\": {\n                              \"example\": 2,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of pending steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"running_steps\": {\n                              \"example\": 2,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of currently running steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"steps\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"component_name\": {\n                                    \"example\": \"component\",\n                                    \"title\": \"The component name that this step is associated with\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"ended_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The end time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"message_base\": {\n                                    \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                    \"example\": \"Building service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"example\": \"example_step\",\n                                    \"title\": \"The name of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"reason\": {\n                                    \"properties\": {\n                                      \"code\": {\n                                        \"example\": \"Title of Error\",\n                                        \"title\": \"The error code\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message\": {\n                                        \"example\": \"This is an error\",\n                                        \"title\": \"The error message\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"started_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The start time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING\",\n                                      \"RUNNING\",\n                                      \"ERROR\",\n                                      \"SUCCESS\"\n                                    ],\n                                    \"example\": \"SUCCESS\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Child steps of this step\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"The deployment's steps\",\n                              \"type\": \"array\"\n                            },\n                            \"success_steps\": {\n                              \"example\": 4,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of successful steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"summary_steps\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"component_name\": {\n                                    \"example\": \"component\",\n                                    \"title\": \"The component name that this step is associated with\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"ended_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The end time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"message_base\": {\n                                    \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                    \"example\": \"Building service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"example\": \"example_step\",\n                                    \"title\": \"The name of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"reason\": {\n                                    \"properties\": {\n                                      \"code\": {\n                                        \"example\": \"Title of Error\",\n                                        \"title\": \"The error code\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message\": {\n                                        \"example\": \"This is an error\",\n                                        \"title\": \"The error message\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"started_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The start time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING\",\n                                      \"RUNNING\",\n                                      \"ERROR\",\n                                      \"SUCCESS\"\n                                    ],\n                                    \"example\": \"SUCCESS\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Child steps of this step\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"A flattened summary of the steps\",\n                              \"type\": \"array\"\n                            },\n                            \"total_steps\": {\n                              \"example\": 5,\n                              \"format\": \"int32\",\n                              \"title\": \"Total number of steps\",\n                              \"type\": \"integer\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"services\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"web\",\n                                \"title\": \"The name of this service\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this service\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Service components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"spec\": {\n                          \"description\": \"The desired configuration of an application.\",\n                          \"properties\": {\n                            \"databases\": {\n                              \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"cluster_name\": {\n                                    \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                    \"example\": \"cluster_name\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_name\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                    \"example\": \"my_db\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_user\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                    \"example\": \"superuser\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"engine\": {\n                                    \"default\": \"UNSET\",\n                                    \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                    \"enum\": [\n                                      \"UNSET\",\n                                      \"MYSQL\",\n                                      \"PG\",\n                                      \"REDIS\"\n                                    ],\n                                    \"example\": \"PG\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"prod-db\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"production\": {\n                                    \"description\": \"Whether this is a production or dev database.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"version\": {\n                                    \"description\": \"The version of the database engine\",\n                                    \"example\": \"12\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"domains\": {\n                              \"description\": \"A set of hostnames where the application will be available.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"domain\": {\n                                    \"description\": \"The hostname for the domain\",\n                                    \"example\": \"app.example.com\",\n                                    \"maxLength\": 253,\n                                    \"minLength\": 4,\n                                    \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"minimum_tls_version\": {\n                                    \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                    \"enum\": [\n                                      \"1.2\",\n                                      \"1.3\"\n                                    ],\n                                    \"example\": \"1.3\",\n                                    \"maxLength\": 3,\n                                    \"minLength\": 3,\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"UNSPECIFIED\",\n                                    \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED\",\n                                      \"DEFAULT\",\n                                      \"PRIMARY\",\n                                      \"ALIAS\"\n                                    ],\n                                    \"example\": \"DEFAULT\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"wildcard\": {\n                                    \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"zone\": {\n                                    \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                    \"example\": \"example.com\",\n                                    \"format\": \"hostname\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"domain\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"functions\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"alerts\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"disabled\": {\n                                          \"description\": \"Is the alert disabled?\",\n                                          \"example\": false,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"operator\": {\n                                          \"default\": \"UNSPECIFIED_OPERATOR\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_OPERATOR\",\n                                            \"GREATER_THAN\",\n                                            \"LESS_THAN\"\n                                          ],\n                                          \"example\": \"GREATER_THAN\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"rule\": {\n                                          \"default\": \"UNSPECIFIED_RULE\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_RULE\",\n                                            \"CPU_UTILIZATION\",\n                                            \"MEM_UTILIZATION\",\n                                            \"RESTART_COUNT\",\n                                            \"DEPLOYMENT_FAILED\",\n                                            \"DEPLOYMENT_LIVE\",\n                                            \"DOMAIN_FAILED\",\n                                            \"DOMAIN_LIVE\",\n                                            \"FUNCTIONS_ACTIVATION_COUNT\",\n                                            \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                            \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                            \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                            \"FUNCTIONS_ERROR_COUNT\",\n                                            \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                          ],\n                                          \"example\": \"CPU_UTILIZATION\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"Threshold value for alert\",\n                                          \"example\": 2.32,\n                                          \"format\": \"float\",\n                                          \"type\": \"number\"\n                                        },\n                                        \"window\": {\n                                          \"default\": \"UNSPECIFIED_WINDOW\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_WINDOW\",\n                                            \"FIVE_MINUTES\",\n                                            \"TEN_MINUTES\",\n                                            \"THIRTY_MINUTES\",\n                                            \"ONE_HOUR\"\n                                          ],\n                                          \"example\": \"FIVE_MINUTES\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"cors\": {\n                                    \"properties\": {\n                                      \"allow_credentials\": {\n                                        \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                        \"example\": false,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"allow_headers\": {\n                                        \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Type\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_methods\": {\n                                        \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                        \"example\": [\n                                          \"GET\",\n                                          \"OPTIONS\",\n                                          \"POST\",\n                                          \"PUT\",\n                                          \"PATCH\",\n                                          \"DELETE\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_origins\": {\n                                        \"description\": \"The set of allowed CORS origins.\",\n                                        \"example\": [\n                                          {\n                                            \"exact\": \"https://www.example.com\"\n                                          },\n                                          {\n                                            \"regex\": \"^.*example.com\"\n                                          }\n                                        ],\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"exact\": {\n                                              \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"prefix\": {\n                                              \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"regex\": {\n                                              \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                              \"example\": \"^.*example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"expose_headers\": {\n                                        \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Encoding\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"max_age\": {\n                                        \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                        \"example\": \"5h30m\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"envs\": {\n                                    \"description\": \"A list of environment variables made available to the component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"key\": {\n                                          \"description\": \"The variable name\",\n                                          \"example\": \"BASE_URL\",\n                                          \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"scope\": {\n                                          \"default\": \"RUN_AND_BUILD_TIME\",\n                                          \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"RUN_TIME\",\n                                            \"BUILD_TIME\",\n                                            \"RUN_AND_BUILD_TIME\"\n                                          ],\n                                          \"example\": \"BUILD_TIME\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"GENERAL\",\n                                          \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                          \"enum\": [\n                                            \"GENERAL\",\n                                            \"SECRET\"\n                                          ],\n                                          \"example\": \"GENERAL\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                          \"example\": \"http://example.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"git\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repo_clone_url\": {\n                                        \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                        \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"github\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"gitlab\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"log_destinations\": {\n                                    \"properties\": {\n                                      \"datadog\": {\n                                        \"description\": \"DataDog configuration.\",\n                                        \"properties\": {\n                                          \"api_key\": {\n                                            \"description\": \"Datadog API key.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"endpoint\": {\n                                            \"description\": \"Datadog HTTP log intake endpoint.\",\n                                            \"example\": \"https://mydatadogendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"api_key\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"logtail\": {\n                                        \"description\": \"Logtail configuration.\",\n                                        \"properties\": {\n                                          \"token\": {\n                                            \"description\": \"Logtail token.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"my_log_destination\",\n                                        \"maxLength\": 42,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"papertrail\": {\n                                        \"description\": \"Papertrail configuration.\",\n                                        \"properties\": {\n                                          \"endpoint\": {\n                                            \"description\": \"Papertrail syslog endpoint.\",\n                                            \"example\": \"https://mypapertrailendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"Configurations for external logging.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"api\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"routes\": {\n                                    \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"path\": {\n                                          \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                          \"example\": \"/api\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"preserve_path_prefix\": {\n                                          \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        }\n                                      },\n                                      \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"source_dir\": {\n                                    \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                    \"example\": \"path/to/dir\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"jobs\": {\n                              \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"kind\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"PRE_DEPLOY\",\n                                          \"POST_DEPLOY\",\n                                          \"FAILED_DEPLOY\"\n                                        ],\n                                        \"example\": \"PRE_DEPLOY\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                              \"example\": \"web-app-01\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                              \"enum\": [\n                                \"ams\",\n                                \"nyc\",\n                                \"fra\",\n                                \"sfo\",\n                                \"sgp\",\n                                \"blr\",\n                                \"tor\",\n                                \"lon\",\n                                \"syd\"\n                              ],\n                              \"example\": \"nyc\",\n                              \"type\": \"string\"\n                            },\n                            \"services\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"health_check\": {\n                                        \"properties\": {\n                                          \"failure_threshold\": {\n                                            \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                            \"example\": 2,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"http_path\": {\n                                            \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                            \"example\": \"/health\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"initial_delay_seconds\": {\n                                            \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                            \"example\": 30,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"period_seconds\": {\n                                            \"description\": \"The number of seconds to wait between health checks.\",\n                                            \"example\": 60,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"port\": {\n                                            \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                            \"example\": 80,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"success_threshold\": {\n                                            \"description\": \"The number of successful health checks before considered healthy.\",\n                                            \"example\": 3,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"timeout_seconds\": {\n                                            \"description\": \"The number of seconds after which the check times out.\",\n                                            \"example\": 45,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"http_port\": {\n                                        \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                        \"example\": 3000,\n                                        \"format\": \"int64\",\n                                        \"maximum\": 65535,\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"internal_ports\": {\n                                        \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                        \"example\": [\n                                          80,\n                                          443\n                                        ],\n                                        \"items\": {\n                                          \"format\": \"int64\",\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"static_sites\": {\n                              \"description\": \"Content which can be rendered to static web assets.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"catchall_document\": {\n                                        \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                        \"example\": \"index.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"error_document\": {\n                                        \"default\": \"404.html\",\n                                        \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                        \"example\": \"error.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"index_document\": {\n                                        \"default\": \"index.html\",\n                                        \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                        \"example\": \"main.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"output_dir\": {\n                                        \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                        \"example\": \"dist/\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"workers\": {\n                              \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"title\": \"AppSpec\",\n                          \"type\": \"object\"\n                        },\n                        \"static_sites\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"web\",\n                                \"title\": \"The name of this static site\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Static Site components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"tier_slug\": {\n                          \"example\": \"basic\",\n                          \"readOnly\": true,\n                          \"title\": \"The current pricing tier slug of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"example\": \"2020-07-28T18:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"When the deployment was last updated\",\n                          \"type\": \"string\"\n                        },\n                        \"workers\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"queue-runner\",\n                                \"title\": \"The name of this worker\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Worker components that are part of this deployment\",\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"title\": \"An app deployment\",\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON the `deployment` that was just cancelled.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Cancel a Deployment\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/deployments/{deployment_id}/cancel\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs\": {\n      \"get\": {\n        \"description\": \"Retrieve the logs of a past, in-progress, or active deployment. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment.\",\n        \"operationId\": \"apps_get_logs\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The deployment ID\",\n            \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n            \"in\": \"path\",\n            \"name\": \"deployment_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An optional component name. If set, logs will be limited to this component only.\",\n            \"example\": \"component\",\n            \"in\": \"path\",\n            \"name\": \"component_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Whether the logs should follow live updates.\",\n            \"example\": true,\n            \"in\": \"query\",\n            \"name\": \"follow\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"description\": \"The type of logs to retrieve\\n- BUILD: Build-time logs\\n- DEPLOY: Deploy-time logs\\n- RUN: Live run-time logs\",\n            \"example\": \"BUILD\",\n            \"in\": \"query\",\n            \"name\": \"type\",\n            \"required\": true,\n            \"schema\": {\n              \"default\": \"UNSPECIFIED\",\n              \"enum\": [\n                \"UNSPECIFIED\",\n                \"BUILD\",\n                \"DEPLOY\",\n                \"RUN\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An optional time duration to wait if the underlying component instance is not immediately available. Default: `3m`.\",\n            \"example\": \"3m\",\n            \"in\": \"query\",\n            \"name\": \"pod_connection_timeout\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"logs\": {\n                    \"value\": {\n                      \"historic_logs\": [\n                        \"https://logs-example/archive/build.log\"\n                      ],\n                      \"live_url\": \"https://logs-example/build.log\",\n                      \"url\": \"https://logs/build.log\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"historic_urls\": {\n                      \"items\": {\n                        \"example\": \"https://logs/build.log\",\n                        \"type\": \"string\"\n                      },\n                      \"title\": \"A list of URLs to archived log files\",\n                      \"type\": \"array\"\n                    },\n                    \"live_url\": {\n                      \"description\": \"A URL of the real-time live logs. This URL may use either the `https://` or `wss://` protocols and will keep pushing live logs as they become available.\",\n                      \"example\": \"ws://logs/build\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with urls that point to archived logs\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve Deployment Logs\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/deployments/{deployment_id}/logs\": {\n      \"get\": {\n        \"description\": \"Retrieve the logs of a past, in-progress, or active deployment. If a component name is specified, the logs will be limited to only that component. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment.\",\n        \"operationId\": \"apps_get_logs_aggregate\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The deployment ID\",\n            \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n            \"in\": \"path\",\n            \"name\": \"deployment_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Whether the logs should follow live updates.\",\n            \"example\": true,\n            \"in\": \"query\",\n            \"name\": \"follow\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"description\": \"The type of logs to retrieve\\n- BUILD: Build-time logs\\n- DEPLOY: Deploy-time logs\\n- RUN: Live run-time logs\",\n            \"example\": \"BUILD\",\n            \"in\": \"query\",\n            \"name\": \"type\",\n            \"required\": true,\n            \"schema\": {\n              \"default\": \"UNSPECIFIED\",\n              \"enum\": [\n                \"UNSPECIFIED\",\n                \"BUILD\",\n                \"DEPLOY\",\n                \"RUN\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An optional time duration to wait if the underlying component instance is not immediately available. Default: `3m`.\",\n            \"example\": \"3m\",\n            \"in\": \"query\",\n            \"name\": \"pod_connection_timeout\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"logs\": {\n                    \"value\": {\n                      \"historic_logs\": [\n                        \"https://logs-example/archive/build.log\"\n                      ],\n                      \"live_url\": \"https://logs-example/build.log\",\n                      \"url\": \"https://logs/build.log\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"historic_urls\": {\n                      \"items\": {\n                        \"example\": \"https://logs/build.log\",\n                        \"type\": \"string\"\n                      },\n                      \"title\": \"A list of URLs to archived log files\",\n                      \"type\": \"array\"\n                    },\n                    \"live_url\": {\n                      \"description\": \"A URL of the real-time live logs. This URL may use either the `https://` or `wss://` protocols and will keep pushing live logs as they become available.\",\n                      \"example\": \"ws://logs/build\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with urls that point to archived logs\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve Aggregate Deployment Logs\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/deployments/{deployment_id}/logs\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/logs\": {\n      \"get\": {\n        \"description\": \"Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id.\",\n        \"operationId\": \"apps_get_logs_active_deployment_aggregate\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Whether the logs should follow live updates.\",\n            \"example\": true,\n            \"in\": \"query\",\n            \"name\": \"follow\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"description\": \"The type of logs to retrieve\\n- BUILD: Build-time logs\\n- DEPLOY: Deploy-time logs\\n- RUN: Live run-time logs\",\n            \"example\": \"BUILD\",\n            \"in\": \"query\",\n            \"name\": \"type\",\n            \"required\": true,\n            \"schema\": {\n              \"default\": \"UNSPECIFIED\",\n              \"enum\": [\n                \"UNSPECIFIED\",\n                \"BUILD\",\n                \"DEPLOY\",\n                \"RUN\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An optional time duration to wait if the underlying component instance is not immediately available. Default: `3m`.\",\n            \"example\": \"3m\",\n            \"in\": \"query\",\n            \"name\": \"pod_connection_timeout\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"logs\": {\n                    \"value\": {\n                      \"historic_logs\": [\n                        \"https://logs-example/archive/build.log\"\n                      ],\n                      \"live_url\": \"https://logs-example/build.log\",\n                      \"url\": \"https://logs/build.log\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"historic_urls\": {\n                      \"items\": {\n                        \"example\": \"https://logs/build.log\",\n                        \"type\": \"string\"\n                      },\n                      \"title\": \"A list of URLs to archived log files\",\n                      \"type\": \"array\"\n                    },\n                    \"live_url\": {\n                      \"description\": \"A URL of the real-time live logs. This URL may use either the `https://` or `wss://` protocols and will keep pushing live logs as they become available.\",\n                      \"example\": \"ws://logs/build\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with urls that point to archived logs\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve Active Deployment Aggregate Logs\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/logs\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/metrics/bandwidth_daily\": {\n      \"get\": {\n        \"description\": \"Retrieve daily bandwidth usage metrics for a single app.\",\n        \"operationId\": \"apps_get_metrics_bandwidth_daily\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Optional day to query. Only the date component of the timestamp will be considered. Default: yesterday.\",\n            \"example\": \"2023-01-17T00:00:00Z\",\n            \"in\": \"query\",\n            \"name\": \"date\",\n            \"schema\": {\n              \"format\": \"date-time\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"app_bandwidth_usage\": {\n                    \"value\": {\n                      \"app_bandwidth_usage\": [\n                        {\n                          \"app_id\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                          \"bandwidth_bytes\": \"513668\"\n                        }\n                      ],\n                      \"date\": \"2023-01-17T00:00:00Z\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"app_bandwidth_usage\": {\n                      \"description\": \"A list of bandwidth usage details by app.\",\n                      \"items\": {\n                        \"description\": \"Bandwidth usage for an app.\",\n                        \"properties\": {\n                          \"app_id\": {\n                            \"description\": \"The ID of the app.\",\n                            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                            \"type\": \"string\"\n                          },\n                          \"bandwidth_bytes\": {\n                            \"description\": \"The used bandwidth amount in bytes.\",\n                            \"example\": \"513668\",\n                            \"format\": \"uint64\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    },\n                    \"date\": {\n                      \"description\": \"The date for the metrics data.\",\n                      \"example\": \"2023-01-17T00:00:00Z\",\n                      \"format\": \"date-time\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a `app_bandwidth_usage` key\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve App Daily Bandwidth Metrics\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{id}/metrics/bandwidth_daily\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/rollback\": {\n      \"post\": {\n        \"description\": \"Rollback an app to a previous deployment. A new deployment will be created to perform the rollback.\\nThe app will be pinned to the rollback deployment preventing any new deployments from being created,\\neither manually or through Auto Deploy on Push webhooks. To resume deployments, the rollback must be\\neither committed or reverted.\\n\\nIt is recommended to use the Validate App Rollback endpoint to double check if the rollback is\\nvalid and if there are any warnings.\\n\",\n        \"operationId\": \"apps_create_rollback\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"deployment_id\": {\n                    \"description\": \"The ID of the deployment to rollback to.\",\n                    \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                    \"type\": \"string\"\n                  },\n                  \"skip_pin\": {\n                    \"description\": \"Whether to skip pinning the rollback deployment. If false, the rollback deployment will be pinned and any new deployments including Auto Deploy on Push hooks will be disabled until the rollback is either manually committed or reverted via the CommitAppRollback or RevertAppRollback endpoints respectively. If true, the rollback will be immediately committed and the app will remain unpinned.\",\n                    \"example\": false,\n                    \"type\": \"boolean\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"deployment\": {\n                    \"value\": {\n                      \"deployment\": {\n                        \"cause\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                        \"created_at\": \"2020-07-28T18:00:00Z\",\n                        \"id\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                        \"phase\": \"PENDING_BUILD\",\n                        \"phase_last_updated_at\": \"0001-01-01T00:00:00Z\",\n                        \"progress\": {\n                          \"pending_steps\": 6,\n                          \"steps\": [\n                            {\n                              \"name\": \"build\",\n                              \"status\": \"PENDING\",\n                              \"steps\": [\n                                {\n                                  \"name\": \"initialize\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"name\": \"components\",\n                                  \"status\": \"PENDING\",\n                                  \"steps\": [\n                                    {\n                                      \"component_name\": \"web\",\n                                      \"message_base\": \"Building service\",\n                                      \"name\": \"web\",\n                                      \"status\": \"PENDING\"\n                                    }\n                                  ]\n                                }\n                              ]\n                            },\n                            {\n                              \"name\": \"deploy\",\n                              \"status\": \"PENDING\",\n                              \"steps\": [\n                                {\n                                  \"name\": \"initialize\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"name\": \"components\",\n                                  \"status\": \"PENDING\",\n                                  \"steps\": [\n                                    {\n                                      \"component_name\": \"web\",\n                                      \"name\": \"web\",\n                                      \"status\": \"PENDING\",\n                                      \"steps\": [\n                                        {\n                                          \"component_name\": \"web\",\n                                          \"message_base\": \"Deploying service\",\n                                          \"name\": \"deploy\",\n                                          \"status\": \"PENDING\"\n                                        },\n                                        {\n                                          \"component_name\": \"web\",\n                                          \"message_base\": \"Waiting for service\",\n                                          \"name\": \"wait\",\n                                          \"status\": \"PENDING\"\n                                        }\n                                      ]\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"name\": \"finalize\",\n                                  \"status\": \"PENDING\"\n                                }\n                              ]\n                            }\n                          ],\n                          \"total_steps\": 6\n                        },\n                        \"services\": [\n                          {\n                            \"name\": \"web\",\n                            \"source_commit_hash\": \"9a4df0b8e161e323bc3cdf1dc71878080fe144fa\"\n                          }\n                        ],\n                        \"spec\": {\n                          \"name\": \"sample-golang\",\n                          \"region\": \"ams\",\n                          \"services\": [\n                            {\n                              \"environment_slug\": \"go\",\n                              \"github\": {\n                                \"branch\": \"branch\",\n                                \"repo\": \"digitalocean/sample-golang\"\n                              },\n                              \"instance_count\": 2,\n                              \"instance_size_slug\": \"basic-xxs\",\n                              \"name\": \"web\",\n                              \"routes\": [\n                                {\n                                  \"path\": \"/\"\n                                }\n                              ],\n                              \"run_command\": \"bin/sample-golang\"\n                            }\n                          ]\n                        },\n                        \"tier_slug\": \"basic\",\n                        \"updated_at\": \"2020-07-28T18:00:00Z\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"deployment\": {\n                      \"properties\": {\n                        \"cause\": {\n                          \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                          \"title\": \"What caused this deployment to be created\",\n                          \"type\": \"string\"\n                        },\n                        \"cloned_from\": {\n                          \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                          \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"example\": \"2020-07-28T18:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"The creation time of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"functions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"my-functions-component\",\n                                \"title\": \"The name of this functions component\",\n                                \"type\": \"string\"\n                              },\n                              \"namespace\": {\n                                \"description\": \"The namespace where the functions are deployed.\",\n                                \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Functions components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"id\": {\n                          \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                          \"title\": \"The ID of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"jobs\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"migrate-db\",\n                                \"title\": \"The name of this job\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this job\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Job components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"phase\": {\n                          \"default\": \"UNKNOWN\",\n                          \"enum\": [\n                            \"UNKNOWN\",\n                            \"PENDING_BUILD\",\n                            \"BUILDING\",\n                            \"PENDING_DEPLOY\",\n                            \"DEPLOYING\",\n                            \"ACTIVE\",\n                            \"SUPERSEDED\",\n                            \"ERROR\",\n                            \"CANCELED\"\n                          ],\n                          \"example\": \"ACTIVE\",\n                          \"type\": \"string\"\n                        },\n                        \"phase_last_updated_at\": {\n                          \"example\": \"0001-01-01T00:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"When the deployment phase was last updated\",\n                          \"type\": \"string\"\n                        },\n                        \"progress\": {\n                          \"properties\": {\n                            \"error_steps\": {\n                              \"example\": 3,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of unsuccessful steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"pending_steps\": {\n                              \"example\": 2,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of pending steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"running_steps\": {\n                              \"example\": 2,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of currently running steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"steps\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"component_name\": {\n                                    \"example\": \"component\",\n                                    \"title\": \"The component name that this step is associated with\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"ended_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The end time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"message_base\": {\n                                    \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                    \"example\": \"Building service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"example\": \"example_step\",\n                                    \"title\": \"The name of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"reason\": {\n                                    \"properties\": {\n                                      \"code\": {\n                                        \"example\": \"Title of Error\",\n                                        \"title\": \"The error code\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message\": {\n                                        \"example\": \"This is an error\",\n                                        \"title\": \"The error message\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"started_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The start time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING\",\n                                      \"RUNNING\",\n                                      \"ERROR\",\n                                      \"SUCCESS\"\n                                    ],\n                                    \"example\": \"SUCCESS\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Child steps of this step\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"The deployment's steps\",\n                              \"type\": \"array\"\n                            },\n                            \"success_steps\": {\n                              \"example\": 4,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of successful steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"summary_steps\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"component_name\": {\n                                    \"example\": \"component\",\n                                    \"title\": \"The component name that this step is associated with\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"ended_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The end time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"message_base\": {\n                                    \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                    \"example\": \"Building service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"example\": \"example_step\",\n                                    \"title\": \"The name of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"reason\": {\n                                    \"properties\": {\n                                      \"code\": {\n                                        \"example\": \"Title of Error\",\n                                        \"title\": \"The error code\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message\": {\n                                        \"example\": \"This is an error\",\n                                        \"title\": \"The error message\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"started_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The start time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING\",\n                                      \"RUNNING\",\n                                      \"ERROR\",\n                                      \"SUCCESS\"\n                                    ],\n                                    \"example\": \"SUCCESS\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Child steps of this step\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"A flattened summary of the steps\",\n                              \"type\": \"array\"\n                            },\n                            \"total_steps\": {\n                              \"example\": 5,\n                              \"format\": \"int32\",\n                              \"title\": \"Total number of steps\",\n                              \"type\": \"integer\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"services\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"web\",\n                                \"title\": \"The name of this service\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this service\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Service components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"spec\": {\n                          \"description\": \"The desired configuration of an application.\",\n                          \"properties\": {\n                            \"databases\": {\n                              \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"cluster_name\": {\n                                    \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                    \"example\": \"cluster_name\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_name\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                    \"example\": \"my_db\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_user\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                    \"example\": \"superuser\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"engine\": {\n                                    \"default\": \"UNSET\",\n                                    \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                    \"enum\": [\n                                      \"UNSET\",\n                                      \"MYSQL\",\n                                      \"PG\",\n                                      \"REDIS\"\n                                    ],\n                                    \"example\": \"PG\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"prod-db\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"production\": {\n                                    \"description\": \"Whether this is a production or dev database.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"version\": {\n                                    \"description\": \"The version of the database engine\",\n                                    \"example\": \"12\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"domains\": {\n                              \"description\": \"A set of hostnames where the application will be available.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"domain\": {\n                                    \"description\": \"The hostname for the domain\",\n                                    \"example\": \"app.example.com\",\n                                    \"maxLength\": 253,\n                                    \"minLength\": 4,\n                                    \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"minimum_tls_version\": {\n                                    \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                    \"enum\": [\n                                      \"1.2\",\n                                      \"1.3\"\n                                    ],\n                                    \"example\": \"1.3\",\n                                    \"maxLength\": 3,\n                                    \"minLength\": 3,\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"UNSPECIFIED\",\n                                    \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED\",\n                                      \"DEFAULT\",\n                                      \"PRIMARY\",\n                                      \"ALIAS\"\n                                    ],\n                                    \"example\": \"DEFAULT\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"wildcard\": {\n                                    \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"zone\": {\n                                    \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                    \"example\": \"example.com\",\n                                    \"format\": \"hostname\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"domain\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"functions\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"alerts\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"disabled\": {\n                                          \"description\": \"Is the alert disabled?\",\n                                          \"example\": false,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"operator\": {\n                                          \"default\": \"UNSPECIFIED_OPERATOR\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_OPERATOR\",\n                                            \"GREATER_THAN\",\n                                            \"LESS_THAN\"\n                                          ],\n                                          \"example\": \"GREATER_THAN\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"rule\": {\n                                          \"default\": \"UNSPECIFIED_RULE\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_RULE\",\n                                            \"CPU_UTILIZATION\",\n                                            \"MEM_UTILIZATION\",\n                                            \"RESTART_COUNT\",\n                                            \"DEPLOYMENT_FAILED\",\n                                            \"DEPLOYMENT_LIVE\",\n                                            \"DOMAIN_FAILED\",\n                                            \"DOMAIN_LIVE\",\n                                            \"FUNCTIONS_ACTIVATION_COUNT\",\n                                            \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                            \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                            \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                            \"FUNCTIONS_ERROR_COUNT\",\n                                            \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                          ],\n                                          \"example\": \"CPU_UTILIZATION\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"Threshold value for alert\",\n                                          \"example\": 2.32,\n                                          \"format\": \"float\",\n                                          \"type\": \"number\"\n                                        },\n                                        \"window\": {\n                                          \"default\": \"UNSPECIFIED_WINDOW\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_WINDOW\",\n                                            \"FIVE_MINUTES\",\n                                            \"TEN_MINUTES\",\n                                            \"THIRTY_MINUTES\",\n                                            \"ONE_HOUR\"\n                                          ],\n                                          \"example\": \"FIVE_MINUTES\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"cors\": {\n                                    \"properties\": {\n                                      \"allow_credentials\": {\n                                        \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                        \"example\": false,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"allow_headers\": {\n                                        \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Type\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_methods\": {\n                                        \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                        \"example\": [\n                                          \"GET\",\n                                          \"OPTIONS\",\n                                          \"POST\",\n                                          \"PUT\",\n                                          \"PATCH\",\n                                          \"DELETE\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_origins\": {\n                                        \"description\": \"The set of allowed CORS origins.\",\n                                        \"example\": [\n                                          {\n                                            \"exact\": \"https://www.example.com\"\n                                          },\n                                          {\n                                            \"regex\": \"^.*example.com\"\n                                          }\n                                        ],\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"exact\": {\n                                              \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"prefix\": {\n                                              \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"regex\": {\n                                              \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                              \"example\": \"^.*example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"expose_headers\": {\n                                        \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Encoding\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"max_age\": {\n                                        \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                        \"example\": \"5h30m\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"envs\": {\n                                    \"description\": \"A list of environment variables made available to the component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"key\": {\n                                          \"description\": \"The variable name\",\n                                          \"example\": \"BASE_URL\",\n                                          \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"scope\": {\n                                          \"default\": \"RUN_AND_BUILD_TIME\",\n                                          \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"RUN_TIME\",\n                                            \"BUILD_TIME\",\n                                            \"RUN_AND_BUILD_TIME\"\n                                          ],\n                                          \"example\": \"BUILD_TIME\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"GENERAL\",\n                                          \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                          \"enum\": [\n                                            \"GENERAL\",\n                                            \"SECRET\"\n                                          ],\n                                          \"example\": \"GENERAL\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                          \"example\": \"http://example.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"git\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repo_clone_url\": {\n                                        \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                        \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"github\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"gitlab\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"log_destinations\": {\n                                    \"properties\": {\n                                      \"datadog\": {\n                                        \"description\": \"DataDog configuration.\",\n                                        \"properties\": {\n                                          \"api_key\": {\n                                            \"description\": \"Datadog API key.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"endpoint\": {\n                                            \"description\": \"Datadog HTTP log intake endpoint.\",\n                                            \"example\": \"https://mydatadogendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"api_key\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"logtail\": {\n                                        \"description\": \"Logtail configuration.\",\n                                        \"properties\": {\n                                          \"token\": {\n                                            \"description\": \"Logtail token.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"my_log_destination\",\n                                        \"maxLength\": 42,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"papertrail\": {\n                                        \"description\": \"Papertrail configuration.\",\n                                        \"properties\": {\n                                          \"endpoint\": {\n                                            \"description\": \"Papertrail syslog endpoint.\",\n                                            \"example\": \"https://mypapertrailendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"Configurations for external logging.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"api\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"routes\": {\n                                    \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"path\": {\n                                          \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                          \"example\": \"/api\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"preserve_path_prefix\": {\n                                          \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        }\n                                      },\n                                      \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"source_dir\": {\n                                    \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                    \"example\": \"path/to/dir\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"jobs\": {\n                              \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"kind\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"PRE_DEPLOY\",\n                                          \"POST_DEPLOY\",\n                                          \"FAILED_DEPLOY\"\n                                        ],\n                                        \"example\": \"PRE_DEPLOY\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                              \"example\": \"web-app-01\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                              \"enum\": [\n                                \"ams\",\n                                \"nyc\",\n                                \"fra\",\n                                \"sfo\",\n                                \"sgp\",\n                                \"blr\",\n                                \"tor\",\n                                \"lon\",\n                                \"syd\"\n                              ],\n                              \"example\": \"nyc\",\n                              \"type\": \"string\"\n                            },\n                            \"services\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"health_check\": {\n                                        \"properties\": {\n                                          \"failure_threshold\": {\n                                            \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                            \"example\": 2,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"http_path\": {\n                                            \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                            \"example\": \"/health\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"initial_delay_seconds\": {\n                                            \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                            \"example\": 30,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"period_seconds\": {\n                                            \"description\": \"The number of seconds to wait between health checks.\",\n                                            \"example\": 60,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"port\": {\n                                            \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                            \"example\": 80,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"success_threshold\": {\n                                            \"description\": \"The number of successful health checks before considered healthy.\",\n                                            \"example\": 3,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"timeout_seconds\": {\n                                            \"description\": \"The number of seconds after which the check times out.\",\n                                            \"example\": 45,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"http_port\": {\n                                        \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                        \"example\": 3000,\n                                        \"format\": \"int64\",\n                                        \"maximum\": 65535,\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"internal_ports\": {\n                                        \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                        \"example\": [\n                                          80,\n                                          443\n                                        ],\n                                        \"items\": {\n                                          \"format\": \"int64\",\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"static_sites\": {\n                              \"description\": \"Content which can be rendered to static web assets.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"catchall_document\": {\n                                        \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                        \"example\": \"index.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"error_document\": {\n                                        \"default\": \"404.html\",\n                                        \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                        \"example\": \"error.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"index_document\": {\n                                        \"default\": \"index.html\",\n                                        \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                        \"example\": \"main.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"output_dir\": {\n                                        \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                        \"example\": \"dist/\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"workers\": {\n                              \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"title\": \"AppSpec\",\n                          \"type\": \"object\"\n                        },\n                        \"static_sites\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"web\",\n                                \"title\": \"The name of this static site\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Static Site components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"tier_slug\": {\n                          \"example\": \"basic\",\n                          \"readOnly\": true,\n                          \"title\": \"The current pricing tier slug of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"example\": \"2020-07-28T18:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"When the deployment was last updated\",\n                          \"type\": \"string\"\n                        },\n                        \"workers\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"queue-runner\",\n                                \"title\": \"The name of this worker\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Worker components that are part of this deployment\",\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"title\": \"An app deployment\",\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a `deployment` key.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Rollback App\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{ \\\"deployment_id\\\": \\\"3aa4d20e-5527-4c00-b496-601fbd22520a\\\" }' \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/rollback\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/rollback/commit\": {\n      \"post\": {\n        \"description\": \"Commit an app rollback. This action permanently applies the rollback and unpins the app to resume new deployments.\\n\",\n        \"operationId\": \"apps_commit_rollback\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Commit App Rollback\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/rollback/commit\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/rollback/revert\": {\n      \"post\": {\n        \"description\": \"Revert an app rollback. This action reverts the active rollback by creating a new deployment from the\\nlatest app spec prior to the rollback and unpins the app to resume new deployments.\\n\",\n        \"operationId\": \"apps_revert_rollback\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"deployment\": {\n                    \"value\": {\n                      \"deployment\": {\n                        \"cause\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                        \"created_at\": \"2020-07-28T18:00:00Z\",\n                        \"id\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                        \"phase\": \"PENDING_BUILD\",\n                        \"phase_last_updated_at\": \"0001-01-01T00:00:00Z\",\n                        \"progress\": {\n                          \"pending_steps\": 6,\n                          \"steps\": [\n                            {\n                              \"name\": \"build\",\n                              \"status\": \"PENDING\",\n                              \"steps\": [\n                                {\n                                  \"name\": \"initialize\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"name\": \"components\",\n                                  \"status\": \"PENDING\",\n                                  \"steps\": [\n                                    {\n                                      \"component_name\": \"web\",\n                                      \"message_base\": \"Building service\",\n                                      \"name\": \"web\",\n                                      \"status\": \"PENDING\"\n                                    }\n                                  ]\n                                }\n                              ]\n                            },\n                            {\n                              \"name\": \"deploy\",\n                              \"status\": \"PENDING\",\n                              \"steps\": [\n                                {\n                                  \"name\": \"initialize\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"name\": \"components\",\n                                  \"status\": \"PENDING\",\n                                  \"steps\": [\n                                    {\n                                      \"component_name\": \"web\",\n                                      \"name\": \"web\",\n                                      \"status\": \"PENDING\",\n                                      \"steps\": [\n                                        {\n                                          \"component_name\": \"web\",\n                                          \"message_base\": \"Deploying service\",\n                                          \"name\": \"deploy\",\n                                          \"status\": \"PENDING\"\n                                        },\n                                        {\n                                          \"component_name\": \"web\",\n                                          \"message_base\": \"Waiting for service\",\n                                          \"name\": \"wait\",\n                                          \"status\": \"PENDING\"\n                                        }\n                                      ]\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"name\": \"finalize\",\n                                  \"status\": \"PENDING\"\n                                }\n                              ]\n                            }\n                          ],\n                          \"total_steps\": 6\n                        },\n                        \"services\": [\n                          {\n                            \"name\": \"web\",\n                            \"source_commit_hash\": \"9a4df0b8e161e323bc3cdf1dc71878080fe144fa\"\n                          }\n                        ],\n                        \"spec\": {\n                          \"name\": \"sample-golang\",\n                          \"region\": \"ams\",\n                          \"services\": [\n                            {\n                              \"environment_slug\": \"go\",\n                              \"github\": {\n                                \"branch\": \"branch\",\n                                \"repo\": \"digitalocean/sample-golang\"\n                              },\n                              \"instance_count\": 2,\n                              \"instance_size_slug\": \"basic-xxs\",\n                              \"name\": \"web\",\n                              \"routes\": [\n                                {\n                                  \"path\": \"/\"\n                                }\n                              ],\n                              \"run_command\": \"bin/sample-golang\"\n                            }\n                          ]\n                        },\n                        \"tier_slug\": \"basic\",\n                        \"updated_at\": \"2020-07-28T18:00:00Z\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"deployment\": {\n                      \"properties\": {\n                        \"cause\": {\n                          \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                          \"title\": \"What caused this deployment to be created\",\n                          \"type\": \"string\"\n                        },\n                        \"cloned_from\": {\n                          \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                          \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"example\": \"2020-07-28T18:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"The creation time of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"functions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"my-functions-component\",\n                                \"title\": \"The name of this functions component\",\n                                \"type\": \"string\"\n                              },\n                              \"namespace\": {\n                                \"description\": \"The namespace where the functions are deployed.\",\n                                \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Functions components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"id\": {\n                          \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                          \"title\": \"The ID of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"jobs\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"migrate-db\",\n                                \"title\": \"The name of this job\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this job\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Job components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"phase\": {\n                          \"default\": \"UNKNOWN\",\n                          \"enum\": [\n                            \"UNKNOWN\",\n                            \"PENDING_BUILD\",\n                            \"BUILDING\",\n                            \"PENDING_DEPLOY\",\n                            \"DEPLOYING\",\n                            \"ACTIVE\",\n                            \"SUPERSEDED\",\n                            \"ERROR\",\n                            \"CANCELED\"\n                          ],\n                          \"example\": \"ACTIVE\",\n                          \"type\": \"string\"\n                        },\n                        \"phase_last_updated_at\": {\n                          \"example\": \"0001-01-01T00:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"When the deployment phase was last updated\",\n                          \"type\": \"string\"\n                        },\n                        \"progress\": {\n                          \"properties\": {\n                            \"error_steps\": {\n                              \"example\": 3,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of unsuccessful steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"pending_steps\": {\n                              \"example\": 2,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of pending steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"running_steps\": {\n                              \"example\": 2,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of currently running steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"steps\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"component_name\": {\n                                    \"example\": \"component\",\n                                    \"title\": \"The component name that this step is associated with\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"ended_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The end time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"message_base\": {\n                                    \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                    \"example\": \"Building service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"example\": \"example_step\",\n                                    \"title\": \"The name of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"reason\": {\n                                    \"properties\": {\n                                      \"code\": {\n                                        \"example\": \"Title of Error\",\n                                        \"title\": \"The error code\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message\": {\n                                        \"example\": \"This is an error\",\n                                        \"title\": \"The error message\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"started_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The start time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING\",\n                                      \"RUNNING\",\n                                      \"ERROR\",\n                                      \"SUCCESS\"\n                                    ],\n                                    \"example\": \"SUCCESS\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Child steps of this step\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"The deployment's steps\",\n                              \"type\": \"array\"\n                            },\n                            \"success_steps\": {\n                              \"example\": 4,\n                              \"format\": \"int32\",\n                              \"title\": \"Number of successful steps\",\n                              \"type\": \"integer\"\n                            },\n                            \"summary_steps\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"component_name\": {\n                                    \"example\": \"component\",\n                                    \"title\": \"The component name that this step is associated with\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"ended_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The end time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"message_base\": {\n                                    \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                    \"example\": \"Building service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"example\": \"example_step\",\n                                    \"title\": \"The name of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"reason\": {\n                                    \"properties\": {\n                                      \"code\": {\n                                        \"example\": \"Title of Error\",\n                                        \"title\": \"The error code\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message\": {\n                                        \"example\": \"This is an error\",\n                                        \"title\": \"The error message\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"started_at\": {\n                                    \"example\": \"2020-11-19T20:27:18Z\",\n                                    \"format\": \"date-time\",\n                                    \"title\": \"The start time of this step\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"default\": \"UNKNOWN\",\n                                    \"enum\": [\n                                      \"UNKNOWN\",\n                                      \"PENDING\",\n                                      \"RUNNING\",\n                                      \"ERROR\",\n                                      \"SUCCESS\"\n                                    ],\n                                    \"example\": \"SUCCESS\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"Child steps of this step\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"A flattened summary of the steps\",\n                              \"type\": \"array\"\n                            },\n                            \"total_steps\": {\n                              \"example\": 5,\n                              \"format\": \"int32\",\n                              \"title\": \"Total number of steps\",\n                              \"type\": \"integer\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"services\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"web\",\n                                \"title\": \"The name of this service\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this service\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Service components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"spec\": {\n                          \"description\": \"The desired configuration of an application.\",\n                          \"properties\": {\n                            \"databases\": {\n                              \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"cluster_name\": {\n                                    \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                    \"example\": \"cluster_name\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_name\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                    \"example\": \"my_db\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_user\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                    \"example\": \"superuser\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"engine\": {\n                                    \"default\": \"UNSET\",\n                                    \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                    \"enum\": [\n                                      \"UNSET\",\n                                      \"MYSQL\",\n                                      \"PG\",\n                                      \"REDIS\"\n                                    ],\n                                    \"example\": \"PG\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"prod-db\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"production\": {\n                                    \"description\": \"Whether this is a production or dev database.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"version\": {\n                                    \"description\": \"The version of the database engine\",\n                                    \"example\": \"12\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"domains\": {\n                              \"description\": \"A set of hostnames where the application will be available.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"domain\": {\n                                    \"description\": \"The hostname for the domain\",\n                                    \"example\": \"app.example.com\",\n                                    \"maxLength\": 253,\n                                    \"minLength\": 4,\n                                    \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"minimum_tls_version\": {\n                                    \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                    \"enum\": [\n                                      \"1.2\",\n                                      \"1.3\"\n                                    ],\n                                    \"example\": \"1.3\",\n                                    \"maxLength\": 3,\n                                    \"minLength\": 3,\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"UNSPECIFIED\",\n                                    \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED\",\n                                      \"DEFAULT\",\n                                      \"PRIMARY\",\n                                      \"ALIAS\"\n                                    ],\n                                    \"example\": \"DEFAULT\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"wildcard\": {\n                                    \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"zone\": {\n                                    \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                    \"example\": \"example.com\",\n                                    \"format\": \"hostname\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"domain\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"functions\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"alerts\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"disabled\": {\n                                          \"description\": \"Is the alert disabled?\",\n                                          \"example\": false,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"operator\": {\n                                          \"default\": \"UNSPECIFIED_OPERATOR\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_OPERATOR\",\n                                            \"GREATER_THAN\",\n                                            \"LESS_THAN\"\n                                          ],\n                                          \"example\": \"GREATER_THAN\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"rule\": {\n                                          \"default\": \"UNSPECIFIED_RULE\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_RULE\",\n                                            \"CPU_UTILIZATION\",\n                                            \"MEM_UTILIZATION\",\n                                            \"RESTART_COUNT\",\n                                            \"DEPLOYMENT_FAILED\",\n                                            \"DEPLOYMENT_LIVE\",\n                                            \"DOMAIN_FAILED\",\n                                            \"DOMAIN_LIVE\",\n                                            \"FUNCTIONS_ACTIVATION_COUNT\",\n                                            \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                            \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                            \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                            \"FUNCTIONS_ERROR_COUNT\",\n                                            \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                          ],\n                                          \"example\": \"CPU_UTILIZATION\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"Threshold value for alert\",\n                                          \"example\": 2.32,\n                                          \"format\": \"float\",\n                                          \"type\": \"number\"\n                                        },\n                                        \"window\": {\n                                          \"default\": \"UNSPECIFIED_WINDOW\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_WINDOW\",\n                                            \"FIVE_MINUTES\",\n                                            \"TEN_MINUTES\",\n                                            \"THIRTY_MINUTES\",\n                                            \"ONE_HOUR\"\n                                          ],\n                                          \"example\": \"FIVE_MINUTES\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"cors\": {\n                                    \"properties\": {\n                                      \"allow_credentials\": {\n                                        \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                        \"example\": false,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"allow_headers\": {\n                                        \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Type\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_methods\": {\n                                        \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                        \"example\": [\n                                          \"GET\",\n                                          \"OPTIONS\",\n                                          \"POST\",\n                                          \"PUT\",\n                                          \"PATCH\",\n                                          \"DELETE\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_origins\": {\n                                        \"description\": \"The set of allowed CORS origins.\",\n                                        \"example\": [\n                                          {\n                                            \"exact\": \"https://www.example.com\"\n                                          },\n                                          {\n                                            \"regex\": \"^.*example.com\"\n                                          }\n                                        ],\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"exact\": {\n                                              \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"prefix\": {\n                                              \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"regex\": {\n                                              \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                              \"example\": \"^.*example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"expose_headers\": {\n                                        \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Encoding\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"max_age\": {\n                                        \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                        \"example\": \"5h30m\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"envs\": {\n                                    \"description\": \"A list of environment variables made available to the component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"key\": {\n                                          \"description\": \"The variable name\",\n                                          \"example\": \"BASE_URL\",\n                                          \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"scope\": {\n                                          \"default\": \"RUN_AND_BUILD_TIME\",\n                                          \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"RUN_TIME\",\n                                            \"BUILD_TIME\",\n                                            \"RUN_AND_BUILD_TIME\"\n                                          ],\n                                          \"example\": \"BUILD_TIME\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"GENERAL\",\n                                          \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                          \"enum\": [\n                                            \"GENERAL\",\n                                            \"SECRET\"\n                                          ],\n                                          \"example\": \"GENERAL\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                          \"example\": \"http://example.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"git\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repo_clone_url\": {\n                                        \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                        \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"github\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"gitlab\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"log_destinations\": {\n                                    \"properties\": {\n                                      \"datadog\": {\n                                        \"description\": \"DataDog configuration.\",\n                                        \"properties\": {\n                                          \"api_key\": {\n                                            \"description\": \"Datadog API key.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"endpoint\": {\n                                            \"description\": \"Datadog HTTP log intake endpoint.\",\n                                            \"example\": \"https://mydatadogendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"api_key\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"logtail\": {\n                                        \"description\": \"Logtail configuration.\",\n                                        \"properties\": {\n                                          \"token\": {\n                                            \"description\": \"Logtail token.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"my_log_destination\",\n                                        \"maxLength\": 42,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"papertrail\": {\n                                        \"description\": \"Papertrail configuration.\",\n                                        \"properties\": {\n                                          \"endpoint\": {\n                                            \"description\": \"Papertrail syslog endpoint.\",\n                                            \"example\": \"https://mypapertrailendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"Configurations for external logging.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"api\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"routes\": {\n                                    \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"path\": {\n                                          \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                          \"example\": \"/api\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"preserve_path_prefix\": {\n                                          \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        }\n                                      },\n                                      \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"source_dir\": {\n                                    \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                    \"example\": \"path/to/dir\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"jobs\": {\n                              \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"kind\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"PRE_DEPLOY\",\n                                          \"POST_DEPLOY\",\n                                          \"FAILED_DEPLOY\"\n                                        ],\n                                        \"example\": \"PRE_DEPLOY\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                              \"example\": \"web-app-01\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                              \"enum\": [\n                                \"ams\",\n                                \"nyc\",\n                                \"fra\",\n                                \"sfo\",\n                                \"sgp\",\n                                \"blr\",\n                                \"tor\",\n                                \"lon\",\n                                \"syd\"\n                              ],\n                              \"example\": \"nyc\",\n                              \"type\": \"string\"\n                            },\n                            \"services\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"health_check\": {\n                                        \"properties\": {\n                                          \"failure_threshold\": {\n                                            \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                            \"example\": 2,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"http_path\": {\n                                            \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                            \"example\": \"/health\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"initial_delay_seconds\": {\n                                            \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                            \"example\": 30,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"period_seconds\": {\n                                            \"description\": \"The number of seconds to wait between health checks.\",\n                                            \"example\": 60,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"port\": {\n                                            \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                            \"example\": 80,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"success_threshold\": {\n                                            \"description\": \"The number of successful health checks before considered healthy.\",\n                                            \"example\": 3,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"timeout_seconds\": {\n                                            \"description\": \"The number of seconds after which the check times out.\",\n                                            \"example\": 45,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"http_port\": {\n                                        \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                        \"example\": 3000,\n                                        \"format\": \"int64\",\n                                        \"maximum\": 65535,\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"internal_ports\": {\n                                        \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                        \"example\": [\n                                          80,\n                                          443\n                                        ],\n                                        \"items\": {\n                                          \"format\": \"int64\",\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"static_sites\": {\n                              \"description\": \"Content which can be rendered to static web assets.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"catchall_document\": {\n                                        \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                        \"example\": \"index.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"error_document\": {\n                                        \"default\": \"404.html\",\n                                        \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                        \"example\": \"error.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"index_document\": {\n                                        \"default\": \"index.html\",\n                                        \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                        \"example\": \"main.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"output_dir\": {\n                                        \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                        \"example\": \"dist/\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"workers\": {\n                              \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"title\": \"AppSpec\",\n                          \"type\": \"object\"\n                        },\n                        \"static_sites\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"web\",\n                                \"title\": \"The name of this static site\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Static Site components that are part of this deployment\",\n                          \"type\": \"array\"\n                        },\n                        \"tier_slug\": {\n                          \"example\": \"basic\",\n                          \"readOnly\": true,\n                          \"title\": \"The current pricing tier slug of the deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"example\": \"2020-07-28T18:00:00Z\",\n                          \"format\": \"date-time\",\n                          \"title\": \"When the deployment was last updated\",\n                          \"type\": \"string\"\n                        },\n                        \"workers\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"example\": \"queue-runner\",\n                                \"title\": \"The name of this worker\",\n                                \"type\": \"string\"\n                              },\n                              \"source_commit_hash\": {\n                                \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"title\": \"Worker components that are part of this deployment\",\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"title\": \"An app deployment\",\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a `deployment` key.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Revert App Rollback\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/rollback/revert\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{app_id}/rollback/validate\": {\n      \"post\": {\n        \"description\": \"Check whether an app can be rolled back to a specific deployment. This endpoint can also be used\\nto check if there are any warnings or validation conditions that will cause the rollback to proceed\\nunder unideal circumstances. For example, if a component must be rebuilt as part of the rollback\\ncausing it to take longer than usual.\\n\",\n        \"operationId\": \"apps_validate_rollback\",\n        \"parameters\": [\n          {\n            \"description\": \"The app ID\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"app_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"deployment_id\": {\n                    \"description\": \"The ID of the deployment to rollback to.\",\n                    \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                    \"type\": \"string\"\n                  },\n                  \"skip_pin\": {\n                    \"description\": \"Whether to skip pinning the rollback deployment. If false, the rollback deployment will be pinned and any new deployments including Auto Deploy on Push hooks will be disabled until the rollback is either manually committed or reverted via the CommitAppRollback or RevertAppRollback endpoints respectively. If true, the rollback will be immediately committed and the app will remain unpinned.\",\n                    \"example\": false,\n                    \"type\": \"boolean\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Invalid rollback\": {\n                    \"value\": {\n                      \"error\": {\n                        \"code\": \"incompatible_result\",\n                        \"message\": \"deployment result \\\"failed\\\" is unsuitable for rollback\"\n                      },\n                      \"valid\": false\n                    }\n                  },\n                  \"Valid rollback\": {\n                    \"value\": {\n                      \"valid\": true\n                    }\n                  },\n                  \"Valid rollback with warnings\": {\n                    \"value\": {\n                      \"valid\": true,\n                      \"warnings\": [\n                        {\n                          \"code\": \"image_source_missing_digest\",\n                          \"components\": [\n                            \"docker-worker\"\n                          ],\n                          \"message\": \"one or more components are missing an image digest and are not guaranteed rollback to the old version\"\n                        }\n                      ]\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"error\": {\n                      \"allOf\": [\n                        {\n                          \"description\": \"Contains the failing condition that is causing the rollback to be invalid.\"\n                        },\n                        {\n                          \"properties\": {\n                            \"code\": {\n                              \"description\": \"A code identifier that represents the failing condition.\\n\\nFailing conditions:\\n  - `incompatible_phase` - indicates that the deployment's phase is not suitable for rollback.\\n  - `incompatible_result` - indicates that the deployment's result is not suitable for rollback.\\n  - `exceeded_revision_limit` - indicates that the app has exceeded the rollback revision limits for its tier.\\n  - `app_pinned` - indicates that there is already a rollback in progress and the app is pinned.\\n  - `database_config_conflict` - indicates that the deployment's database config is different than the current config.\\n  - `region_conflict` - indicates that the deployment's region differs from the current app region.\\n  \\nWarning conditions:\\n  - `static_site_requires_rebuild` - indicates that the deployment contains at least one static site that will require a rebuild.\\n  - `image_source_missing_digest` - indicates that the deployment contains at least one component with an image source that is missing a digest.\\n\",\n                              \"enum\": [\n                                \"incompatible_phase\",\n                                \"incompatible_result\",\n                                \"exceeded_revision_limit\",\n                                \"app_pinned\",\n                                \"database_config_conflict\",\n                                \"region_conflict\",\n                                \"static_site_requires_rebuild\",\n                                \"image_source_missing_digest\"\n                              ],\n                              \"example\": \"exceeded_revision_limit\",\n                              \"type\": \"string\"\n                            },\n                            \"components\": {\n                              \"example\": [\n                                \"www\"\n                              ],\n                              \"items\": {\n                                \"description\": \"If applicable, a list of components that are failing the condition.\",\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"message\": {\n                              \"description\": \"A human-readable message describing the failing condition.\",\n                              \"example\": \"the deployment is past the maximum historical revision limit of 0 for the \\\"starter\\\" app tier\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    },\n                    \"valid\": {\n                      \"description\": \"Indicates whether the app can be rolled back to the specified deployment.\",\n                      \"type\": \"boolean\"\n                    },\n                    \"warnings\": {\n                      \"description\": \"Contains a list of warnings that may cause the rollback to run under unideal circumstances.\",\n                      \"items\": {\n                        \"properties\": {\n                          \"code\": {\n                            \"description\": \"A code identifier that represents the failing condition.\\n\\nFailing conditions:\\n  - `incompatible_phase` - indicates that the deployment's phase is not suitable for rollback.\\n  - `incompatible_result` - indicates that the deployment's result is not suitable for rollback.\\n  - `exceeded_revision_limit` - indicates that the app has exceeded the rollback revision limits for its tier.\\n  - `app_pinned` - indicates that there is already a rollback in progress and the app is pinned.\\n  - `database_config_conflict` - indicates that the deployment's database config is different than the current config.\\n  - `region_conflict` - indicates that the deployment's region differs from the current app region.\\n  \\nWarning conditions:\\n  - `static_site_requires_rebuild` - indicates that the deployment contains at least one static site that will require a rebuild.\\n  - `image_source_missing_digest` - indicates that the deployment contains at least one component with an image source that is missing a digest.\\n\",\n                            \"enum\": [\n                              \"incompatible_phase\",\n                              \"incompatible_result\",\n                              \"exceeded_revision_limit\",\n                              \"app_pinned\",\n                              \"database_config_conflict\",\n                              \"region_conflict\",\n                              \"static_site_requires_rebuild\",\n                              \"image_source_missing_digest\"\n                            ],\n                            \"example\": \"exceeded_revision_limit\",\n                            \"type\": \"string\"\n                          },\n                          \"components\": {\n                            \"example\": [\n                              \"www\"\n                            ],\n                            \"items\": {\n                              \"description\": \"If applicable, a list of components that are failing the condition.\",\n                              \"type\": \"string\"\n                            },\n                            \"type\": \"array\"\n                          },\n                          \"message\": {\n                            \"description\": \"A human-readable message describing the failing condition.\",\n                            \"example\": \"the deployment is past the maximum historical revision limit of 0 for the \\\"starter\\\" app tier\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with the validation results.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Validate App Rollback\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{ \\\"deployment_id\\\": \\\"3aa4d20e-5527-4c00-b496-601fbd22520a\\\" }' \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{app_id}/rollback/validate\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/apps/{id}\": {\n      \"delete\": {\n        \"description\": \"Delete an existing app. Once deleted, all active deployments will be permanently shut down and the app deleted. If needed, be sure to back up your app specification so that you may re-create it at a later time.\",\n        \"operationId\": \"apps_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the app\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"b7d64052-3706-4cb7-b21a-c5a2f44e63b3\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                      \"title\": \"The ID of the app that was deleted\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"the ID of the app deleted.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete an App\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{id}\\\"\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"Retrieve details about an existing app by either its ID or name. To retrieve an app by its name, do not include an ID in the request path. Information about the current active deployment as well as any in progress ones will also be included in the response.\",\n        \"operationId\": \"apps_get\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the app\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of the app to retrieve.\",\n            \"example\": \"myApp\",\n            \"in\": \"query\",\n            \"name\": \"name\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"app\": {\n                    \"value\": {\n                      \"app\": {\n                        \"active_deployment\": {\n                          \"cause\": \"manual\",\n                          \"created_at\": \"2021-02-10T17:05:30Z\",\n                          \"id\": \"991dfa59-6a23-459f-86d6-67dfa2c6f1e3\",\n                          \"phase\": \"ACTIVE\",\n                          \"phase_last_updated_at\": \"2021-02-10T17:06:53Z\",\n                          \"progress\": {\n                            \"steps\": [\n                              {\n                                \"ended_at\": \"2021-02-10T17:06:19.807834070Z\",\n                                \"name\": \"build\",\n                                \"started_at\": \"2021-02-10T17:05:35.572287990Z\",\n                                \"status\": \"SUCCESS\",\n                                \"steps\": [\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:05:36.093995229Z\",\n                                    \"name\": \"initialize\",\n                                    \"started_at\": \"2021-02-10T17:05:35.572347485Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:06:19.461737040Z\",\n                                    \"name\": \"components\",\n                                    \"started_at\": \"2021-02-10T17:05:36.094015928Z\",\n                                    \"status\": \"SUCCESS\",\n                                    \"steps\": [\n                                      {\n                                        \"component_name\": \"web\",\n                                        \"message_base\": \"Building service\",\n                                        \"name\": \"web\",\n                                        \"status\": \"SUCCESS\"\n                                      }\n                                    ]\n                                  }\n                                ]\n                              },\n                              {\n                                \"ended_at\": \"2021-02-10T17:06:53.404104185Z\",\n                                \"name\": \"deploy\",\n                                \"started_at\": \"2021-02-10T17:06:25.143932418Z\",\n                                \"status\": \"SUCCESS\",\n                                \"steps\": [\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:06:26.120343872Z\",\n                                    \"name\": \"initialize\",\n                                    \"started_at\": \"2021-02-10T17:06:25.143957508Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:06:50.029695913Z\",\n                                    \"name\": \"components\",\n                                    \"started_at\": \"2021-02-10T17:06:26.120385561Z\",\n                                    \"status\": \"SUCCESS\",\n                                    \"steps\": [\n                                      {\n                                        \"component_name\": \"web\",\n                                        \"name\": \"web\",\n                                        \"status\": \"SUCCESS\",\n                                        \"steps\": [\n                                          {\n                                            \"component_name\": \"web\",\n                                            \"message_base\": \"Deploying service\",\n                                            \"name\": \"deploy\",\n                                            \"status\": \"SUCCESS\"\n                                          },\n                                          {\n                                            \"component_name\": \"web\",\n                                            \"message_base\": \"Waiting for service\",\n                                            \"name\": \"wait\",\n                                            \"status\": \"SUCCESS\"\n                                          }\n                                        ]\n                                      }\n                                    ]\n                                  },\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:06:53.404065961Z\",\n                                    \"name\": \"finalize\",\n                                    \"started_at\": \"2021-02-10T17:06:50.348459495Z\",\n                                    \"status\": \"SUCCESS\"\n                                  }\n                                ]\n                              }\n                            ],\n                            \"success_steps\": 6,\n                            \"total_steps\": 6\n                          },\n                          \"services\": [\n                            {\n                              \"name\": \"web\",\n                              \"source_commit_hash\": \"db6936cb46047c576962962eed81ad52c21f35d7\"\n                            }\n                          ],\n                          \"spec\": {\n                            \"domains\": [\n                              {\n                                \"domain\": \"sample-golang.example.com\",\n                                \"minimum_tls_version\": \"1.3\",\n                                \"zone\": \"example.com\"\n                              }\n                            ],\n                            \"name\": \"sample-golang\",\n                            \"region\": \"ams\",\n                            \"services\": [\n                              {\n                                \"environment_slug\": \"go\",\n                                \"github\": {\n                                  \"branch\": \"main\",\n                                  \"repo\": \"ChiefMateStarbuck/sample-golang\"\n                                },\n                                \"http_port\": 8080,\n                                \"instance_count\": 1,\n                                \"instance_size_slug\": \"basic-xxs\",\n                                \"name\": \"web\",\n                                \"routes\": [\n                                  {\n                                    \"path\": \"/\"\n                                  }\n                                ],\n                                \"run_command\": \"bin/sample-golang\"\n                              }\n                            ]\n                          },\n                          \"tier_slug\": \"basic\",\n                          \"updated_at\": \"2021-02-10T17:06:53Z\"\n                        },\n                        \"created_at\": \"2021-02-10T16:45:14Z\",\n                        \"default_ingress\": \"https://sample-golang-zyhgn.ondigitalocean.app\",\n                        \"domains\": [\n                          {\n                            \"certificate_expires_at\": \"2024-01-29T23:59:59Z\",\n                            \"id\": \"e206c64e-a1a3-11ed-9e6e-9b7b6dc9a52b\",\n                            \"phase\": \"CONFIGURING\",\n                            \"progress\": {\n                              \"steps\": [\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"default-ingress-ready\",\n                                  \"started_at\": \"2023-01-30T22:15:45.021896292Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"ensure-zone\",\n                                  \"started_at\": \"2023-01-30T22:15:45.022017004Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:42:28.50752065Z\",\n                                  \"name\": \"ensure-ns-records\",\n                                  \"started_at\": \"2023-01-30T22:15:45.025567874Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"verify-nameservers\",\n                                  \"started_at\": \"2023-01-30T22:15:45.033591906Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"ensure-record\",\n                                  \"started_at\": \"2023-01-30T22:15:45.156750604Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.258626422Z\",\n                                  \"name\": \"ensure-alias-record\",\n                                  \"started_at\": \"2023-01-30T22:15:45.165933869Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.258808279Z\",\n                                  \"name\": \"ensure-wildcard-record\",\n                                  \"started_at\": \"2023-01-30T22:15:45.166093422Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"verify-cname\",\n                                  \"started_at\": \"2023-01-30T22:15:45.166205559Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.475903785Z\",\n                                  \"name\": \"ensure-ssl-txt-record-saved\",\n                                  \"started_at\": \"2023-01-30T22:15:45.295237186Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.476017236Z\",\n                                  \"name\": \"ensure-ssl-txt-record\",\n                                  \"started_at\": \"2023-01-30T22:15:45.295315291Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.476094058Z\",\n                                  \"name\": \"ensure-renewal-email\",\n                                  \"started_at\": \"2023-01-30T22:15:45.295374087Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"ensure-CA-authorization\",\n                                  \"started_at\": \"2023-01-30T22:15:45.295428101Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"ensure-certificate\",\n                                  \"started_at\": \"2023-01-30T22:15:45.978756406Z\",\n                                  \"status\": \"RUNNING\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00\",\n                                  \"name\": \"create-deployment\",\n                                  \"started_at\": \"0001-01-01T00:00:00Z\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00\",\n                                  \"name\": \"configuration-alert\",\n                                  \"started_at\": \"0001-01-01T00:00:00\",\n                                  \"status\": \"PENDING\"\n                                }\n                              ]\n                            },\n                            \"rotate_validation_records\": false,\n                            \"spec\": {\n                              \"domain\": \"sample-golang.example.com\",\n                              \"minimum_tls_version\": \"1.3\",\n                              \"type\": \"PRIMARY\",\n                              \"zone\": \"example.com\"\n                            }\n                          }\n                        ],\n                        \"id\": \"c2a93513-8d9b-4223-9d61-5e7272c81cf5\",\n                        \"last_deployment_created_at\": \"2021-02-10T17:05:30Z\",\n                        \"live_domain\": \"sample-golang-zyhgn.ondigitalocean.app\",\n                        \"live_url\": \"https://sample-golang-zyhgn.ondigitalocean.app\",\n                        \"live_url_base\": \"https://sample-golang-zyhgn.ondigitalocean.app\",\n                        \"owner_uuid\": \"a4e16f25-cdd1-4483-b246-d77f283c9209\",\n                        \"pending_deployment\": {\n                          \"id\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                          \"spec\": {\n                            \"domains\": [\n                              {\n                                \"domain\": \"sample-php.example.com\",\n                                \"minimum_tls_version\": \"1.3\",\n                                \"type\": \"PRIMARY\",\n                                \"zone\": \"example.com\"\n                              }\n                            ],\n                            \"name\": \"sample-php\",\n                            \"region\": \"fra\",\n                            \"services\": [\n                              {\n                                \"environment_slug\": \"php\",\n                                \"git\": {\n                                  \"branch\": \"main\",\n                                  \"repo_clone_url\": \"https://github.com/digitalocean/sample-php.git\"\n                                },\n                                \"http_port\": 8080,\n                                \"instance_count\": 1,\n                                \"instance_size_slug\": \"basic-xxs\",\n                                \"name\": \"sample-php\",\n                                \"routes\": [\n                                  {\n                                    \"path\": \"/\"\n                                  }\n                                ],\n                                \"run_command\": \"heroku-php-apache2\"\n                              }\n                            ]\n                          }\n                        },\n                        \"project_id\": \"88b72d1a-b78a-4d9f-9090-b53c4399073f\",\n                        \"region\": {\n                          \"continent\": \"Europe\",\n                          \"data_centers\": [\n                            \"ams3\"\n                          ],\n                          \"flag\": \"netherlands\",\n                          \"label\": \"Amsterdam\",\n                          \"slug\": \"ams\"\n                        },\n                        \"spec\": {\n                          \"domains\": [\n                            {\n                              \"domain\": \"sample-golang.example.com\",\n                              \"minimum_tls_version\": \"1.3\",\n                              \"zone\": \"example.com\"\n                            }\n                          ],\n                          \"name\": \"sample-golang\",\n                          \"region\": \"ams\",\n                          \"services\": [\n                            {\n                              \"environment_slug\": \"go\",\n                              \"github\": {\n                                \"branch\": \"main\",\n                                \"repo\": \"ChiefMateStarbuck/sample-golang\"\n                              },\n                              \"http_port\": 8080,\n                              \"instance_count\": 1,\n                              \"instance_size_slug\": \"basic-xxs\",\n                              \"name\": \"web\",\n                              \"routes\": [\n                                {\n                                  \"path\": \"/\"\n                                }\n                              ],\n                              \"run_command\": \"bin/sample-golang\"\n                            }\n                          ]\n                        },\n                        \"tier_slug\": \"basic\",\n                        \"updated_at\": \"2021-02-10T17:06:56Z\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"app\": {\n                      \"description\": \"An application's configuration and status.\",\n                      \"properties\": {\n                        \"active_deployment\": {\n                          \"properties\": {\n                            \"cause\": {\n                              \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                              \"title\": \"What caused this deployment to be created\",\n                              \"type\": \"string\"\n                            },\n                            \"cloned_from\": {\n                              \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                              \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                              \"type\": \"string\"\n                            },\n                            \"created_at\": {\n                              \"example\": \"2020-07-28T18:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"The creation time of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"functions\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"my-functions-component\",\n                                    \"title\": \"The name of this functions component\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"namespace\": {\n                                    \"description\": \"The namespace where the functions are deployed.\",\n                                    \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Functions components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"id\": {\n                              \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                              \"title\": \"The ID of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"jobs\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"migrate-db\",\n                                    \"title\": \"The name of this job\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this job\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Job components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"phase\": {\n                              \"default\": \"UNKNOWN\",\n                              \"enum\": [\n                                \"UNKNOWN\",\n                                \"PENDING_BUILD\",\n                                \"BUILDING\",\n                                \"PENDING_DEPLOY\",\n                                \"DEPLOYING\",\n                                \"ACTIVE\",\n                                \"SUPERSEDED\",\n                                \"ERROR\",\n                                \"CANCELED\"\n                              ],\n                              \"example\": \"ACTIVE\",\n                              \"type\": \"string\"\n                            },\n                            \"phase_last_updated_at\": {\n                              \"example\": \"0001-01-01T00:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"When the deployment phase was last updated\",\n                              \"type\": \"string\"\n                            },\n                            \"progress\": {\n                              \"properties\": {\n                                \"error_steps\": {\n                                  \"example\": 3,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of unsuccessful steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"pending_steps\": {\n                                  \"example\": 2,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of pending steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"running_steps\": {\n                                  \"example\": 2,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of currently running steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"steps\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"component_name\": {\n                                        \"example\": \"component\",\n                                        \"title\": \"The component name that this step is associated with\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ended_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The end time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message_base\": {\n                                        \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                        \"example\": \"Building service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"example_step\",\n                                        \"title\": \"The name of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"reason\": {\n                                        \"properties\": {\n                                          \"code\": {\n                                            \"example\": \"Title of Error\",\n                                            \"title\": \"The error code\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message\": {\n                                            \"example\": \"This is an error\",\n                                            \"title\": \"The error message\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"started_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The start time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"status\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING\",\n                                          \"RUNNING\",\n                                          \"ERROR\",\n                                          \"SUCCESS\"\n                                        ],\n                                        \"example\": \"SUCCESS\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Child steps of this step\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"The deployment's steps\",\n                                  \"type\": \"array\"\n                                },\n                                \"success_steps\": {\n                                  \"example\": 4,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of successful steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"summary_steps\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"component_name\": {\n                                        \"example\": \"component\",\n                                        \"title\": \"The component name that this step is associated with\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ended_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The end time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message_base\": {\n                                        \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                        \"example\": \"Building service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"example_step\",\n                                        \"title\": \"The name of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"reason\": {\n                                        \"properties\": {\n                                          \"code\": {\n                                            \"example\": \"Title of Error\",\n                                            \"title\": \"The error code\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message\": {\n                                            \"example\": \"This is an error\",\n                                            \"title\": \"The error message\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"started_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The start time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"status\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING\",\n                                          \"RUNNING\",\n                                          \"ERROR\",\n                                          \"SUCCESS\"\n                                        ],\n                                        \"example\": \"SUCCESS\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Child steps of this step\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"A flattened summary of the steps\",\n                                  \"type\": \"array\"\n                                },\n                                \"total_steps\": {\n                                  \"example\": 5,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Total number of steps\",\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"services\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"web\",\n                                    \"title\": \"The name of this service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this service\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Service components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"spec\": {\n                              \"description\": \"The desired configuration of an application.\",\n                              \"properties\": {\n                                \"databases\": {\n                                  \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"cluster_name\": {\n                                        \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                        \"example\": \"cluster_name\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"db_name\": {\n                                        \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                        \"example\": \"my_db\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"db_user\": {\n                                        \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                        \"example\": \"superuser\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"engine\": {\n                                        \"default\": \"UNSET\",\n                                        \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"MYSQL\",\n                                          \"PG\",\n                                          \"REDIS\"\n                                        ],\n                                        \"example\": \"PG\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"prod-db\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"production\": {\n                                        \"description\": \"Whether this is a production or dev database.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"version\": {\n                                        \"description\": \"The version of the database engine\",\n                                        \"example\": \"12\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"domains\": {\n                                  \"description\": \"A set of hostnames where the application will be available.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"domain\": {\n                                        \"description\": \"The hostname for the domain\",\n                                        \"example\": \"app.example.com\",\n                                        \"maxLength\": 253,\n                                        \"minLength\": 4,\n                                        \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"minimum_tls_version\": {\n                                        \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                        \"enum\": [\n                                          \"1.2\",\n                                          \"1.3\"\n                                        ],\n                                        \"example\": \"1.3\",\n                                        \"maxLength\": 3,\n                                        \"minLength\": 3,\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"DEFAULT\",\n                                          \"PRIMARY\",\n                                          \"ALIAS\"\n                                        ],\n                                        \"example\": \"DEFAULT\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"wildcard\": {\n                                        \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"zone\": {\n                                        \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                        \"example\": \"example.com\",\n                                        \"format\": \"hostname\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"domain\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"functions\": {\n                                  \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"alerts\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"disabled\": {\n                                              \"description\": \"Is the alert disabled?\",\n                                              \"example\": false,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"operator\": {\n                                              \"default\": \"UNSPECIFIED_OPERATOR\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_OPERATOR\",\n                                                \"GREATER_THAN\",\n                                                \"LESS_THAN\"\n                                              ],\n                                              \"example\": \"GREATER_THAN\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"rule\": {\n                                              \"default\": \"UNSPECIFIED_RULE\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_RULE\",\n                                                \"CPU_UTILIZATION\",\n                                                \"MEM_UTILIZATION\",\n                                                \"RESTART_COUNT\",\n                                                \"DEPLOYMENT_FAILED\",\n                                                \"DEPLOYMENT_LIVE\",\n                                                \"DOMAIN_FAILED\",\n                                                \"DOMAIN_LIVE\",\n                                                \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                \"FUNCTIONS_ERROR_COUNT\",\n                                                \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                              ],\n                                              \"example\": \"CPU_UTILIZATION\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"Threshold value for alert\",\n                                              \"example\": 2.32,\n                                              \"format\": \"float\",\n                                              \"type\": \"number\"\n                                            },\n                                            \"window\": {\n                                              \"default\": \"UNSPECIFIED_WINDOW\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_WINDOW\",\n                                                \"FIVE_MINUTES\",\n                                                \"TEN_MINUTES\",\n                                                \"THIRTY_MINUTES\",\n                                                \"ONE_HOUR\"\n                                              ],\n                                              \"example\": \"FIVE_MINUTES\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"jobs\": {\n                                  \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"kind\": {\n                                            \"default\": \"UNSPECIFIED\",\n                                            \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                            \"enum\": [\n                                              \"UNSPECIFIED\",\n                                              \"PRE_DEPLOY\",\n                                              \"POST_DEPLOY\",\n                                              \"FAILED_DEPLOY\"\n                                            ],\n                                            \"example\": \"PRE_DEPLOY\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                  \"example\": \"web-app-01\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"region\": {\n                                  \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                  \"enum\": [\n                                    \"ams\",\n                                    \"nyc\",\n                                    \"fra\",\n                                    \"sfo\",\n                                    \"sgp\",\n                                    \"blr\",\n                                    \"tor\",\n                                    \"lon\",\n                                    \"syd\"\n                                  ],\n                                  \"example\": \"nyc\",\n                                  \"type\": \"string\"\n                                },\n                                \"services\": {\n                                  \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"health_check\": {\n                                            \"properties\": {\n                                              \"failure_threshold\": {\n                                                \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                \"example\": 2,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"http_path\": {\n                                                \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                \"example\": \"/health\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"initial_delay_seconds\": {\n                                                \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                \"example\": 30,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"period_seconds\": {\n                                                \"description\": \"The number of seconds to wait between health checks.\",\n                                                \"example\": 60,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"port\": {\n                                                \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                \"example\": 80,\n                                                \"format\": \"int64\",\n                                                \"maximum\": 65535,\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"success_threshold\": {\n                                                \"description\": \"The number of successful health checks before considered healthy.\",\n                                                \"example\": 3,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"timeout_seconds\": {\n                                                \"description\": \"The number of seconds after which the check times out.\",\n                                                \"example\": 45,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"http_port\": {\n                                            \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                            \"example\": 3000,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"internal_ports\": {\n                                            \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                            \"example\": [\n                                              80,\n                                              443\n                                            ],\n                                            \"items\": {\n                                              \"format\": \"int64\",\n                                              \"type\": \"integer\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"static_sites\": {\n                                  \"description\": \"Content which can be rendered to static web assets.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"catchall_document\": {\n                                            \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                            \"example\": \"index.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"error_document\": {\n                                            \"default\": \"404.html\",\n                                            \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                            \"example\": \"error.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"index_document\": {\n                                            \"default\": \"index.html\",\n                                            \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                            \"example\": \"main.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"output_dir\": {\n                                            \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                            \"example\": \"dist/\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"required\": [\n                                      \"name\"\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"workers\": {\n                                  \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"required\": [\n                                      \"name\"\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"title\": \"AppSpec\",\n                              \"type\": \"object\"\n                            },\n                            \"static_sites\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"web\",\n                                    \"title\": \"The name of this static site\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Static Site components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"tier_slug\": {\n                              \"example\": \"basic\",\n                              \"readOnly\": true,\n                              \"title\": \"The current pricing tier slug of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"example\": \"2020-07-28T18:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"When the deployment was last updated\",\n                              \"type\": \"string\"\n                            },\n                            \"workers\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"queue-runner\",\n                                    \"title\": \"The name of this worker\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Worker components that are part of this deployment\",\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"title\": \"An app deployment\",\n                          \"type\": \"object\"\n                        },\n                        \"created_at\": {\n                          \"example\": \"2020-11-19T20:27:18Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"title\": \"The creation time of the app\",\n                          \"type\": \"string\"\n                        },\n                        \"default_ingress\": {\n                          \"example\": \"digitalocean.com\",\n                          \"readOnly\": true,\n                          \"title\": \"The default hostname on which the app is accessible\",\n                          \"type\": \"string\"\n                        },\n                        \"domains\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"certificate_expires_at\": {\n                                \"example\": \"2024-01-29T23:59:59Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"title\": \"Current SSL certificate expiration time\",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                                \"title\": \"The ID of the domain\",\n                                \"type\": \"string\"\n                              },\n                              \"phase\": {\n                                \"default\": \"UNKNOWN\",\n                                \"enum\": [\n                                  \"UNKNOWN\",\n                                  \"PENDING\",\n                                  \"CONFIGURING\",\n                                  \"ACTIVE\",\n                                  \"ERROR\"\n                                ],\n                                \"example\": \"ACTIVE\",\n                                \"type\": \"string\"\n                              },\n                              \"progress\": {\n                                \"properties\": {\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"The steps of the domain's progress\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"rotate_validation_records\": {\n                                \"readOnly\": true,\n                                \"title\": \"Validation values have changed and require manual intervention\",\n                                \"type\": \"boolean\"\n                              },\n                              \"spec\": {\n                                \"properties\": {\n                                  \"domain\": {\n                                    \"description\": \"The hostname for the domain\",\n                                    \"example\": \"app.example.com\",\n                                    \"maxLength\": 253,\n                                    \"minLength\": 4,\n                                    \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"minimum_tls_version\": {\n                                    \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                    \"enum\": [\n                                      \"1.2\",\n                                      \"1.3\"\n                                    ],\n                                    \"example\": \"1.3\",\n                                    \"maxLength\": 3,\n                                    \"minLength\": 3,\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"UNSPECIFIED\",\n                                    \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED\",\n                                      \"DEFAULT\",\n                                      \"PRIMARY\",\n                                      \"ALIAS\"\n                                    ],\n                                    \"example\": \"DEFAULT\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"wildcard\": {\n                                    \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"zone\": {\n                                    \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                    \"example\": \"example.com\",\n                                    \"format\": \"hostname\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"domain\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"validations\": {\n                                \"items\": {\n                                  \"properties\": {\n                                    \"txt_name\": {\n                                      \"example\": \"_acme-challenge.app.example.com\",\n                                      \"readOnly\": true,\n                                      \"title\": \"TXT record name\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"txt_value\": {\n                                      \"example\": \"lXLOcN6cPv0nproViNcUHcahD9TrIPlNgdwesj0pYpk\",\n                                      \"readOnly\": true,\n                                      \"title\": \"TXT record value\",\n                                      \"type\": \"string\"\n                                    }\n                                  }\n                                },\n                                \"title\": \"List of TXT validation records\",\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"readOnly\": true,\n                          \"title\": \"Contains all domains for the app\",\n                          \"type\": \"array\"\n                        },\n                        \"id\": {\n                          \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                          \"readOnly\": true,\n                          \"title\": \"The ID of the application\",\n                          \"type\": \"string\"\n                        },\n                        \"in_progress_deployment\": {\n                          \"properties\": {\n                            \"cause\": {\n                              \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                              \"title\": \"What caused this deployment to be created\",\n                              \"type\": \"string\"\n                            },\n                            \"cloned_from\": {\n                              \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                              \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                              \"type\": \"string\"\n                            },\n                            \"created_at\": {\n                              \"example\": \"2020-07-28T18:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"The creation time of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"functions\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"my-functions-component\",\n                                    \"title\": \"The name of this functions component\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"namespace\": {\n                                    \"description\": \"The namespace where the functions are deployed.\",\n                                    \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Functions components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"id\": {\n                              \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                              \"title\": \"The ID of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"jobs\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"migrate-db\",\n                                    \"title\": \"The name of this job\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this job\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Job components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"phase\": {\n                              \"default\": \"UNKNOWN\",\n                              \"enum\": [\n                                \"UNKNOWN\",\n                                \"PENDING_BUILD\",\n                                \"BUILDING\",\n                                \"PENDING_DEPLOY\",\n                                \"DEPLOYING\",\n                                \"ACTIVE\",\n                                \"SUPERSEDED\",\n                                \"ERROR\",\n                                \"CANCELED\"\n                              ],\n                              \"example\": \"ACTIVE\",\n                              \"type\": \"string\"\n                            },\n                            \"phase_last_updated_at\": {\n                              \"example\": \"0001-01-01T00:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"When the deployment phase was last updated\",\n                              \"type\": \"string\"\n                            },\n                            \"progress\": {\n                              \"properties\": {\n                                \"error_steps\": {\n                                  \"example\": 3,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of unsuccessful steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"pending_steps\": {\n                                  \"example\": 2,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of pending steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"running_steps\": {\n                                  \"example\": 2,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of currently running steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"steps\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"component_name\": {\n                                        \"example\": \"component\",\n                                        \"title\": \"The component name that this step is associated with\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ended_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The end time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message_base\": {\n                                        \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                        \"example\": \"Building service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"example_step\",\n                                        \"title\": \"The name of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"reason\": {\n                                        \"properties\": {\n                                          \"code\": {\n                                            \"example\": \"Title of Error\",\n                                            \"title\": \"The error code\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message\": {\n                                            \"example\": \"This is an error\",\n                                            \"title\": \"The error message\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"started_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The start time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"status\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING\",\n                                          \"RUNNING\",\n                                          \"ERROR\",\n                                          \"SUCCESS\"\n                                        ],\n                                        \"example\": \"SUCCESS\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Child steps of this step\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"The deployment's steps\",\n                                  \"type\": \"array\"\n                                },\n                                \"success_steps\": {\n                                  \"example\": 4,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of successful steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"summary_steps\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"component_name\": {\n                                        \"example\": \"component\",\n                                        \"title\": \"The component name that this step is associated with\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ended_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The end time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message_base\": {\n                                        \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                        \"example\": \"Building service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"example_step\",\n                                        \"title\": \"The name of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"reason\": {\n                                        \"properties\": {\n                                          \"code\": {\n                                            \"example\": \"Title of Error\",\n                                            \"title\": \"The error code\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message\": {\n                                            \"example\": \"This is an error\",\n                                            \"title\": \"The error message\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"started_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The start time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"status\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING\",\n                                          \"RUNNING\",\n                                          \"ERROR\",\n                                          \"SUCCESS\"\n                                        ],\n                                        \"example\": \"SUCCESS\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Child steps of this step\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"A flattened summary of the steps\",\n                                  \"type\": \"array\"\n                                },\n                                \"total_steps\": {\n                                  \"example\": 5,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Total number of steps\",\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"services\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"web\",\n                                    \"title\": \"The name of this service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this service\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Service components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"spec\": {\n                              \"description\": \"The desired configuration of an application.\",\n                              \"properties\": {\n                                \"databases\": {\n                                  \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"cluster_name\": {\n                                        \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                        \"example\": \"cluster_name\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"db_name\": {\n                                        \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                        \"example\": \"my_db\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"db_user\": {\n                                        \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                        \"example\": \"superuser\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"engine\": {\n                                        \"default\": \"UNSET\",\n                                        \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"MYSQL\",\n                                          \"PG\",\n                                          \"REDIS\"\n                                        ],\n                                        \"example\": \"PG\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"prod-db\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"production\": {\n                                        \"description\": \"Whether this is a production or dev database.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"version\": {\n                                        \"description\": \"The version of the database engine\",\n                                        \"example\": \"12\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"domains\": {\n                                  \"description\": \"A set of hostnames where the application will be available.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"domain\": {\n                                        \"description\": \"The hostname for the domain\",\n                                        \"example\": \"app.example.com\",\n                                        \"maxLength\": 253,\n                                        \"minLength\": 4,\n                                        \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"minimum_tls_version\": {\n                                        \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                        \"enum\": [\n                                          \"1.2\",\n                                          \"1.3\"\n                                        ],\n                                        \"example\": \"1.3\",\n                                        \"maxLength\": 3,\n                                        \"minLength\": 3,\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"DEFAULT\",\n                                          \"PRIMARY\",\n                                          \"ALIAS\"\n                                        ],\n                                        \"example\": \"DEFAULT\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"wildcard\": {\n                                        \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"zone\": {\n                                        \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                        \"example\": \"example.com\",\n                                        \"format\": \"hostname\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"domain\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"functions\": {\n                                  \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"alerts\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"disabled\": {\n                                              \"description\": \"Is the alert disabled?\",\n                                              \"example\": false,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"operator\": {\n                                              \"default\": \"UNSPECIFIED_OPERATOR\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_OPERATOR\",\n                                                \"GREATER_THAN\",\n                                                \"LESS_THAN\"\n                                              ],\n                                              \"example\": \"GREATER_THAN\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"rule\": {\n                                              \"default\": \"UNSPECIFIED_RULE\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_RULE\",\n                                                \"CPU_UTILIZATION\",\n                                                \"MEM_UTILIZATION\",\n                                                \"RESTART_COUNT\",\n                                                \"DEPLOYMENT_FAILED\",\n                                                \"DEPLOYMENT_LIVE\",\n                                                \"DOMAIN_FAILED\",\n                                                \"DOMAIN_LIVE\",\n                                                \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                \"FUNCTIONS_ERROR_COUNT\",\n                                                \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                              ],\n                                              \"example\": \"CPU_UTILIZATION\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"Threshold value for alert\",\n                                              \"example\": 2.32,\n                                              \"format\": \"float\",\n                                              \"type\": \"number\"\n                                            },\n                                            \"window\": {\n                                              \"default\": \"UNSPECIFIED_WINDOW\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_WINDOW\",\n                                                \"FIVE_MINUTES\",\n                                                \"TEN_MINUTES\",\n                                                \"THIRTY_MINUTES\",\n                                                \"ONE_HOUR\"\n                                              ],\n                                              \"example\": \"FIVE_MINUTES\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"jobs\": {\n                                  \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"kind\": {\n                                            \"default\": \"UNSPECIFIED\",\n                                            \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                            \"enum\": [\n                                              \"UNSPECIFIED\",\n                                              \"PRE_DEPLOY\",\n                                              \"POST_DEPLOY\",\n                                              \"FAILED_DEPLOY\"\n                                            ],\n                                            \"example\": \"PRE_DEPLOY\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                  \"example\": \"web-app-01\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"region\": {\n                                  \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                  \"enum\": [\n                                    \"ams\",\n                                    \"nyc\",\n                                    \"fra\",\n                                    \"sfo\",\n                                    \"sgp\",\n                                    \"blr\",\n                                    \"tor\",\n                                    \"lon\",\n                                    \"syd\"\n                                  ],\n                                  \"example\": \"nyc\",\n                                  \"type\": \"string\"\n                                },\n                                \"services\": {\n                                  \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"health_check\": {\n                                            \"properties\": {\n                                              \"failure_threshold\": {\n                                                \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                \"example\": 2,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"http_path\": {\n                                                \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                \"example\": \"/health\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"initial_delay_seconds\": {\n                                                \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                \"example\": 30,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"period_seconds\": {\n                                                \"description\": \"The number of seconds to wait between health checks.\",\n                                                \"example\": 60,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"port\": {\n                                                \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                \"example\": 80,\n                                                \"format\": \"int64\",\n                                                \"maximum\": 65535,\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"success_threshold\": {\n                                                \"description\": \"The number of successful health checks before considered healthy.\",\n                                                \"example\": 3,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"timeout_seconds\": {\n                                                \"description\": \"The number of seconds after which the check times out.\",\n                                                \"example\": 45,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"http_port\": {\n                                            \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                            \"example\": 3000,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"internal_ports\": {\n                                            \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                            \"example\": [\n                                              80,\n                                              443\n                                            ],\n                                            \"items\": {\n                                              \"format\": \"int64\",\n                                              \"type\": \"integer\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"static_sites\": {\n                                  \"description\": \"Content which can be rendered to static web assets.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"catchall_document\": {\n                                            \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                            \"example\": \"index.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"error_document\": {\n                                            \"default\": \"404.html\",\n                                            \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                            \"example\": \"error.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"index_document\": {\n                                            \"default\": \"index.html\",\n                                            \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                            \"example\": \"main.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"output_dir\": {\n                                            \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                            \"example\": \"dist/\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"required\": [\n                                      \"name\"\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"workers\": {\n                                  \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"required\": [\n                                      \"name\"\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"title\": \"AppSpec\",\n                              \"type\": \"object\"\n                            },\n                            \"static_sites\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"web\",\n                                    \"title\": \"The name of this static site\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Static Site components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"tier_slug\": {\n                              \"example\": \"basic\",\n                              \"readOnly\": true,\n                              \"title\": \"The current pricing tier slug of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"example\": \"2020-07-28T18:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"When the deployment was last updated\",\n                              \"type\": \"string\"\n                            },\n                            \"workers\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"queue-runner\",\n                                    \"title\": \"The name of this worker\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Worker components that are part of this deployment\",\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"title\": \"An app deployment\",\n                          \"type\": \"object\"\n                        },\n                        \"last_deployment_created_at\": {\n                          \"example\": \"2020-11-19T20:27:18Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"title\": \"The creation time of the last deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"live_domain\": {\n                          \"example\": \"live_domain\",\n                          \"readOnly\": true,\n                          \"title\": \"The live domain of the app\",\n                          \"type\": \"string\"\n                        },\n                        \"live_url\": {\n                          \"example\": \"google.com\",\n                          \"readOnly\": true,\n                          \"title\": \"The live URL of the app\",\n                          \"type\": \"string\"\n                        },\n                        \"live_url_base\": {\n                          \"example\": \"digitalocean.com\",\n                          \"readOnly\": true,\n                          \"title\": \"The live URL base of the app, the URL excluding the path\",\n                          \"type\": \"string\"\n                        },\n                        \"owner_uuid\": {\n                          \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                          \"readOnly\": true,\n                          \"title\": \"The ID of the account to which the application belongs\",\n                          \"type\": \"string\"\n                        },\n                        \"pending_deployment\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"The most recent pending deployment. For CreateApp and UpdateApp transactions this is guaranteed to reflect the associated deployment.\"\n                            },\n                            {\n                              \"properties\": {\n                                \"cause\": {\n                                  \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                                  \"title\": \"What caused this deployment to be created\",\n                                  \"type\": \"string\"\n                                },\n                                \"cloned_from\": {\n                                  \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                                  \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                                  \"type\": \"string\"\n                                },\n                                \"created_at\": {\n                                  \"example\": \"2020-07-28T18:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"The creation time of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"functions\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"my-functions-component\",\n                                        \"title\": \"The name of this functions component\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"namespace\": {\n                                        \"description\": \"The namespace where the functions are deployed.\",\n                                        \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Functions components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"id\": {\n                                  \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                                  \"title\": \"The ID of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"jobs\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"migrate-db\",\n                                        \"title\": \"The name of this job\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this job\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Job components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"phase\": {\n                                  \"default\": \"UNKNOWN\",\n                                  \"enum\": [\n                                    \"UNKNOWN\",\n                                    \"PENDING_BUILD\",\n                                    \"BUILDING\",\n                                    \"PENDING_DEPLOY\",\n                                    \"DEPLOYING\",\n                                    \"ACTIVE\",\n                                    \"SUPERSEDED\",\n                                    \"ERROR\",\n                                    \"CANCELED\"\n                                  ],\n                                  \"example\": \"ACTIVE\",\n                                  \"type\": \"string\"\n                                },\n                                \"phase_last_updated_at\": {\n                                  \"example\": \"0001-01-01T00:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"When the deployment phase was last updated\",\n                                  \"type\": \"string\"\n                                },\n                                \"progress\": {\n                                  \"properties\": {\n                                    \"error_steps\": {\n                                      \"example\": 3,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of unsuccessful steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"pending_steps\": {\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of pending steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"running_steps\": {\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of currently running steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"steps\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"component_name\": {\n                                            \"example\": \"component\",\n                                            \"title\": \"The component name that this step is associated with\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ended_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The end time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message_base\": {\n                                            \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                            \"example\": \"Building service\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"example_step\",\n                                            \"title\": \"The name of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"reason\": {\n                                            \"properties\": {\n                                              \"code\": {\n                                                \"example\": \"Title of Error\",\n                                                \"title\": \"The error code\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"message\": {\n                                                \"example\": \"This is an error\",\n                                                \"title\": \"The error message\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"started_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The start time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"default\": \"UNKNOWN\",\n                                            \"enum\": [\n                                              \"UNKNOWN\",\n                                              \"PENDING\",\n                                              \"RUNNING\",\n                                              \"ERROR\",\n                                              \"SUCCESS\"\n                                            ],\n                                            \"example\": \"SUCCESS\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"Child steps of this step\",\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"title\": \"The deployment's steps\",\n                                      \"type\": \"array\"\n                                    },\n                                    \"success_steps\": {\n                                      \"example\": 4,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of successful steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"summary_steps\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"component_name\": {\n                                            \"example\": \"component\",\n                                            \"title\": \"The component name that this step is associated with\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ended_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The end time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message_base\": {\n                                            \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                            \"example\": \"Building service\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"example_step\",\n                                            \"title\": \"The name of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"reason\": {\n                                            \"properties\": {\n                                              \"code\": {\n                                                \"example\": \"Title of Error\",\n                                                \"title\": \"The error code\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"message\": {\n                                                \"example\": \"This is an error\",\n                                                \"title\": \"The error message\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"started_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The start time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"default\": \"UNKNOWN\",\n                                            \"enum\": [\n                                              \"UNKNOWN\",\n                                              \"PENDING\",\n                                              \"RUNNING\",\n                                              \"ERROR\",\n                                              \"SUCCESS\"\n                                            ],\n                                            \"example\": \"SUCCESS\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"Child steps of this step\",\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"title\": \"A flattened summary of the steps\",\n                                      \"type\": \"array\"\n                                    },\n                                    \"total_steps\": {\n                                      \"example\": 5,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Total number of steps\",\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"services\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"web\",\n                                        \"title\": \"The name of this service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this service\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Service components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"spec\": {\n                                  \"description\": \"The desired configuration of an application.\",\n                                  \"properties\": {\n                                    \"databases\": {\n                                      \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"cluster_name\": {\n                                            \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                            \"example\": \"cluster_name\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"db_name\": {\n                                            \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                            \"example\": \"my_db\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"db_user\": {\n                                            \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                            \"example\": \"superuser\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"engine\": {\n                                            \"default\": \"UNSET\",\n                                            \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                            \"enum\": [\n                                              \"UNSET\",\n                                              \"MYSQL\",\n                                              \"PG\",\n                                              \"REDIS\"\n                                            ],\n                                            \"example\": \"PG\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"prod-db\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"production\": {\n                                            \"description\": \"Whether this is a production or dev database.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"version\": {\n                                            \"description\": \"The version of the database engine\",\n                                            \"example\": \"12\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"domains\": {\n                                      \"description\": \"A set of hostnames where the application will be available.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"domain\": {\n                                            \"description\": \"The hostname for the domain\",\n                                            \"example\": \"app.example.com\",\n                                            \"maxLength\": 253,\n                                            \"minLength\": 4,\n                                            \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"minimum_tls_version\": {\n                                            \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                            \"enum\": [\n                                              \"1.2\",\n                                              \"1.3\"\n                                            ],\n                                            \"example\": \"1.3\",\n                                            \"maxLength\": 3,\n                                            \"minLength\": 3,\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": {\n                                            \"default\": \"UNSPECIFIED\",\n                                            \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                            \"enum\": [\n                                              \"UNSPECIFIED\",\n                                              \"DEFAULT\",\n                                              \"PRIMARY\",\n                                              \"ALIAS\"\n                                            ],\n                                            \"example\": \"DEFAULT\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"wildcard\": {\n                                            \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"zone\": {\n                                            \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                            \"example\": \"example.com\",\n                                            \"format\": \"hostname\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"domain\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"functions\": {\n                                      \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"alerts\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"disabled\": {\n                                                  \"description\": \"Is the alert disabled?\",\n                                                  \"example\": false,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"operator\": {\n                                                  \"default\": \"UNSPECIFIED_OPERATOR\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_OPERATOR\",\n                                                    \"GREATER_THAN\",\n                                                    \"LESS_THAN\"\n                                                  ],\n                                                  \"example\": \"GREATER_THAN\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"rule\": {\n                                                  \"default\": \"UNSPECIFIED_RULE\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_RULE\",\n                                                    \"CPU_UTILIZATION\",\n                                                    \"MEM_UTILIZATION\",\n                                                    \"RESTART_COUNT\",\n                                                    \"DEPLOYMENT_FAILED\",\n                                                    \"DEPLOYMENT_LIVE\",\n                                                    \"DOMAIN_FAILED\",\n                                                    \"DOMAIN_LIVE\",\n                                                    \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                    \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                    \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                    \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                    \"FUNCTIONS_ERROR_COUNT\",\n                                                    \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                                  ],\n                                                  \"example\": \"CPU_UTILIZATION\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"Threshold value for alert\",\n                                                  \"example\": 2.32,\n                                                  \"format\": \"float\",\n                                                  \"type\": \"number\"\n                                                },\n                                                \"window\": {\n                                                  \"default\": \"UNSPECIFIED_WINDOW\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_WINDOW\",\n                                                    \"FIVE_MINUTES\",\n                                                    \"TEN_MINUTES\",\n                                                    \"THIRTY_MINUTES\",\n                                                    \"ONE_HOUR\"\n                                                  ],\n                                                  \"example\": \"FIVE_MINUTES\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"jobs\": {\n                                      \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"kind\": {\n                                                \"default\": \"UNSPECIFIED\",\n                                                \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                                \"enum\": [\n                                                  \"UNSPECIFIED\",\n                                                  \"PRE_DEPLOY\",\n                                                  \"POST_DEPLOY\",\n                                                  \"FAILED_DEPLOY\"\n                                                ],\n                                                \"example\": \"PRE_DEPLOY\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                      \"example\": \"web-app-01\",\n                                      \"maxLength\": 32,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"region\": {\n                                      \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                      \"enum\": [\n                                        \"ams\",\n                                        \"nyc\",\n                                        \"fra\",\n                                        \"sfo\",\n                                        \"sgp\",\n                                        \"blr\",\n                                        \"tor\",\n                                        \"lon\",\n                                        \"syd\"\n                                      ],\n                                      \"example\": \"nyc\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"services\": {\n                                      \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"cors\": {\n                                                \"properties\": {\n                                                  \"allow_credentials\": {\n                                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"allow_headers\": {\n                                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Type\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_methods\": {\n                                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                    \"example\": [\n                                                      \"GET\",\n                                                      \"OPTIONS\",\n                                                      \"POST\",\n                                                      \"PUT\",\n                                                      \"PATCH\",\n                                                      \"DELETE\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_origins\": {\n                                                    \"description\": \"The set of allowed CORS origins.\",\n                                                    \"example\": [\n                                                      {\n                                                        \"exact\": \"https://www.example.com\"\n                                                      },\n                                                      {\n                                                        \"regex\": \"^.*example.com\"\n                                                      }\n                                                    ],\n                                                    \"items\": {\n                                                      \"properties\": {\n                                                        \"exact\": {\n                                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"prefix\": {\n                                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"regex\": {\n                                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                          \"example\": \"^.*example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"expose_headers\": {\n                                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Encoding\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"max_age\": {\n                                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                    \"example\": \"5h30m\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"health_check\": {\n                                                \"properties\": {\n                                                  \"failure_threshold\": {\n                                                    \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                    \"example\": 2,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"http_path\": {\n                                                    \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                    \"example\": \"/health\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"initial_delay_seconds\": {\n                                                    \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                    \"example\": 30,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"period_seconds\": {\n                                                    \"description\": \"The number of seconds to wait between health checks.\",\n                                                    \"example\": 60,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"port\": {\n                                                    \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                    \"example\": 80,\n                                                    \"format\": \"int64\",\n                                                    \"maximum\": 65535,\n                                                    \"minimum\": 1,\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"success_threshold\": {\n                                                    \"description\": \"The number of successful health checks before considered healthy.\",\n                                                    \"example\": 3,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"timeout_seconds\": {\n                                                    \"description\": \"The number of seconds after which the check times out.\",\n                                                    \"example\": 45,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"http_port\": {\n                                                \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                                \"example\": 3000,\n                                                \"format\": \"int64\",\n                                                \"maximum\": 65535,\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"internal_ports\": {\n                                                \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                                \"example\": [\n                                                  80,\n                                                  443\n                                                ],\n                                                \"items\": {\n                                                  \"format\": \"int64\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"routes\": {\n                                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"path\": {\n                                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                      \"example\": \"/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"preserve_path_prefix\": {\n                                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    }\n                                                  },\n                                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"static_sites\": {\n                                      \"description\": \"Content which can be rendered to static web assets.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"catchall_document\": {\n                                                \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                                \"example\": \"index.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"cors\": {\n                                                \"properties\": {\n                                                  \"allow_credentials\": {\n                                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"allow_headers\": {\n                                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Type\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_methods\": {\n                                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                    \"example\": [\n                                                      \"GET\",\n                                                      \"OPTIONS\",\n                                                      \"POST\",\n                                                      \"PUT\",\n                                                      \"PATCH\",\n                                                      \"DELETE\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_origins\": {\n                                                    \"description\": \"The set of allowed CORS origins.\",\n                                                    \"example\": [\n                                                      {\n                                                        \"exact\": \"https://www.example.com\"\n                                                      },\n                                                      {\n                                                        \"regex\": \"^.*example.com\"\n                                                      }\n                                                    ],\n                                                    \"items\": {\n                                                      \"properties\": {\n                                                        \"exact\": {\n                                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"prefix\": {\n                                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"regex\": {\n                                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                          \"example\": \"^.*example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"expose_headers\": {\n                                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Encoding\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"max_age\": {\n                                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                    \"example\": \"5h30m\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"error_document\": {\n                                                \"default\": \"404.html\",\n                                                \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                                \"example\": \"error.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"index_document\": {\n                                                \"default\": \"index.html\",\n                                                \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                                \"example\": \"main.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"output_dir\": {\n                                                \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                                \"example\": \"dist/\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"routes\": {\n                                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"path\": {\n                                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                      \"example\": \"/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"preserve_path_prefix\": {\n                                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    }\n                                                  },\n                                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          }\n                                        ],\n                                        \"required\": [\n                                          \"name\"\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"workers\": {\n                                      \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          }\n                                        ],\n                                        \"required\": [\n                                          \"name\"\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"AppSpec\",\n                                  \"type\": \"object\"\n                                },\n                                \"static_sites\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"web\",\n                                        \"title\": \"The name of this static site\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Static Site components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"tier_slug\": {\n                                  \"example\": \"basic\",\n                                  \"readOnly\": true,\n                                  \"title\": \"The current pricing tier slug of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"updated_at\": {\n                                  \"example\": \"2020-07-28T18:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"When the deployment was last updated\",\n                                  \"type\": \"string\"\n                                },\n                                \"workers\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"queue-runner\",\n                                        \"title\": \"The name of this worker\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Worker components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"title\": \"An app deployment\",\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"pinned_deployment\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"The deployment that the app is pinned to.\"\n                            },\n                            {\n                              \"properties\": {\n                                \"cause\": {\n                                  \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                                  \"title\": \"What caused this deployment to be created\",\n                                  \"type\": \"string\"\n                                },\n                                \"cloned_from\": {\n                                  \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                                  \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                                  \"type\": \"string\"\n                                },\n                                \"created_at\": {\n                                  \"example\": \"2020-07-28T18:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"The creation time of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"functions\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"my-functions-component\",\n                                        \"title\": \"The name of this functions component\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"namespace\": {\n                                        \"description\": \"The namespace where the functions are deployed.\",\n                                        \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Functions components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"id\": {\n                                  \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                                  \"title\": \"The ID of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"jobs\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"migrate-db\",\n                                        \"title\": \"The name of this job\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this job\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Job components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"phase\": {\n                                  \"default\": \"UNKNOWN\",\n                                  \"enum\": [\n                                    \"UNKNOWN\",\n                                    \"PENDING_BUILD\",\n                                    \"BUILDING\",\n                                    \"PENDING_DEPLOY\",\n                                    \"DEPLOYING\",\n                                    \"ACTIVE\",\n                                    \"SUPERSEDED\",\n                                    \"ERROR\",\n                                    \"CANCELED\"\n                                  ],\n                                  \"example\": \"ACTIVE\",\n                                  \"type\": \"string\"\n                                },\n                                \"phase_last_updated_at\": {\n                                  \"example\": \"0001-01-01T00:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"When the deployment phase was last updated\",\n                                  \"type\": \"string\"\n                                },\n                                \"progress\": {\n                                  \"properties\": {\n                                    \"error_steps\": {\n                                      \"example\": 3,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of unsuccessful steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"pending_steps\": {\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of pending steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"running_steps\": {\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of currently running steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"steps\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"component_name\": {\n                                            \"example\": \"component\",\n                                            \"title\": \"The component name that this step is associated with\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ended_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The end time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message_base\": {\n                                            \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                            \"example\": \"Building service\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"example_step\",\n                                            \"title\": \"The name of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"reason\": {\n                                            \"properties\": {\n                                              \"code\": {\n                                                \"example\": \"Title of Error\",\n                                                \"title\": \"The error code\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"message\": {\n                                                \"example\": \"This is an error\",\n                                                \"title\": \"The error message\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"started_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The start time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"default\": \"UNKNOWN\",\n                                            \"enum\": [\n                                              \"UNKNOWN\",\n                                              \"PENDING\",\n                                              \"RUNNING\",\n                                              \"ERROR\",\n                                              \"SUCCESS\"\n                                            ],\n                                            \"example\": \"SUCCESS\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"Child steps of this step\",\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"title\": \"The deployment's steps\",\n                                      \"type\": \"array\"\n                                    },\n                                    \"success_steps\": {\n                                      \"example\": 4,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of successful steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"summary_steps\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"component_name\": {\n                                            \"example\": \"component\",\n                                            \"title\": \"The component name that this step is associated with\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ended_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The end time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message_base\": {\n                                            \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                            \"example\": \"Building service\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"example_step\",\n                                            \"title\": \"The name of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"reason\": {\n                                            \"properties\": {\n                                              \"code\": {\n                                                \"example\": \"Title of Error\",\n                                                \"title\": \"The error code\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"message\": {\n                                                \"example\": \"This is an error\",\n                                                \"title\": \"The error message\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"started_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The start time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"default\": \"UNKNOWN\",\n                                            \"enum\": [\n                                              \"UNKNOWN\",\n                                              \"PENDING\",\n                                              \"RUNNING\",\n                                              \"ERROR\",\n                                              \"SUCCESS\"\n                                            ],\n                                            \"example\": \"SUCCESS\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"Child steps of this step\",\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"title\": \"A flattened summary of the steps\",\n                                      \"type\": \"array\"\n                                    },\n                                    \"total_steps\": {\n                                      \"example\": 5,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Total number of steps\",\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"services\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"web\",\n                                        \"title\": \"The name of this service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this service\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Service components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"spec\": {\n                                  \"description\": \"The desired configuration of an application.\",\n                                  \"properties\": {\n                                    \"databases\": {\n                                      \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"cluster_name\": {\n                                            \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                            \"example\": \"cluster_name\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"db_name\": {\n                                            \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                            \"example\": \"my_db\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"db_user\": {\n                                            \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                            \"example\": \"superuser\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"engine\": {\n                                            \"default\": \"UNSET\",\n                                            \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                            \"enum\": [\n                                              \"UNSET\",\n                                              \"MYSQL\",\n                                              \"PG\",\n                                              \"REDIS\"\n                                            ],\n                                            \"example\": \"PG\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"prod-db\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"production\": {\n                                            \"description\": \"Whether this is a production or dev database.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"version\": {\n                                            \"description\": \"The version of the database engine\",\n                                            \"example\": \"12\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"domains\": {\n                                      \"description\": \"A set of hostnames where the application will be available.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"domain\": {\n                                            \"description\": \"The hostname for the domain\",\n                                            \"example\": \"app.example.com\",\n                                            \"maxLength\": 253,\n                                            \"minLength\": 4,\n                                            \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"minimum_tls_version\": {\n                                            \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                            \"enum\": [\n                                              \"1.2\",\n                                              \"1.3\"\n                                            ],\n                                            \"example\": \"1.3\",\n                                            \"maxLength\": 3,\n                                            \"minLength\": 3,\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": {\n                                            \"default\": \"UNSPECIFIED\",\n                                            \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                            \"enum\": [\n                                              \"UNSPECIFIED\",\n                                              \"DEFAULT\",\n                                              \"PRIMARY\",\n                                              \"ALIAS\"\n                                            ],\n                                            \"example\": \"DEFAULT\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"wildcard\": {\n                                            \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"zone\": {\n                                            \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                            \"example\": \"example.com\",\n                                            \"format\": \"hostname\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"domain\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"functions\": {\n                                      \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"alerts\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"disabled\": {\n                                                  \"description\": \"Is the alert disabled?\",\n                                                  \"example\": false,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"operator\": {\n                                                  \"default\": \"UNSPECIFIED_OPERATOR\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_OPERATOR\",\n                                                    \"GREATER_THAN\",\n                                                    \"LESS_THAN\"\n                                                  ],\n                                                  \"example\": \"GREATER_THAN\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"rule\": {\n                                                  \"default\": \"UNSPECIFIED_RULE\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_RULE\",\n                                                    \"CPU_UTILIZATION\",\n                                                    \"MEM_UTILIZATION\",\n                                                    \"RESTART_COUNT\",\n                                                    \"DEPLOYMENT_FAILED\",\n                                                    \"DEPLOYMENT_LIVE\",\n                                                    \"DOMAIN_FAILED\",\n                                                    \"DOMAIN_LIVE\",\n                                                    \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                    \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                    \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                    \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                    \"FUNCTIONS_ERROR_COUNT\",\n                                                    \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                                  ],\n                                                  \"example\": \"CPU_UTILIZATION\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"Threshold value for alert\",\n                                                  \"example\": 2.32,\n                                                  \"format\": \"float\",\n                                                  \"type\": \"number\"\n                                                },\n                                                \"window\": {\n                                                  \"default\": \"UNSPECIFIED_WINDOW\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_WINDOW\",\n                                                    \"FIVE_MINUTES\",\n                                                    \"TEN_MINUTES\",\n                                                    \"THIRTY_MINUTES\",\n                                                    \"ONE_HOUR\"\n                                                  ],\n                                                  \"example\": \"FIVE_MINUTES\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"jobs\": {\n                                      \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"kind\": {\n                                                \"default\": \"UNSPECIFIED\",\n                                                \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                                \"enum\": [\n                                                  \"UNSPECIFIED\",\n                                                  \"PRE_DEPLOY\",\n                                                  \"POST_DEPLOY\",\n                                                  \"FAILED_DEPLOY\"\n                                                ],\n                                                \"example\": \"PRE_DEPLOY\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                      \"example\": \"web-app-01\",\n                                      \"maxLength\": 32,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"region\": {\n                                      \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                      \"enum\": [\n                                        \"ams\",\n                                        \"nyc\",\n                                        \"fra\",\n                                        \"sfo\",\n                                        \"sgp\",\n                                        \"blr\",\n                                        \"tor\",\n                                        \"lon\",\n                                        \"syd\"\n                                      ],\n                                      \"example\": \"nyc\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"services\": {\n                                      \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"cors\": {\n                                                \"properties\": {\n                                                  \"allow_credentials\": {\n                                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"allow_headers\": {\n                                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Type\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_methods\": {\n                                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                    \"example\": [\n                                                      \"GET\",\n                                                      \"OPTIONS\",\n                                                      \"POST\",\n                                                      \"PUT\",\n                                                      \"PATCH\",\n                                                      \"DELETE\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_origins\": {\n                                                    \"description\": \"The set of allowed CORS origins.\",\n                                                    \"example\": [\n                                                      {\n                                                        \"exact\": \"https://www.example.com\"\n                                                      },\n                                                      {\n                                                        \"regex\": \"^.*example.com\"\n                                                      }\n                                                    ],\n                                                    \"items\": {\n                                                      \"properties\": {\n                                                        \"exact\": {\n                                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"prefix\": {\n                                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"regex\": {\n                                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                          \"example\": \"^.*example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"expose_headers\": {\n                                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Encoding\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"max_age\": {\n                                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                    \"example\": \"5h30m\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"health_check\": {\n                                                \"properties\": {\n                                                  \"failure_threshold\": {\n                                                    \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                    \"example\": 2,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"http_path\": {\n                                                    \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                    \"example\": \"/health\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"initial_delay_seconds\": {\n                                                    \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                    \"example\": 30,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"period_seconds\": {\n                                                    \"description\": \"The number of seconds to wait between health checks.\",\n                                                    \"example\": 60,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"port\": {\n                                                    \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                    \"example\": 80,\n                                                    \"format\": \"int64\",\n                                                    \"maximum\": 65535,\n                                                    \"minimum\": 1,\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"success_threshold\": {\n                                                    \"description\": \"The number of successful health checks before considered healthy.\",\n                                                    \"example\": 3,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"timeout_seconds\": {\n                                                    \"description\": \"The number of seconds after which the check times out.\",\n                                                    \"example\": 45,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"http_port\": {\n                                                \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                                \"example\": 3000,\n                                                \"format\": \"int64\",\n                                                \"maximum\": 65535,\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"internal_ports\": {\n                                                \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                                \"example\": [\n                                                  80,\n                                                  443\n                                                ],\n                                                \"items\": {\n                                                  \"format\": \"int64\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"routes\": {\n                                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"path\": {\n                                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                      \"example\": \"/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"preserve_path_prefix\": {\n                                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    }\n                                                  },\n                                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"static_sites\": {\n                                      \"description\": \"Content which can be rendered to static web assets.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"catchall_document\": {\n                                                \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                                \"example\": \"index.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"cors\": {\n                                                \"properties\": {\n                                                  \"allow_credentials\": {\n                                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"allow_headers\": {\n                                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Type\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_methods\": {\n                                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                    \"example\": [\n                                                      \"GET\",\n                                                      \"OPTIONS\",\n                                                      \"POST\",\n                                                      \"PUT\",\n                                                      \"PATCH\",\n                                                      \"DELETE\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_origins\": {\n                                                    \"description\": \"The set of allowed CORS origins.\",\n                                                    \"example\": [\n                                                      {\n                                                        \"exact\": \"https://www.example.com\"\n                                                      },\n                                                      {\n                                                        \"regex\": \"^.*example.com\"\n                                                      }\n                                                    ],\n                                                    \"items\": {\n                                                      \"properties\": {\n                                                        \"exact\": {\n                                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"prefix\": {\n                                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"regex\": {\n                                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                          \"example\": \"^.*example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"expose_headers\": {\n                                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Encoding\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"max_age\": {\n                                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                    \"example\": \"5h30m\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"error_document\": {\n                                                \"default\": \"404.html\",\n                                                \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                                \"example\": \"error.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"index_document\": {\n                                                \"default\": \"index.html\",\n                                                \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                                \"example\": \"main.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"output_dir\": {\n                                                \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                                \"example\": \"dist/\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"routes\": {\n                                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"path\": {\n                                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                      \"example\": \"/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"preserve_path_prefix\": {\n                                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    }\n                                                  },\n                                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          }\n                                        ],\n                                        \"required\": [\n                                          \"name\"\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"workers\": {\n                                      \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          }\n                                        ],\n                                        \"required\": [\n                                          \"name\"\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"AppSpec\",\n                                  \"type\": \"object\"\n                                },\n                                \"static_sites\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"web\",\n                                        \"title\": \"The name of this static site\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Static Site components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"tier_slug\": {\n                                  \"example\": \"basic\",\n                                  \"readOnly\": true,\n                                  \"title\": \"The current pricing tier slug of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"updated_at\": {\n                                  \"example\": \"2020-07-28T18:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"When the deployment was last updated\",\n                                  \"type\": \"string\"\n                                },\n                                \"workers\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"queue-runner\",\n                                        \"title\": \"The name of this worker\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Worker components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"title\": \"An app deployment\",\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"project_id\": {\n                          \"example\": \"88b72d1a-b78a-4d9f-9090-b53c4399073f\",\n                          \"readOnly\": true,\n                          \"title\": \"The ID of the project the app is assigned to. This will be empty if there is a lookup failure.\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"properties\": {\n                            \"continent\": {\n                              \"example\": \"europe\",\n                              \"readOnly\": true,\n                              \"title\": \"The continent that this region is in\",\n                              \"type\": \"string\"\n                            },\n                            \"data_centers\": {\n                              \"example\": [\n                                \"ams\"\n                              ],\n                              \"items\": {\n                                \"example\": \"ams\",\n                                \"type\": \"string\"\n                              },\n                              \"readOnly\": true,\n                              \"title\": \"Data centers that are in this region\",\n                              \"type\": \"array\"\n                            },\n                            \"default\": {\n                              \"description\": \"Whether or not the region is presented as the default.\",\n                              \"example\": true,\n                              \"readOnly\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"disabled\": {\n                              \"example\": true,\n                              \"readOnly\": true,\n                              \"title\": \"Whether or not the region is open for new apps\",\n                              \"type\": \"boolean\"\n                            },\n                            \"flag\": {\n                              \"example\": \"ams\",\n                              \"readOnly\": true,\n                              \"title\": \"The flag of this region\",\n                              \"type\": \"string\"\n                            },\n                            \"label\": {\n                              \"example\": \"ams\",\n                              \"readOnly\": true,\n                              \"title\": \"A human-readable name of the region\",\n                              \"type\": \"string\"\n                            },\n                            \"reason\": {\n                              \"example\": \"to crowded\",\n                              \"readOnly\": true,\n                              \"title\": \"Reason that this region is not available\",\n                              \"type\": \"string\"\n                            },\n                            \"slug\": {\n                              \"example\": \"basic\",\n                              \"readOnly\": true,\n                              \"title\": \"The slug form of the region name\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"title\": \"Geographical information about an app origin\",\n                          \"type\": \"object\"\n                        },\n                        \"spec\": {\n                          \"description\": \"The desired configuration of an application.\",\n                          \"properties\": {\n                            \"databases\": {\n                              \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"cluster_name\": {\n                                    \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                    \"example\": \"cluster_name\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_name\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                    \"example\": \"my_db\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_user\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                    \"example\": \"superuser\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"engine\": {\n                                    \"default\": \"UNSET\",\n                                    \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                    \"enum\": [\n                                      \"UNSET\",\n                                      \"MYSQL\",\n                                      \"PG\",\n                                      \"REDIS\"\n                                    ],\n                                    \"example\": \"PG\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"prod-db\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"production\": {\n                                    \"description\": \"Whether this is a production or dev database.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"version\": {\n                                    \"description\": \"The version of the database engine\",\n                                    \"example\": \"12\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"domains\": {\n                              \"description\": \"A set of hostnames where the application will be available.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"domain\": {\n                                    \"description\": \"The hostname for the domain\",\n                                    \"example\": \"app.example.com\",\n                                    \"maxLength\": 253,\n                                    \"minLength\": 4,\n                                    \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"minimum_tls_version\": {\n                                    \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                    \"enum\": [\n                                      \"1.2\",\n                                      \"1.3\"\n                                    ],\n                                    \"example\": \"1.3\",\n                                    \"maxLength\": 3,\n                                    \"minLength\": 3,\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"UNSPECIFIED\",\n                                    \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED\",\n                                      \"DEFAULT\",\n                                      \"PRIMARY\",\n                                      \"ALIAS\"\n                                    ],\n                                    \"example\": \"DEFAULT\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"wildcard\": {\n                                    \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"zone\": {\n                                    \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                    \"example\": \"example.com\",\n                                    \"format\": \"hostname\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"domain\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"functions\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"alerts\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"disabled\": {\n                                          \"description\": \"Is the alert disabled?\",\n                                          \"example\": false,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"operator\": {\n                                          \"default\": \"UNSPECIFIED_OPERATOR\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_OPERATOR\",\n                                            \"GREATER_THAN\",\n                                            \"LESS_THAN\"\n                                          ],\n                                          \"example\": \"GREATER_THAN\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"rule\": {\n                                          \"default\": \"UNSPECIFIED_RULE\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_RULE\",\n                                            \"CPU_UTILIZATION\",\n                                            \"MEM_UTILIZATION\",\n                                            \"RESTART_COUNT\",\n                                            \"DEPLOYMENT_FAILED\",\n                                            \"DEPLOYMENT_LIVE\",\n                                            \"DOMAIN_FAILED\",\n                                            \"DOMAIN_LIVE\",\n                                            \"FUNCTIONS_ACTIVATION_COUNT\",\n                                            \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                            \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                            \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                            \"FUNCTIONS_ERROR_COUNT\",\n                                            \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                          ],\n                                          \"example\": \"CPU_UTILIZATION\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"Threshold value for alert\",\n                                          \"example\": 2.32,\n                                          \"format\": \"float\",\n                                          \"type\": \"number\"\n                                        },\n                                        \"window\": {\n                                          \"default\": \"UNSPECIFIED_WINDOW\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_WINDOW\",\n                                            \"FIVE_MINUTES\",\n                                            \"TEN_MINUTES\",\n                                            \"THIRTY_MINUTES\",\n                                            \"ONE_HOUR\"\n                                          ],\n                                          \"example\": \"FIVE_MINUTES\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"cors\": {\n                                    \"properties\": {\n                                      \"allow_credentials\": {\n                                        \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                        \"example\": false,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"allow_headers\": {\n                                        \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Type\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_methods\": {\n                                        \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                        \"example\": [\n                                          \"GET\",\n                                          \"OPTIONS\",\n                                          \"POST\",\n                                          \"PUT\",\n                                          \"PATCH\",\n                                          \"DELETE\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_origins\": {\n                                        \"description\": \"The set of allowed CORS origins.\",\n                                        \"example\": [\n                                          {\n                                            \"exact\": \"https://www.example.com\"\n                                          },\n                                          {\n                                            \"regex\": \"^.*example.com\"\n                                          }\n                                        ],\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"exact\": {\n                                              \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"prefix\": {\n                                              \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"regex\": {\n                                              \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                              \"example\": \"^.*example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"expose_headers\": {\n                                        \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Encoding\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"max_age\": {\n                                        \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                        \"example\": \"5h30m\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"envs\": {\n                                    \"description\": \"A list of environment variables made available to the component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"key\": {\n                                          \"description\": \"The variable name\",\n                                          \"example\": \"BASE_URL\",\n                                          \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"scope\": {\n                                          \"default\": \"RUN_AND_BUILD_TIME\",\n                                          \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"RUN_TIME\",\n                                            \"BUILD_TIME\",\n                                            \"RUN_AND_BUILD_TIME\"\n                                          ],\n                                          \"example\": \"BUILD_TIME\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"GENERAL\",\n                                          \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                          \"enum\": [\n                                            \"GENERAL\",\n                                            \"SECRET\"\n                                          ],\n                                          \"example\": \"GENERAL\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                          \"example\": \"http://example.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"git\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repo_clone_url\": {\n                                        \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                        \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"github\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"gitlab\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"log_destinations\": {\n                                    \"properties\": {\n                                      \"datadog\": {\n                                        \"description\": \"DataDog configuration.\",\n                                        \"properties\": {\n                                          \"api_key\": {\n                                            \"description\": \"Datadog API key.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"endpoint\": {\n                                            \"description\": \"Datadog HTTP log intake endpoint.\",\n                                            \"example\": \"https://mydatadogendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"api_key\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"logtail\": {\n                                        \"description\": \"Logtail configuration.\",\n                                        \"properties\": {\n                                          \"token\": {\n                                            \"description\": \"Logtail token.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"my_log_destination\",\n                                        \"maxLength\": 42,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"papertrail\": {\n                                        \"description\": \"Papertrail configuration.\",\n                                        \"properties\": {\n                                          \"endpoint\": {\n                                            \"description\": \"Papertrail syslog endpoint.\",\n                                            \"example\": \"https://mypapertrailendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"Configurations for external logging.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"api\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"routes\": {\n                                    \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"path\": {\n                                          \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                          \"example\": \"/api\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"preserve_path_prefix\": {\n                                          \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        }\n                                      },\n                                      \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"source_dir\": {\n                                    \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                    \"example\": \"path/to/dir\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"jobs\": {\n                              \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"kind\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"PRE_DEPLOY\",\n                                          \"POST_DEPLOY\",\n                                          \"FAILED_DEPLOY\"\n                                        ],\n                                        \"example\": \"PRE_DEPLOY\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                              \"example\": \"web-app-01\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                              \"enum\": [\n                                \"ams\",\n                                \"nyc\",\n                                \"fra\",\n                                \"sfo\",\n                                \"sgp\",\n                                \"blr\",\n                                \"tor\",\n                                \"lon\",\n                                \"syd\"\n                              ],\n                              \"example\": \"nyc\",\n                              \"type\": \"string\"\n                            },\n                            \"services\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"health_check\": {\n                                        \"properties\": {\n                                          \"failure_threshold\": {\n                                            \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                            \"example\": 2,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"http_path\": {\n                                            \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                            \"example\": \"/health\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"initial_delay_seconds\": {\n                                            \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                            \"example\": 30,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"period_seconds\": {\n                                            \"description\": \"The number of seconds to wait between health checks.\",\n                                            \"example\": 60,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"port\": {\n                                            \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                            \"example\": 80,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"success_threshold\": {\n                                            \"description\": \"The number of successful health checks before considered healthy.\",\n                                            \"example\": 3,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"timeout_seconds\": {\n                                            \"description\": \"The number of seconds after which the check times out.\",\n                                            \"example\": 45,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"http_port\": {\n                                        \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                        \"example\": 3000,\n                                        \"format\": \"int64\",\n                                        \"maximum\": 65535,\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"internal_ports\": {\n                                        \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                        \"example\": [\n                                          80,\n                                          443\n                                        ],\n                                        \"items\": {\n                                          \"format\": \"int64\",\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"static_sites\": {\n                              \"description\": \"Content which can be rendered to static web assets.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"catchall_document\": {\n                                        \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                        \"example\": \"index.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"error_document\": {\n                                        \"default\": \"404.html\",\n                                        \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                        \"example\": \"error.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"index_document\": {\n                                        \"default\": \"index.html\",\n                                        \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                        \"example\": \"main.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"output_dir\": {\n                                        \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                        \"example\": \"dist/\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"workers\": {\n                              \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"title\": \"AppSpec\",\n                          \"type\": \"object\"\n                        },\n                        \"tier_slug\": {\n                          \"example\": \"basic\",\n                          \"readOnly\": true,\n                          \"title\": \"The current pricing tier slug of the app\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"example\": \"2020-12-01T00:42:16Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"title\": \"Time of the app's last configuration update\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"spec\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON with key `app`\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing App\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{id}\\\"\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"Update an existing app by submitting a new app specification. For documentation on app specifications (`AppSpec` objects), please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/).\",\n        \"operationId\": \"apps_update\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the app\",\n            \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"spec\": {\n                    \"description\": \"The desired configuration of an application.\",\n                    \"properties\": {\n                      \"databases\": {\n                        \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"cluster_name\": {\n                              \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                              \"example\": \"cluster_name\",\n                              \"type\": \"string\"\n                            },\n                            \"db_name\": {\n                              \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                              \"example\": \"my_db\",\n                              \"type\": \"string\"\n                            },\n                            \"db_user\": {\n                              \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                              \"example\": \"superuser\",\n                              \"type\": \"string\"\n                            },\n                            \"engine\": {\n                              \"default\": \"UNSET\",\n                              \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                              \"enum\": [\n                                \"UNSET\",\n                                \"MYSQL\",\n                                \"PG\",\n                                \"REDIS\"\n                              ],\n                              \"example\": \"PG\",\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                              \"example\": \"prod-db\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"production\": {\n                              \"description\": \"Whether this is a production or dev database.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"version\": {\n                              \"description\": \"The version of the database engine\",\n                              \"example\": \"12\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"domains\": {\n                        \"description\": \"A set of hostnames where the application will be available.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"domain\": {\n                              \"description\": \"The hostname for the domain\",\n                              \"example\": \"app.example.com\",\n                              \"maxLength\": 253,\n                              \"minLength\": 4,\n                              \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                              \"type\": \"string\"\n                            },\n                            \"minimum_tls_version\": {\n                              \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                              \"enum\": [\n                                \"1.2\",\n                                \"1.3\"\n                              ],\n                              \"example\": \"1.3\",\n                              \"maxLength\": 3,\n                              \"minLength\": 3,\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"default\": \"UNSPECIFIED\",\n                              \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                              \"enum\": [\n                                \"UNSPECIFIED\",\n                                \"DEFAULT\",\n                                \"PRIMARY\",\n                                \"ALIAS\"\n                              ],\n                              \"example\": \"DEFAULT\",\n                              \"type\": \"string\"\n                            },\n                            \"wildcard\": {\n                              \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"zone\": {\n                              \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                              \"example\": \"example.com\",\n                              \"format\": \"hostname\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"domain\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"functions\": {\n                        \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"alerts\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"disabled\": {\n                                    \"description\": \"Is the alert disabled?\",\n                                    \"example\": false,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"operator\": {\n                                    \"default\": \"UNSPECIFIED_OPERATOR\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED_OPERATOR\",\n                                      \"GREATER_THAN\",\n                                      \"LESS_THAN\"\n                                    ],\n                                    \"example\": \"GREATER_THAN\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"rule\": {\n                                    \"default\": \"UNSPECIFIED_RULE\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED_RULE\",\n                                      \"CPU_UTILIZATION\",\n                                      \"MEM_UTILIZATION\",\n                                      \"RESTART_COUNT\",\n                                      \"DEPLOYMENT_FAILED\",\n                                      \"DEPLOYMENT_LIVE\",\n                                      \"DOMAIN_FAILED\",\n                                      \"DOMAIN_LIVE\",\n                                      \"FUNCTIONS_ACTIVATION_COUNT\",\n                                      \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                      \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                      \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                      \"FUNCTIONS_ERROR_COUNT\",\n                                      \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                    ],\n                                    \"example\": \"CPU_UTILIZATION\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"value\": {\n                                    \"description\": \"Threshold value for alert\",\n                                    \"example\": 2.32,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  },\n                                  \"window\": {\n                                    \"default\": \"UNSPECIFIED_WINDOW\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED_WINDOW\",\n                                      \"FIVE_MINUTES\",\n                                      \"TEN_MINUTES\",\n                                      \"THIRTY_MINUTES\",\n                                      \"ONE_HOUR\"\n                                    ],\n                                    \"example\": \"FIVE_MINUTES\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"cors\": {\n                              \"properties\": {\n                                \"allow_credentials\": {\n                                  \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                },\n                                \"allow_headers\": {\n                                  \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                  \"example\": [\n                                    \"Content-Type\",\n                                    \"X-Custom-Header\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"allow_methods\": {\n                                  \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                  \"example\": [\n                                    \"GET\",\n                                    \"OPTIONS\",\n                                    \"POST\",\n                                    \"PUT\",\n                                    \"PATCH\",\n                                    \"DELETE\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"allow_origins\": {\n                                  \"description\": \"The set of allowed CORS origins.\",\n                                  \"example\": [\n                                    {\n                                      \"exact\": \"https://www.example.com\"\n                                    },\n                                    {\n                                      \"regex\": \"^.*example.com\"\n                                    }\n                                  ],\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"exact\": {\n                                        \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                        \"example\": \"https://www.example.com\",\n                                        \"maxLength\": 256,\n                                        \"minLength\": 1,\n                                        \"type\": \"string\"\n                                      },\n                                      \"prefix\": {\n                                        \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                        \"example\": \"https://www.example.com\",\n                                        \"maxLength\": 256,\n                                        \"minLength\": 1,\n                                        \"type\": \"string\"\n                                      },\n                                      \"regex\": {\n                                        \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                        \"example\": \"^.*example.com\",\n                                        \"maxLength\": 256,\n                                        \"minLength\": 1,\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"expose_headers\": {\n                                  \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                  \"example\": [\n                                    \"Content-Encoding\",\n                                    \"X-Custom-Header\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"max_age\": {\n                                  \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                  \"example\": \"5h30m\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"envs\": {\n                              \"description\": \"A list of environment variables made available to the component.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"key\": {\n                                    \"description\": \"The variable name\",\n                                    \"example\": \"BASE_URL\",\n                                    \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"scope\": {\n                                    \"default\": \"RUN_AND_BUILD_TIME\",\n                                    \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                    \"enum\": [\n                                      \"UNSET\",\n                                      \"RUN_TIME\",\n                                      \"BUILD_TIME\",\n                                      \"RUN_AND_BUILD_TIME\"\n                                    ],\n                                    \"example\": \"BUILD_TIME\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"GENERAL\",\n                                    \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                    \"enum\": [\n                                      \"GENERAL\",\n                                      \"SECRET\"\n                                    ],\n                                    \"example\": \"GENERAL\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"value\": {\n                                    \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                    \"example\": \"http://example.com\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"key\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"git\": {\n                              \"properties\": {\n                                \"branch\": {\n                                  \"description\": \"The name of the branch to use\",\n                                  \"example\": \"main\",\n                                  \"type\": \"string\"\n                                },\n                                \"repo_clone_url\": {\n                                  \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                  \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"github\": {\n                              \"properties\": {\n                                \"branch\": {\n                                  \"description\": \"The name of the branch to use\",\n                                  \"example\": \"main\",\n                                  \"type\": \"string\"\n                                },\n                                \"deploy_on_push\": {\n                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"repo\": {\n                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                  \"example\": \"digitalocean/sample-golang\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"gitlab\": {\n                              \"properties\": {\n                                \"branch\": {\n                                  \"description\": \"The name of the branch to use\",\n                                  \"example\": \"main\",\n                                  \"type\": \"string\"\n                                },\n                                \"deploy_on_push\": {\n                                  \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"repo\": {\n                                  \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                  \"example\": \"digitalocean/sample-golang\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"log_destinations\": {\n                              \"properties\": {\n                                \"datadog\": {\n                                  \"description\": \"DataDog configuration.\",\n                                  \"properties\": {\n                                    \"api_key\": {\n                                      \"description\": \"Datadog API key.\",\n                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"endpoint\": {\n                                      \"description\": \"Datadog HTTP log intake endpoint.\",\n                                      \"example\": \"https://mydatadogendpoint.com\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"api_key\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"logtail\": {\n                                  \"description\": \"Logtail configuration.\",\n                                  \"properties\": {\n                                    \"token\": {\n                                      \"description\": \"Logtail token.\",\n                                      \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"endpoint\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"example\": \"my_log_destination\",\n                                  \"maxLength\": 42,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"papertrail\": {\n                                  \"description\": \"Papertrail configuration.\",\n                                  \"properties\": {\n                                    \"endpoint\": {\n                                      \"description\": \"Papertrail syslog endpoint.\",\n                                      \"example\": \"https://mypapertrailendpoint.com\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"endpoint\"\n                                  ],\n                                  \"type\": \"object\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"title\": \"Configurations for external logging.\",\n                              \"type\": \"object\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name. Must be unique across all components within the same app.\",\n                              \"example\": \"api\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"routes\": {\n                              \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"path\": {\n                                    \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                    \"example\": \"/api\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"preserve_path_prefix\": {\n                                    \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  }\n                                },\n                                \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"source_dir\": {\n                              \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                              \"example\": \"path/to/dir\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"jobs\": {\n                        \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"build_command\": {\n                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                  \"example\": \"npm run build\",\n                                  \"type\": \"string\"\n                                },\n                                \"dockerfile_path\": {\n                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                  \"example\": \"path/to/Dockerfile\",\n                                  \"type\": \"string\"\n                                },\n                                \"environment_slug\": {\n                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                  \"example\": \"node-js\",\n                                  \"type\": \"string\"\n                                },\n                                \"envs\": {\n                                  \"description\": \"A list of environment variables made available to the component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"key\": {\n                                        \"description\": \"The variable name\",\n                                        \"example\": \"BASE_URL\",\n                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"scope\": {\n                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"RUN_TIME\",\n                                          \"BUILD_TIME\",\n                                          \"RUN_AND_BUILD_TIME\"\n                                        ],\n                                        \"example\": \"BUILD_TIME\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"GENERAL\",\n                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                        \"enum\": [\n                                          \"GENERAL\",\n                                          \"SECRET\"\n                                        ],\n                                        \"example\": \"GENERAL\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"value\": {\n                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                        \"example\": \"http://example.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"git\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repo_clone_url\": {\n                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"github\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"gitlab\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"registry\": {\n                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                      \"example\": \"registry.hub.docker.com\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"registry_type\": {\n                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                      \"enum\": [\n                                        \"DOCKER_HUB\",\n                                        \"DOCR\"\n                                      ],\n                                      \"example\": \"DOCR\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repository\": {\n                                      \"description\": \"The repository name.\",\n                                      \"example\": \"origin/master\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tag\": {\n                                      \"default\": \"latest\",\n                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                      \"example\": \"latest\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"log_destinations\": {\n                                  \"properties\": {\n                                    \"datadog\": {\n                                      \"description\": \"DataDog configuration.\",\n                                      \"properties\": {\n                                        \"api_key\": {\n                                          \"description\": \"Datadog API key.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"endpoint\": {\n                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                          \"example\": \"https://mydatadogendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"api_key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"logtail\": {\n                                      \"description\": \"Logtail configuration.\",\n                                      \"properties\": {\n                                        \"token\": {\n                                          \"description\": \"Logtail token.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"my_log_destination\",\n                                      \"maxLength\": 42,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"papertrail\": {\n                                      \"description\": \"Papertrail configuration.\",\n                                      \"properties\": {\n                                        \"endpoint\": {\n                                          \"description\": \"Papertrail syslog endpoint.\",\n                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"Configurations for external logging.\",\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                  \"example\": \"api\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"run_command\": {\n                                  \"description\": \"An optional run command to override the component's default.\",\n                                  \"example\": \"bin/api\",\n                                  \"type\": \"string\"\n                                },\n                                \"source_dir\": {\n                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                  \"example\": \"path/to/dir\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"instance_count\": {\n                                  \"default\": 1,\n                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                  \"example\": 2,\n                                  \"format\": \"int64\",\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"instance_size_slug\": {\n                                  \"default\": \"basic-xxs\",\n                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                  \"enum\": [\n                                    \"basic-xxs\",\n                                    \"basic-xs\",\n                                    \"basic-s\",\n                                    \"basic-m\",\n                                    \"professional-xs\",\n                                    \"professional-s\",\n                                    \"professional-m\",\n                                    \"professional-1l\",\n                                    \"professional-l\",\n                                    \"professional-xl\"\n                                  ],\n                                  \"example\": \"basic-xxs\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"kind\": {\n                                  \"default\": \"UNSPECIFIED\",\n                                  \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                  \"enum\": [\n                                    \"UNSPECIFIED\",\n                                    \"PRE_DEPLOY\",\n                                    \"POST_DEPLOY\",\n                                    \"FAILED_DEPLOY\"\n                                  ],\n                                  \"example\": \"PRE_DEPLOY\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"name\": {\n                        \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                        \"example\": \"web-app-01\",\n                        \"maxLength\": 32,\n                        \"minLength\": 2,\n                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                        \"type\": \"string\"\n                      },\n                      \"region\": {\n                        \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                        \"enum\": [\n                          \"ams\",\n                          \"nyc\",\n                          \"fra\",\n                          \"sfo\",\n                          \"sgp\",\n                          \"blr\",\n                          \"tor\",\n                          \"lon\",\n                          \"syd\"\n                        ],\n                        \"example\": \"nyc\",\n                        \"type\": \"string\"\n                      },\n                      \"services\": {\n                        \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"build_command\": {\n                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                  \"example\": \"npm run build\",\n                                  \"type\": \"string\"\n                                },\n                                \"dockerfile_path\": {\n                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                  \"example\": \"path/to/Dockerfile\",\n                                  \"type\": \"string\"\n                                },\n                                \"environment_slug\": {\n                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                  \"example\": \"node-js\",\n                                  \"type\": \"string\"\n                                },\n                                \"envs\": {\n                                  \"description\": \"A list of environment variables made available to the component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"key\": {\n                                        \"description\": \"The variable name\",\n                                        \"example\": \"BASE_URL\",\n                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"scope\": {\n                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"RUN_TIME\",\n                                          \"BUILD_TIME\",\n                                          \"RUN_AND_BUILD_TIME\"\n                                        ],\n                                        \"example\": \"BUILD_TIME\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"GENERAL\",\n                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                        \"enum\": [\n                                          \"GENERAL\",\n                                          \"SECRET\"\n                                        ],\n                                        \"example\": \"GENERAL\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"value\": {\n                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                        \"example\": \"http://example.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"git\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repo_clone_url\": {\n                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"github\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"gitlab\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"registry\": {\n                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                      \"example\": \"registry.hub.docker.com\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"registry_type\": {\n                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                      \"enum\": [\n                                        \"DOCKER_HUB\",\n                                        \"DOCR\"\n                                      ],\n                                      \"example\": \"DOCR\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repository\": {\n                                      \"description\": \"The repository name.\",\n                                      \"example\": \"origin/master\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tag\": {\n                                      \"default\": \"latest\",\n                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                      \"example\": \"latest\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"log_destinations\": {\n                                  \"properties\": {\n                                    \"datadog\": {\n                                      \"description\": \"DataDog configuration.\",\n                                      \"properties\": {\n                                        \"api_key\": {\n                                          \"description\": \"Datadog API key.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"endpoint\": {\n                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                          \"example\": \"https://mydatadogendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"api_key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"logtail\": {\n                                      \"description\": \"Logtail configuration.\",\n                                      \"properties\": {\n                                        \"token\": {\n                                          \"description\": \"Logtail token.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"my_log_destination\",\n                                      \"maxLength\": 42,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"papertrail\": {\n                                      \"description\": \"Papertrail configuration.\",\n                                      \"properties\": {\n                                        \"endpoint\": {\n                                          \"description\": \"Papertrail syslog endpoint.\",\n                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"Configurations for external logging.\",\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                  \"example\": \"api\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"run_command\": {\n                                  \"description\": \"An optional run command to override the component's default.\",\n                                  \"example\": \"bin/api\",\n                                  \"type\": \"string\"\n                                },\n                                \"source_dir\": {\n                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                  \"example\": \"path/to/dir\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"instance_count\": {\n                                  \"default\": 1,\n                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                  \"example\": 2,\n                                  \"format\": \"int64\",\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"instance_size_slug\": {\n                                  \"default\": \"basic-xxs\",\n                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                  \"enum\": [\n                                    \"basic-xxs\",\n                                    \"basic-xs\",\n                                    \"basic-s\",\n                                    \"basic-m\",\n                                    \"professional-xs\",\n                                    \"professional-s\",\n                                    \"professional-m\",\n                                    \"professional-1l\",\n                                    \"professional-l\",\n                                    \"professional-xl\"\n                                  ],\n                                  \"example\": \"basic-xxs\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"cors\": {\n                                  \"properties\": {\n                                    \"allow_credentials\": {\n                                      \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                      \"example\": false,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"allow_headers\": {\n                                      \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                      \"example\": [\n                                        \"Content-Type\",\n                                        \"X-Custom-Header\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"allow_methods\": {\n                                      \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                      \"example\": [\n                                        \"GET\",\n                                        \"OPTIONS\",\n                                        \"POST\",\n                                        \"PUT\",\n                                        \"PATCH\",\n                                        \"DELETE\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"allow_origins\": {\n                                      \"description\": \"The set of allowed CORS origins.\",\n                                      \"example\": [\n                                        {\n                                          \"exact\": \"https://www.example.com\"\n                                        },\n                                        {\n                                          \"regex\": \"^.*example.com\"\n                                        }\n                                      ],\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"exact\": {\n                                            \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                            \"example\": \"https://www.example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          },\n                                          \"prefix\": {\n                                            \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                            \"example\": \"https://www.example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          },\n                                          \"regex\": {\n                                            \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                            \"example\": \"^.*example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"expose_headers\": {\n                                      \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                      \"example\": [\n                                        \"Content-Encoding\",\n                                        \"X-Custom-Header\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"max_age\": {\n                                      \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                      \"example\": \"5h30m\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"health_check\": {\n                                  \"properties\": {\n                                    \"failure_threshold\": {\n                                      \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"http_path\": {\n                                      \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                      \"example\": \"/health\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"initial_delay_seconds\": {\n                                      \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                      \"example\": 30,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"period_seconds\": {\n                                      \"description\": \"The number of seconds to wait between health checks.\",\n                                      \"example\": 60,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"port\": {\n                                      \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                      \"example\": 80,\n                                      \"format\": \"int64\",\n                                      \"maximum\": 65535,\n                                      \"minimum\": 1,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"success_threshold\": {\n                                      \"description\": \"The number of successful health checks before considered healthy.\",\n                                      \"example\": 3,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"timeout_seconds\": {\n                                      \"description\": \"The number of seconds after which the check times out.\",\n                                      \"example\": 45,\n                                      \"format\": \"int32\",\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"http_port\": {\n                                  \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                  \"example\": 3000,\n                                  \"format\": \"int64\",\n                                  \"maximum\": 65535,\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"internal_ports\": {\n                                  \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                  \"example\": [\n                                    80,\n                                    443\n                                  ],\n                                  \"items\": {\n                                    \"format\": \"int64\",\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"routes\": {\n                                  \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"path\": {\n                                        \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                        \"example\": \"/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"preserve_path_prefix\": {\n                                        \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      }\n                                    },\n                                    \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"static_sites\": {\n                        \"description\": \"Content which can be rendered to static web assets.\",\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"build_command\": {\n                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                  \"example\": \"npm run build\",\n                                  \"type\": \"string\"\n                                },\n                                \"dockerfile_path\": {\n                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                  \"example\": \"path/to/Dockerfile\",\n                                  \"type\": \"string\"\n                                },\n                                \"environment_slug\": {\n                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                  \"example\": \"node-js\",\n                                  \"type\": \"string\"\n                                },\n                                \"envs\": {\n                                  \"description\": \"A list of environment variables made available to the component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"key\": {\n                                        \"description\": \"The variable name\",\n                                        \"example\": \"BASE_URL\",\n                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"scope\": {\n                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"RUN_TIME\",\n                                          \"BUILD_TIME\",\n                                          \"RUN_AND_BUILD_TIME\"\n                                        ],\n                                        \"example\": \"BUILD_TIME\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"GENERAL\",\n                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                        \"enum\": [\n                                          \"GENERAL\",\n                                          \"SECRET\"\n                                        ],\n                                        \"example\": \"GENERAL\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"value\": {\n                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                        \"example\": \"http://example.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"git\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repo_clone_url\": {\n                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"github\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"gitlab\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"registry\": {\n                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                      \"example\": \"registry.hub.docker.com\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"registry_type\": {\n                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                      \"enum\": [\n                                        \"DOCKER_HUB\",\n                                        \"DOCR\"\n                                      ],\n                                      \"example\": \"DOCR\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repository\": {\n                                      \"description\": \"The repository name.\",\n                                      \"example\": \"origin/master\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tag\": {\n                                      \"default\": \"latest\",\n                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                      \"example\": \"latest\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"log_destinations\": {\n                                  \"properties\": {\n                                    \"datadog\": {\n                                      \"description\": \"DataDog configuration.\",\n                                      \"properties\": {\n                                        \"api_key\": {\n                                          \"description\": \"Datadog API key.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"endpoint\": {\n                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                          \"example\": \"https://mydatadogendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"api_key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"logtail\": {\n                                      \"description\": \"Logtail configuration.\",\n                                      \"properties\": {\n                                        \"token\": {\n                                          \"description\": \"Logtail token.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"my_log_destination\",\n                                      \"maxLength\": 42,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"papertrail\": {\n                                      \"description\": \"Papertrail configuration.\",\n                                      \"properties\": {\n                                        \"endpoint\": {\n                                          \"description\": \"Papertrail syslog endpoint.\",\n                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"Configurations for external logging.\",\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                  \"example\": \"api\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"run_command\": {\n                                  \"description\": \"An optional run command to override the component's default.\",\n                                  \"example\": \"bin/api\",\n                                  \"type\": \"string\"\n                                },\n                                \"source_dir\": {\n                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                  \"example\": \"path/to/dir\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"catchall_document\": {\n                                  \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                  \"example\": \"index.html\",\n                                  \"type\": \"string\"\n                                },\n                                \"cors\": {\n                                  \"properties\": {\n                                    \"allow_credentials\": {\n                                      \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                      \"example\": false,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"allow_headers\": {\n                                      \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                      \"example\": [\n                                        \"Content-Type\",\n                                        \"X-Custom-Header\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"allow_methods\": {\n                                      \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                      \"example\": [\n                                        \"GET\",\n                                        \"OPTIONS\",\n                                        \"POST\",\n                                        \"PUT\",\n                                        \"PATCH\",\n                                        \"DELETE\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"allow_origins\": {\n                                      \"description\": \"The set of allowed CORS origins.\",\n                                      \"example\": [\n                                        {\n                                          \"exact\": \"https://www.example.com\"\n                                        },\n                                        {\n                                          \"regex\": \"^.*example.com\"\n                                        }\n                                      ],\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"exact\": {\n                                            \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                            \"example\": \"https://www.example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          },\n                                          \"prefix\": {\n                                            \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                            \"example\": \"https://www.example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          },\n                                          \"regex\": {\n                                            \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                            \"example\": \"^.*example.com\",\n                                            \"maxLength\": 256,\n                                            \"minLength\": 1,\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"expose_headers\": {\n                                      \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                      \"example\": [\n                                        \"Content-Encoding\",\n                                        \"X-Custom-Header\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"max_age\": {\n                                      \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                      \"example\": \"5h30m\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"error_document\": {\n                                  \"default\": \"404.html\",\n                                  \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                  \"example\": \"error.html\",\n                                  \"type\": \"string\"\n                                },\n                                \"index_document\": {\n                                  \"default\": \"index.html\",\n                                  \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                  \"example\": \"main.html\",\n                                  \"type\": \"string\"\n                                },\n                                \"output_dir\": {\n                                  \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                  \"example\": \"dist/\",\n                                  \"type\": \"string\"\n                                },\n                                \"routes\": {\n                                  \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"path\": {\n                                        \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                        \"example\": \"/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"preserve_path_prefix\": {\n                                        \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      }\n                                    },\n                                    \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ],\n                          \"required\": [\n                            \"name\"\n                          ]\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"workers\": {\n                        \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"build_command\": {\n                                  \"description\": \"An optional build command to run while building this component from source.\",\n                                  \"example\": \"npm run build\",\n                                  \"type\": \"string\"\n                                },\n                                \"dockerfile_path\": {\n                                  \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                  \"example\": \"path/to/Dockerfile\",\n                                  \"type\": \"string\"\n                                },\n                                \"environment_slug\": {\n                                  \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                  \"example\": \"node-js\",\n                                  \"type\": \"string\"\n                                },\n                                \"envs\": {\n                                  \"description\": \"A list of environment variables made available to the component.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"key\": {\n                                        \"description\": \"The variable name\",\n                                        \"example\": \"BASE_URL\",\n                                        \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"scope\": {\n                                        \"default\": \"RUN_AND_BUILD_TIME\",\n                                        \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"RUN_TIME\",\n                                          \"BUILD_TIME\",\n                                          \"RUN_AND_BUILD_TIME\"\n                                        ],\n                                        \"example\": \"BUILD_TIME\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"GENERAL\",\n                                        \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                        \"enum\": [\n                                          \"GENERAL\",\n                                          \"SECRET\"\n                                        ],\n                                        \"example\": \"GENERAL\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"value\": {\n                                        \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                        \"example\": \"http://example.com\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"key\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"git\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repo_clone_url\": {\n                                      \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                      \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"github\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"gitlab\": {\n                                  \"properties\": {\n                                    \"branch\": {\n                                      \"description\": \"The name of the branch to use\",\n                                      \"example\": \"main\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"deploy_on_push\": {\n                                      \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"repo\": {\n                                      \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                      \"example\": \"digitalocean/sample-golang\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"registry\": {\n                                      \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                      \"example\": \"registry.hub.docker.com\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"registry_type\": {\n                                      \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                      \"enum\": [\n                                        \"DOCKER_HUB\",\n                                        \"DOCR\"\n                                      ],\n                                      \"example\": \"DOCR\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"repository\": {\n                                      \"description\": \"The repository name.\",\n                                      \"example\": \"origin/master\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tag\": {\n                                      \"default\": \"latest\",\n                                      \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                      \"example\": \"latest\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"log_destinations\": {\n                                  \"properties\": {\n                                    \"datadog\": {\n                                      \"description\": \"DataDog configuration.\",\n                                      \"properties\": {\n                                        \"api_key\": {\n                                          \"description\": \"Datadog API key.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"endpoint\": {\n                                          \"description\": \"Datadog HTTP log intake endpoint.\",\n                                          \"example\": \"https://mydatadogendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"api_key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"logtail\": {\n                                      \"description\": \"Logtail configuration.\",\n                                      \"properties\": {\n                                        \"token\": {\n                                          \"description\": \"Logtail token.\",\n                                          \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"name\": {\n                                      \"example\": \"my_log_destination\",\n                                      \"maxLength\": 42,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"papertrail\": {\n                                      \"description\": \"Papertrail configuration.\",\n                                      \"properties\": {\n                                        \"endpoint\": {\n                                          \"description\": \"Papertrail syslog endpoint.\",\n                                          \"example\": \"https://mypapertrailendpoint.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"endpoint\"\n                                      ],\n                                      \"type\": \"object\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"Configurations for external logging.\",\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name. Must be unique across all components within the same app.\",\n                                  \"example\": \"api\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"run_command\": {\n                                  \"description\": \"An optional run command to override the component's default.\",\n                                  \"example\": \"bin/api\",\n                                  \"type\": \"string\"\n                                },\n                                \"source_dir\": {\n                                  \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                  \"example\": \"path/to/dir\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"instance_count\": {\n                                  \"default\": 1,\n                                  \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                  \"example\": 2,\n                                  \"format\": \"int64\",\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"instance_size_slug\": {\n                                  \"default\": \"basic-xxs\",\n                                  \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                  \"enum\": [\n                                    \"basic-xxs\",\n                                    \"basic-xs\",\n                                    \"basic-s\",\n                                    \"basic-m\",\n                                    \"professional-xs\",\n                                    \"professional-s\",\n                                    \"professional-m\",\n                                    \"professional-1l\",\n                                    \"professional-l\",\n                                    \"professional-xl\"\n                                  ],\n                                  \"example\": \"basic-xxs\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ],\n                          \"required\": [\n                            \"name\"\n                          ]\n                        },\n                        \"type\": \"array\"\n                      }\n                    },\n                    \"required\": [\n                      \"name\"\n                    ],\n                    \"title\": \"AppSpec\",\n                    \"type\": \"object\"\n                  }\n                },\n                \"required\": [\n                  \"spec\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"app\": {\n                    \"value\": {\n                      \"app\": {\n                        \"active_deployment\": {\n                          \"cause\": \"manual\",\n                          \"created_at\": \"2021-02-10T17:05:30Z\",\n                          \"id\": \"991dfa59-6a23-459f-86d6-67dfa2c6f1e3\",\n                          \"phase\": \"ACTIVE\",\n                          \"phase_last_updated_at\": \"2021-02-10T17:06:53Z\",\n                          \"progress\": {\n                            \"steps\": [\n                              {\n                                \"ended_at\": \"2021-02-10T17:06:19.807834070Z\",\n                                \"name\": \"build\",\n                                \"started_at\": \"2021-02-10T17:05:35.572287990Z\",\n                                \"status\": \"SUCCESS\",\n                                \"steps\": [\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:05:36.093995229Z\",\n                                    \"name\": \"initialize\",\n                                    \"started_at\": \"2021-02-10T17:05:35.572347485Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:06:19.461737040Z\",\n                                    \"name\": \"components\",\n                                    \"started_at\": \"2021-02-10T17:05:36.094015928Z\",\n                                    \"status\": \"SUCCESS\",\n                                    \"steps\": [\n                                      {\n                                        \"component_name\": \"web\",\n                                        \"message_base\": \"Building service\",\n                                        \"name\": \"web\",\n                                        \"status\": \"SUCCESS\"\n                                      }\n                                    ]\n                                  }\n                                ]\n                              },\n                              {\n                                \"ended_at\": \"2021-02-10T17:06:53.404104185Z\",\n                                \"name\": \"deploy\",\n                                \"started_at\": \"2021-02-10T17:06:25.143932418Z\",\n                                \"status\": \"SUCCESS\",\n                                \"steps\": [\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:06:26.120343872Z\",\n                                    \"name\": \"initialize\",\n                                    \"started_at\": \"2021-02-10T17:06:25.143957508Z\",\n                                    \"status\": \"SUCCESS\"\n                                  },\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:06:50.029695913Z\",\n                                    \"name\": \"components\",\n                                    \"started_at\": \"2021-02-10T17:06:26.120385561Z\",\n                                    \"status\": \"SUCCESS\",\n                                    \"steps\": [\n                                      {\n                                        \"component_name\": \"web\",\n                                        \"name\": \"web\",\n                                        \"status\": \"SUCCESS\",\n                                        \"steps\": [\n                                          {\n                                            \"component_name\": \"web\",\n                                            \"message_base\": \"Deploying service\",\n                                            \"name\": \"deploy\",\n                                            \"status\": \"SUCCESS\"\n                                          },\n                                          {\n                                            \"component_name\": \"web\",\n                                            \"message_base\": \"Waiting for service\",\n                                            \"name\": \"wait\",\n                                            \"status\": \"SUCCESS\"\n                                          }\n                                        ]\n                                      }\n                                    ]\n                                  },\n                                  {\n                                    \"ended_at\": \"2021-02-10T17:06:53.404065961Z\",\n                                    \"name\": \"finalize\",\n                                    \"started_at\": \"2021-02-10T17:06:50.348459495Z\",\n                                    \"status\": \"SUCCESS\"\n                                  }\n                                ]\n                              }\n                            ],\n                            \"success_steps\": 6,\n                            \"total_steps\": 6\n                          },\n                          \"services\": [\n                            {\n                              \"name\": \"web\",\n                              \"source_commit_hash\": \"db6936cb46047c576962962eed81ad52c21f35d7\"\n                            }\n                          ],\n                          \"spec\": {\n                            \"domains\": [\n                              {\n                                \"domain\": \"sample-golang.example.com\",\n                                \"minimum_tls_version\": \"1.3\",\n                                \"zone\": \"example.com\"\n                              }\n                            ],\n                            \"name\": \"sample-golang\",\n                            \"region\": \"ams\",\n                            \"services\": [\n                              {\n                                \"environment_slug\": \"go\",\n                                \"github\": {\n                                  \"branch\": \"main\",\n                                  \"repo\": \"ChiefMateStarbuck/sample-golang\"\n                                },\n                                \"http_port\": 8080,\n                                \"instance_count\": 1,\n                                \"instance_size_slug\": \"basic-xxs\",\n                                \"name\": \"web\",\n                                \"routes\": [\n                                  {\n                                    \"path\": \"/\"\n                                  }\n                                ],\n                                \"run_command\": \"bin/sample-golang\"\n                              }\n                            ]\n                          },\n                          \"tier_slug\": \"basic\",\n                          \"updated_at\": \"2021-02-10T17:06:53Z\"\n                        },\n                        \"created_at\": \"2021-02-10T16:45:14Z\",\n                        \"default_ingress\": \"https://sample-golang-zyhgn.ondigitalocean.app\",\n                        \"domains\": [\n                          {\n                            \"certificate_expires_at\": \"2024-01-29T23:59:59Z\",\n                            \"id\": \"e206c64e-a1a3-11ed-9e6e-9b7b6dc9a52b\",\n                            \"phase\": \"CONFIGURING\",\n                            \"progress\": {\n                              \"steps\": [\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"default-ingress-ready\",\n                                  \"started_at\": \"2023-01-30T22:15:45.021896292Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"ensure-zone\",\n                                  \"started_at\": \"2023-01-30T22:15:45.022017004Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:42:28.50752065Z\",\n                                  \"name\": \"ensure-ns-records\",\n                                  \"started_at\": \"2023-01-30T22:15:45.025567874Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"verify-nameservers\",\n                                  \"started_at\": \"2023-01-30T22:15:45.033591906Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"ensure-record\",\n                                  \"started_at\": \"2023-01-30T22:15:45.156750604Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.258626422Z\",\n                                  \"name\": \"ensure-alias-record\",\n                                  \"started_at\": \"2023-01-30T22:15:45.165933869Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.258808279Z\",\n                                  \"name\": \"ensure-wildcard-record\",\n                                  \"started_at\": \"2023-01-30T22:15:45.166093422Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"verify-cname\",\n                                  \"started_at\": \"2023-01-30T22:15:45.166205559Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.475903785Z\",\n                                  \"name\": \"ensure-ssl-txt-record-saved\",\n                                  \"started_at\": \"2023-01-30T22:15:45.295237186Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.476017236Z\",\n                                  \"name\": \"ensure-ssl-txt-record\",\n                                  \"started_at\": \"2023-01-30T22:15:45.295315291Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"2023-01-30T15:43:30.476094058Z\",\n                                  \"name\": \"ensure-renewal-email\",\n                                  \"started_at\": \"2023-01-30T22:15:45.295374087Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"ensure-CA-authorization\",\n                                  \"started_at\": \"2023-01-30T22:15:45.295428101Z\",\n                                  \"status\": \"SUCCESS\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00Z\",\n                                  \"name\": \"ensure-certificate\",\n                                  \"started_at\": \"2023-01-30T22:15:45.978756406Z\",\n                                  \"status\": \"RUNNING\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00\",\n                                  \"name\": \"create-deployment\",\n                                  \"started_at\": \"0001-01-01T00:00:00Z\",\n                                  \"status\": \"PENDING\"\n                                },\n                                {\n                                  \"ended_at\": \"0001-01-01T00:00:00\",\n                                  \"name\": \"configuration-alert\",\n                                  \"started_at\": \"0001-01-01T00:00:00\",\n                                  \"status\": \"PENDING\"\n                                }\n                              ]\n                            },\n                            \"rotate_validation_records\": false,\n                            \"spec\": {\n                              \"domain\": \"sample-golang.example.com\",\n                              \"minimum_tls_version\": \"1.3\",\n                              \"type\": \"PRIMARY\",\n                              \"zone\": \"example.com\"\n                            }\n                          }\n                        ],\n                        \"id\": \"c2a93513-8d9b-4223-9d61-5e7272c81cf5\",\n                        \"last_deployment_created_at\": \"2021-02-10T17:05:30Z\",\n                        \"live_domain\": \"sample-golang-zyhgn.ondigitalocean.app\",\n                        \"live_url\": \"https://sample-golang-zyhgn.ondigitalocean.app\",\n                        \"live_url_base\": \"https://sample-golang-zyhgn.ondigitalocean.app\",\n                        \"owner_uuid\": \"a4e16f25-cdd1-4483-b246-d77f283c9209\",\n                        \"pending_deployment\": {\n                          \"id\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                          \"spec\": {\n                            \"domains\": [\n                              {\n                                \"domain\": \"sample-php.example.com\",\n                                \"minimum_tls_version\": \"1.3\",\n                                \"type\": \"PRIMARY\",\n                                \"zone\": \"example.com\"\n                              }\n                            ],\n                            \"name\": \"sample-php\",\n                            \"region\": \"fra\",\n                            \"services\": [\n                              {\n                                \"environment_slug\": \"php\",\n                                \"git\": {\n                                  \"branch\": \"main\",\n                                  \"repo_clone_url\": \"https://github.com/digitalocean/sample-php.git\"\n                                },\n                                \"http_port\": 8080,\n                                \"instance_count\": 1,\n                                \"instance_size_slug\": \"basic-xxs\",\n                                \"name\": \"sample-php\",\n                                \"routes\": [\n                                  {\n                                    \"path\": \"/\"\n                                  }\n                                ],\n                                \"run_command\": \"heroku-php-apache2\"\n                              }\n                            ]\n                          }\n                        },\n                        \"project_id\": \"88b72d1a-b78a-4d9f-9090-b53c4399073f\",\n                        \"region\": {\n                          \"continent\": \"Europe\",\n                          \"data_centers\": [\n                            \"ams3\"\n                          ],\n                          \"flag\": \"netherlands\",\n                          \"label\": \"Amsterdam\",\n                          \"slug\": \"ams\"\n                        },\n                        \"spec\": {\n                          \"domains\": [\n                            {\n                              \"domain\": \"sample-golang.example.com\",\n                              \"minimum_tls_version\": \"1.3\",\n                              \"zone\": \"example.com\"\n                            }\n                          ],\n                          \"name\": \"sample-golang\",\n                          \"region\": \"ams\",\n                          \"services\": [\n                            {\n                              \"environment_slug\": \"go\",\n                              \"github\": {\n                                \"branch\": \"main\",\n                                \"repo\": \"ChiefMateStarbuck/sample-golang\"\n                              },\n                              \"http_port\": 8080,\n                              \"instance_count\": 1,\n                              \"instance_size_slug\": \"basic-xxs\",\n                              \"name\": \"web\",\n                              \"routes\": [\n                                {\n                                  \"path\": \"/\"\n                                }\n                              ],\n                              \"run_command\": \"bin/sample-golang\"\n                            }\n                          ]\n                        },\n                        \"tier_slug\": \"basic\",\n                        \"updated_at\": \"2021-02-10T17:06:56Z\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"app\": {\n                      \"description\": \"An application's configuration and status.\",\n                      \"properties\": {\n                        \"active_deployment\": {\n                          \"properties\": {\n                            \"cause\": {\n                              \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                              \"title\": \"What caused this deployment to be created\",\n                              \"type\": \"string\"\n                            },\n                            \"cloned_from\": {\n                              \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                              \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                              \"type\": \"string\"\n                            },\n                            \"created_at\": {\n                              \"example\": \"2020-07-28T18:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"The creation time of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"functions\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"my-functions-component\",\n                                    \"title\": \"The name of this functions component\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"namespace\": {\n                                    \"description\": \"The namespace where the functions are deployed.\",\n                                    \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Functions components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"id\": {\n                              \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                              \"title\": \"The ID of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"jobs\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"migrate-db\",\n                                    \"title\": \"The name of this job\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this job\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Job components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"phase\": {\n                              \"default\": \"UNKNOWN\",\n                              \"enum\": [\n                                \"UNKNOWN\",\n                                \"PENDING_BUILD\",\n                                \"BUILDING\",\n                                \"PENDING_DEPLOY\",\n                                \"DEPLOYING\",\n                                \"ACTIVE\",\n                                \"SUPERSEDED\",\n                                \"ERROR\",\n                                \"CANCELED\"\n                              ],\n                              \"example\": \"ACTIVE\",\n                              \"type\": \"string\"\n                            },\n                            \"phase_last_updated_at\": {\n                              \"example\": \"0001-01-01T00:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"When the deployment phase was last updated\",\n                              \"type\": \"string\"\n                            },\n                            \"progress\": {\n                              \"properties\": {\n                                \"error_steps\": {\n                                  \"example\": 3,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of unsuccessful steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"pending_steps\": {\n                                  \"example\": 2,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of pending steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"running_steps\": {\n                                  \"example\": 2,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of currently running steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"steps\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"component_name\": {\n                                        \"example\": \"component\",\n                                        \"title\": \"The component name that this step is associated with\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ended_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The end time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message_base\": {\n                                        \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                        \"example\": \"Building service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"example_step\",\n                                        \"title\": \"The name of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"reason\": {\n                                        \"properties\": {\n                                          \"code\": {\n                                            \"example\": \"Title of Error\",\n                                            \"title\": \"The error code\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message\": {\n                                            \"example\": \"This is an error\",\n                                            \"title\": \"The error message\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"started_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The start time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"status\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING\",\n                                          \"RUNNING\",\n                                          \"ERROR\",\n                                          \"SUCCESS\"\n                                        ],\n                                        \"example\": \"SUCCESS\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Child steps of this step\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"The deployment's steps\",\n                                  \"type\": \"array\"\n                                },\n                                \"success_steps\": {\n                                  \"example\": 4,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of successful steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"summary_steps\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"component_name\": {\n                                        \"example\": \"component\",\n                                        \"title\": \"The component name that this step is associated with\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ended_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The end time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message_base\": {\n                                        \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                        \"example\": \"Building service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"example_step\",\n                                        \"title\": \"The name of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"reason\": {\n                                        \"properties\": {\n                                          \"code\": {\n                                            \"example\": \"Title of Error\",\n                                            \"title\": \"The error code\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message\": {\n                                            \"example\": \"This is an error\",\n                                            \"title\": \"The error message\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"started_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The start time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"status\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING\",\n                                          \"RUNNING\",\n                                          \"ERROR\",\n                                          \"SUCCESS\"\n                                        ],\n                                        \"example\": \"SUCCESS\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Child steps of this step\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"A flattened summary of the steps\",\n                                  \"type\": \"array\"\n                                },\n                                \"total_steps\": {\n                                  \"example\": 5,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Total number of steps\",\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"services\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"web\",\n                                    \"title\": \"The name of this service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this service\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Service components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"spec\": {\n                              \"description\": \"The desired configuration of an application.\",\n                              \"properties\": {\n                                \"databases\": {\n                                  \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"cluster_name\": {\n                                        \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                        \"example\": \"cluster_name\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"db_name\": {\n                                        \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                        \"example\": \"my_db\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"db_user\": {\n                                        \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                        \"example\": \"superuser\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"engine\": {\n                                        \"default\": \"UNSET\",\n                                        \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"MYSQL\",\n                                          \"PG\",\n                                          \"REDIS\"\n                                        ],\n                                        \"example\": \"PG\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"prod-db\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"production\": {\n                                        \"description\": \"Whether this is a production or dev database.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"version\": {\n                                        \"description\": \"The version of the database engine\",\n                                        \"example\": \"12\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"domains\": {\n                                  \"description\": \"A set of hostnames where the application will be available.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"domain\": {\n                                        \"description\": \"The hostname for the domain\",\n                                        \"example\": \"app.example.com\",\n                                        \"maxLength\": 253,\n                                        \"minLength\": 4,\n                                        \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"minimum_tls_version\": {\n                                        \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                        \"enum\": [\n                                          \"1.2\",\n                                          \"1.3\"\n                                        ],\n                                        \"example\": \"1.3\",\n                                        \"maxLength\": 3,\n                                        \"minLength\": 3,\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"DEFAULT\",\n                                          \"PRIMARY\",\n                                          \"ALIAS\"\n                                        ],\n                                        \"example\": \"DEFAULT\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"wildcard\": {\n                                        \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"zone\": {\n                                        \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                        \"example\": \"example.com\",\n                                        \"format\": \"hostname\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"domain\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"functions\": {\n                                  \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"alerts\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"disabled\": {\n                                              \"description\": \"Is the alert disabled?\",\n                                              \"example\": false,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"operator\": {\n                                              \"default\": \"UNSPECIFIED_OPERATOR\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_OPERATOR\",\n                                                \"GREATER_THAN\",\n                                                \"LESS_THAN\"\n                                              ],\n                                              \"example\": \"GREATER_THAN\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"rule\": {\n                                              \"default\": \"UNSPECIFIED_RULE\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_RULE\",\n                                                \"CPU_UTILIZATION\",\n                                                \"MEM_UTILIZATION\",\n                                                \"RESTART_COUNT\",\n                                                \"DEPLOYMENT_FAILED\",\n                                                \"DEPLOYMENT_LIVE\",\n                                                \"DOMAIN_FAILED\",\n                                                \"DOMAIN_LIVE\",\n                                                \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                \"FUNCTIONS_ERROR_COUNT\",\n                                                \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                              ],\n                                              \"example\": \"CPU_UTILIZATION\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"Threshold value for alert\",\n                                              \"example\": 2.32,\n                                              \"format\": \"float\",\n                                              \"type\": \"number\"\n                                            },\n                                            \"window\": {\n                                              \"default\": \"UNSPECIFIED_WINDOW\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_WINDOW\",\n                                                \"FIVE_MINUTES\",\n                                                \"TEN_MINUTES\",\n                                                \"THIRTY_MINUTES\",\n                                                \"ONE_HOUR\"\n                                              ],\n                                              \"example\": \"FIVE_MINUTES\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"jobs\": {\n                                  \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"kind\": {\n                                            \"default\": \"UNSPECIFIED\",\n                                            \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                            \"enum\": [\n                                              \"UNSPECIFIED\",\n                                              \"PRE_DEPLOY\",\n                                              \"POST_DEPLOY\",\n                                              \"FAILED_DEPLOY\"\n                                            ],\n                                            \"example\": \"PRE_DEPLOY\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                  \"example\": \"web-app-01\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"region\": {\n                                  \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                  \"enum\": [\n                                    \"ams\",\n                                    \"nyc\",\n                                    \"fra\",\n                                    \"sfo\",\n                                    \"sgp\",\n                                    \"blr\",\n                                    \"tor\",\n                                    \"lon\",\n                                    \"syd\"\n                                  ],\n                                  \"example\": \"nyc\",\n                                  \"type\": \"string\"\n                                },\n                                \"services\": {\n                                  \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"health_check\": {\n                                            \"properties\": {\n                                              \"failure_threshold\": {\n                                                \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                \"example\": 2,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"http_path\": {\n                                                \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                \"example\": \"/health\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"initial_delay_seconds\": {\n                                                \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                \"example\": 30,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"period_seconds\": {\n                                                \"description\": \"The number of seconds to wait between health checks.\",\n                                                \"example\": 60,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"port\": {\n                                                \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                \"example\": 80,\n                                                \"format\": \"int64\",\n                                                \"maximum\": 65535,\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"success_threshold\": {\n                                                \"description\": \"The number of successful health checks before considered healthy.\",\n                                                \"example\": 3,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"timeout_seconds\": {\n                                                \"description\": \"The number of seconds after which the check times out.\",\n                                                \"example\": 45,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"http_port\": {\n                                            \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                            \"example\": 3000,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"internal_ports\": {\n                                            \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                            \"example\": [\n                                              80,\n                                              443\n                                            ],\n                                            \"items\": {\n                                              \"format\": \"int64\",\n                                              \"type\": \"integer\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"static_sites\": {\n                                  \"description\": \"Content which can be rendered to static web assets.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"catchall_document\": {\n                                            \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                            \"example\": \"index.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"error_document\": {\n                                            \"default\": \"404.html\",\n                                            \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                            \"example\": \"error.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"index_document\": {\n                                            \"default\": \"index.html\",\n                                            \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                            \"example\": \"main.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"output_dir\": {\n                                            \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                            \"example\": \"dist/\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"required\": [\n                                      \"name\"\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"workers\": {\n                                  \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"required\": [\n                                      \"name\"\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"title\": \"AppSpec\",\n                              \"type\": \"object\"\n                            },\n                            \"static_sites\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"web\",\n                                    \"title\": \"The name of this static site\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Static Site components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"tier_slug\": {\n                              \"example\": \"basic\",\n                              \"readOnly\": true,\n                              \"title\": \"The current pricing tier slug of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"example\": \"2020-07-28T18:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"When the deployment was last updated\",\n                              \"type\": \"string\"\n                            },\n                            \"workers\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"queue-runner\",\n                                    \"title\": \"The name of this worker\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Worker components that are part of this deployment\",\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"title\": \"An app deployment\",\n                          \"type\": \"object\"\n                        },\n                        \"created_at\": {\n                          \"example\": \"2020-11-19T20:27:18Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"title\": \"The creation time of the app\",\n                          \"type\": \"string\"\n                        },\n                        \"default_ingress\": {\n                          \"example\": \"digitalocean.com\",\n                          \"readOnly\": true,\n                          \"title\": \"The default hostname on which the app is accessible\",\n                          \"type\": \"string\"\n                        },\n                        \"domains\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"certificate_expires_at\": {\n                                \"example\": \"2024-01-29T23:59:59Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"title\": \"Current SSL certificate expiration time\",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                                \"title\": \"The ID of the domain\",\n                                \"type\": \"string\"\n                              },\n                              \"phase\": {\n                                \"default\": \"UNKNOWN\",\n                                \"enum\": [\n                                  \"UNKNOWN\",\n                                  \"PENDING\",\n                                  \"CONFIGURING\",\n                                  \"ACTIVE\",\n                                  \"ERROR\"\n                                ],\n                                \"example\": \"ACTIVE\",\n                                \"type\": \"string\"\n                              },\n                              \"progress\": {\n                                \"properties\": {\n                                  \"steps\": {\n                                    \"items\": {\n                                      \"type\": \"object\"\n                                    },\n                                    \"title\": \"The steps of the domain's progress\",\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"rotate_validation_records\": {\n                                \"readOnly\": true,\n                                \"title\": \"Validation values have changed and require manual intervention\",\n                                \"type\": \"boolean\"\n                              },\n                              \"spec\": {\n                                \"properties\": {\n                                  \"domain\": {\n                                    \"description\": \"The hostname for the domain\",\n                                    \"example\": \"app.example.com\",\n                                    \"maxLength\": 253,\n                                    \"minLength\": 4,\n                                    \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"minimum_tls_version\": {\n                                    \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                    \"enum\": [\n                                      \"1.2\",\n                                      \"1.3\"\n                                    ],\n                                    \"example\": \"1.3\",\n                                    \"maxLength\": 3,\n                                    \"minLength\": 3,\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"UNSPECIFIED\",\n                                    \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED\",\n                                      \"DEFAULT\",\n                                      \"PRIMARY\",\n                                      \"ALIAS\"\n                                    ],\n                                    \"example\": \"DEFAULT\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"wildcard\": {\n                                    \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"zone\": {\n                                    \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                    \"example\": \"example.com\",\n                                    \"format\": \"hostname\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"domain\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"validations\": {\n                                \"items\": {\n                                  \"properties\": {\n                                    \"txt_name\": {\n                                      \"example\": \"_acme-challenge.app.example.com\",\n                                      \"readOnly\": true,\n                                      \"title\": \"TXT record name\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"txt_value\": {\n                                      \"example\": \"lXLOcN6cPv0nproViNcUHcahD9TrIPlNgdwesj0pYpk\",\n                                      \"readOnly\": true,\n                                      \"title\": \"TXT record value\",\n                                      \"type\": \"string\"\n                                    }\n                                  }\n                                },\n                                \"title\": \"List of TXT validation records\",\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"readOnly\": true,\n                          \"title\": \"Contains all domains for the app\",\n                          \"type\": \"array\"\n                        },\n                        \"id\": {\n                          \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                          \"readOnly\": true,\n                          \"title\": \"The ID of the application\",\n                          \"type\": \"string\"\n                        },\n                        \"in_progress_deployment\": {\n                          \"properties\": {\n                            \"cause\": {\n                              \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                              \"title\": \"What caused this deployment to be created\",\n                              \"type\": \"string\"\n                            },\n                            \"cloned_from\": {\n                              \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                              \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                              \"type\": \"string\"\n                            },\n                            \"created_at\": {\n                              \"example\": \"2020-07-28T18:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"The creation time of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"functions\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"my-functions-component\",\n                                    \"title\": \"The name of this functions component\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"namespace\": {\n                                    \"description\": \"The namespace where the functions are deployed.\",\n                                    \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Functions components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"id\": {\n                              \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                              \"title\": \"The ID of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"jobs\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"migrate-db\",\n                                    \"title\": \"The name of this job\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this job\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Job components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"phase\": {\n                              \"default\": \"UNKNOWN\",\n                              \"enum\": [\n                                \"UNKNOWN\",\n                                \"PENDING_BUILD\",\n                                \"BUILDING\",\n                                \"PENDING_DEPLOY\",\n                                \"DEPLOYING\",\n                                \"ACTIVE\",\n                                \"SUPERSEDED\",\n                                \"ERROR\",\n                                \"CANCELED\"\n                              ],\n                              \"example\": \"ACTIVE\",\n                              \"type\": \"string\"\n                            },\n                            \"phase_last_updated_at\": {\n                              \"example\": \"0001-01-01T00:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"When the deployment phase was last updated\",\n                              \"type\": \"string\"\n                            },\n                            \"progress\": {\n                              \"properties\": {\n                                \"error_steps\": {\n                                  \"example\": 3,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of unsuccessful steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"pending_steps\": {\n                                  \"example\": 2,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of pending steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"running_steps\": {\n                                  \"example\": 2,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of currently running steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"steps\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"component_name\": {\n                                        \"example\": \"component\",\n                                        \"title\": \"The component name that this step is associated with\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ended_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The end time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message_base\": {\n                                        \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                        \"example\": \"Building service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"example_step\",\n                                        \"title\": \"The name of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"reason\": {\n                                        \"properties\": {\n                                          \"code\": {\n                                            \"example\": \"Title of Error\",\n                                            \"title\": \"The error code\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message\": {\n                                            \"example\": \"This is an error\",\n                                            \"title\": \"The error message\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"started_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The start time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"status\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING\",\n                                          \"RUNNING\",\n                                          \"ERROR\",\n                                          \"SUCCESS\"\n                                        ],\n                                        \"example\": \"SUCCESS\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Child steps of this step\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"The deployment's steps\",\n                                  \"type\": \"array\"\n                                },\n                                \"success_steps\": {\n                                  \"example\": 4,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Number of successful steps\",\n                                  \"type\": \"integer\"\n                                },\n                                \"summary_steps\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"component_name\": {\n                                        \"example\": \"component\",\n                                        \"title\": \"The component name that this step is associated with\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ended_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The end time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"message_base\": {\n                                        \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                        \"example\": \"Building service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"example_step\",\n                                        \"title\": \"The name of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"reason\": {\n                                        \"properties\": {\n                                          \"code\": {\n                                            \"example\": \"Title of Error\",\n                                            \"title\": \"The error code\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message\": {\n                                            \"example\": \"This is an error\",\n                                            \"title\": \"The error message\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"started_at\": {\n                                        \"example\": \"2020-11-19T20:27:18Z\",\n                                        \"format\": \"date-time\",\n                                        \"title\": \"The start time of this step\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"status\": {\n                                        \"default\": \"UNKNOWN\",\n                                        \"enum\": [\n                                          \"UNKNOWN\",\n                                          \"PENDING\",\n                                          \"RUNNING\",\n                                          \"ERROR\",\n                                          \"SUCCESS\"\n                                        ],\n                                        \"example\": \"SUCCESS\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"steps\": {\n                                        \"items\": {\n                                          \"type\": \"object\"\n                                        },\n                                        \"title\": \"Child steps of this step\",\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"A flattened summary of the steps\",\n                                  \"type\": \"array\"\n                                },\n                                \"total_steps\": {\n                                  \"example\": 5,\n                                  \"format\": \"int32\",\n                                  \"title\": \"Total number of steps\",\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"services\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"web\",\n                                    \"title\": \"The name of this service\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this service\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Service components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"spec\": {\n                              \"description\": \"The desired configuration of an application.\",\n                              \"properties\": {\n                                \"databases\": {\n                                  \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"cluster_name\": {\n                                        \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                        \"example\": \"cluster_name\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"db_name\": {\n                                        \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                        \"example\": \"my_db\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"db_user\": {\n                                        \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                        \"example\": \"superuser\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"engine\": {\n                                        \"default\": \"UNSET\",\n                                        \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                        \"enum\": [\n                                          \"UNSET\",\n                                          \"MYSQL\",\n                                          \"PG\",\n                                          \"REDIS\"\n                                        ],\n                                        \"example\": \"PG\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"prod-db\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"production\": {\n                                        \"description\": \"Whether this is a production or dev database.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"version\": {\n                                        \"description\": \"The version of the database engine\",\n                                        \"example\": \"12\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"domains\": {\n                                  \"description\": \"A set of hostnames where the application will be available.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"domain\": {\n                                        \"description\": \"The hostname for the domain\",\n                                        \"example\": \"app.example.com\",\n                                        \"maxLength\": 253,\n                                        \"minLength\": 4,\n                                        \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"minimum_tls_version\": {\n                                        \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                        \"enum\": [\n                                          \"1.2\",\n                                          \"1.3\"\n                                        ],\n                                        \"example\": \"1.3\",\n                                        \"maxLength\": 3,\n                                        \"minLength\": 3,\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"DEFAULT\",\n                                          \"PRIMARY\",\n                                          \"ALIAS\"\n                                        ],\n                                        \"example\": \"DEFAULT\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"wildcard\": {\n                                        \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"zone\": {\n                                        \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                        \"example\": \"example.com\",\n                                        \"format\": \"hostname\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"domain\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"functions\": {\n                                  \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"alerts\": {\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"disabled\": {\n                                              \"description\": \"Is the alert disabled?\",\n                                              \"example\": false,\n                                              \"type\": \"boolean\"\n                                            },\n                                            \"operator\": {\n                                              \"default\": \"UNSPECIFIED_OPERATOR\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_OPERATOR\",\n                                                \"GREATER_THAN\",\n                                                \"LESS_THAN\"\n                                              ],\n                                              \"example\": \"GREATER_THAN\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"rule\": {\n                                              \"default\": \"UNSPECIFIED_RULE\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_RULE\",\n                                                \"CPU_UTILIZATION\",\n                                                \"MEM_UTILIZATION\",\n                                                \"RESTART_COUNT\",\n                                                \"DEPLOYMENT_FAILED\",\n                                                \"DEPLOYMENT_LIVE\",\n                                                \"DOMAIN_FAILED\",\n                                                \"DOMAIN_LIVE\",\n                                                \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                \"FUNCTIONS_ERROR_COUNT\",\n                                                \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                              ],\n                                              \"example\": \"CPU_UTILIZATION\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"Threshold value for alert\",\n                                              \"example\": 2.32,\n                                              \"format\": \"float\",\n                                              \"type\": \"number\"\n                                            },\n                                            \"window\": {\n                                              \"default\": \"UNSPECIFIED_WINDOW\",\n                                              \"enum\": [\n                                                \"UNSPECIFIED_WINDOW\",\n                                                \"FIVE_MINUTES\",\n                                                \"TEN_MINUTES\",\n                                                \"THIRTY_MINUTES\",\n                                                \"ONE_HOUR\"\n                                              ],\n                                              \"example\": \"FIVE_MINUTES\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"jobs\": {\n                                  \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"kind\": {\n                                            \"default\": \"UNSPECIFIED\",\n                                            \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                            \"enum\": [\n                                              \"UNSPECIFIED\",\n                                              \"PRE_DEPLOY\",\n                                              \"POST_DEPLOY\",\n                                              \"FAILED_DEPLOY\"\n                                            ],\n                                            \"example\": \"PRE_DEPLOY\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                  \"example\": \"web-app-01\",\n                                  \"maxLength\": 32,\n                                  \"minLength\": 2,\n                                  \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                  \"type\": \"string\"\n                                },\n                                \"region\": {\n                                  \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                  \"enum\": [\n                                    \"ams\",\n                                    \"nyc\",\n                                    \"fra\",\n                                    \"sfo\",\n                                    \"sgp\",\n                                    \"blr\",\n                                    \"tor\",\n                                    \"lon\",\n                                    \"syd\"\n                                  ],\n                                  \"example\": \"nyc\",\n                                  \"type\": \"string\"\n                                },\n                                \"services\": {\n                                  \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"health_check\": {\n                                            \"properties\": {\n                                              \"failure_threshold\": {\n                                                \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                \"example\": 2,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"http_path\": {\n                                                \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                \"example\": \"/health\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"initial_delay_seconds\": {\n                                                \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                \"example\": 30,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"period_seconds\": {\n                                                \"description\": \"The number of seconds to wait between health checks.\",\n                                                \"example\": 60,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"port\": {\n                                                \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                \"example\": 80,\n                                                \"format\": \"int64\",\n                                                \"maximum\": 65535,\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"success_threshold\": {\n                                                \"description\": \"The number of successful health checks before considered healthy.\",\n                                                \"example\": 3,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              },\n                                              \"timeout_seconds\": {\n                                                \"description\": \"The number of seconds after which the check times out.\",\n                                                \"example\": 45,\n                                                \"format\": \"int32\",\n                                                \"type\": \"integer\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"http_port\": {\n                                            \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                            \"example\": 3000,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"internal_ports\": {\n                                            \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                            \"example\": [\n                                              80,\n                                              443\n                                            ],\n                                            \"items\": {\n                                              \"format\": \"int64\",\n                                              \"type\": \"integer\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"static_sites\": {\n                                  \"description\": \"Content which can be rendered to static web assets.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"catchall_document\": {\n                                            \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                            \"example\": \"index.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"error_document\": {\n                                            \"default\": \"404.html\",\n                                            \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                            \"example\": \"error.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"index_document\": {\n                                            \"default\": \"index.html\",\n                                            \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                            \"example\": \"main.html\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"output_dir\": {\n                                            \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                            \"example\": \"dist/\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"required\": [\n                                      \"name\"\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"workers\": {\n                                  \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                  \"items\": {\n                                    \"allOf\": [\n                                      {\n                                        \"properties\": {\n                                          \"build_command\": {\n                                            \"description\": \"An optional build command to run while building this component from source.\",\n                                            \"example\": \"npm run build\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"dockerfile_path\": {\n                                            \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                            \"example\": \"path/to/Dockerfile\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"environment_slug\": {\n                                            \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                            \"example\": \"node-js\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"image\": {\n                                            \"properties\": {\n                                              \"registry\": {\n                                                \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                \"example\": \"registry.hub.docker.com\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"registry_type\": {\n                                                \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                \"enum\": [\n                                                  \"DOCKER_HUB\",\n                                                  \"DOCR\"\n                                                ],\n                                                \"example\": \"DOCR\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repository\": {\n                                                \"description\": \"The repository name.\",\n                                                \"example\": \"origin/master\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"tag\": {\n                                                \"default\": \"latest\",\n                                                \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                \"example\": \"latest\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"run_command\": {\n                                            \"description\": \"An optional run command to override the component's default.\",\n                                            \"example\": \"bin/api\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"instance_count\": {\n                                            \"default\": 1,\n                                            \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                            \"example\": 2,\n                                            \"format\": \"int64\",\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"instance_size_slug\": {\n                                            \"default\": \"basic-xxs\",\n                                            \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                            \"enum\": [\n                                              \"basic-xxs\",\n                                              \"basic-xs\",\n                                              \"basic-s\",\n                                              \"basic-m\",\n                                              \"professional-xs\",\n                                              \"professional-s\",\n                                              \"professional-m\",\n                                              \"professional-1l\",\n                                              \"professional-l\",\n                                              \"professional-xl\"\n                                            ],\n                                            \"example\": \"basic-xxs\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"required\": [\n                                      \"name\"\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"title\": \"AppSpec\",\n                              \"type\": \"object\"\n                            },\n                            \"static_sites\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"web\",\n                                    \"title\": \"The name of this static site\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Static Site components that are part of this deployment\",\n                              \"type\": \"array\"\n                            },\n                            \"tier_slug\": {\n                              \"example\": \"basic\",\n                              \"readOnly\": true,\n                              \"title\": \"The current pricing tier slug of the deployment\",\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"example\": \"2020-07-28T18:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"title\": \"When the deployment was last updated\",\n                              \"type\": \"string\"\n                            },\n                            \"workers\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"name\": {\n                                    \"example\": \"queue-runner\",\n                                    \"title\": \"The name of this worker\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"source_commit_hash\": {\n                                    \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                    \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"title\": \"Worker components that are part of this deployment\",\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"title\": \"An app deployment\",\n                          \"type\": \"object\"\n                        },\n                        \"last_deployment_created_at\": {\n                          \"example\": \"2020-11-19T20:27:18Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"title\": \"The creation time of the last deployment\",\n                          \"type\": \"string\"\n                        },\n                        \"live_domain\": {\n                          \"example\": \"live_domain\",\n                          \"readOnly\": true,\n                          \"title\": \"The live domain of the app\",\n                          \"type\": \"string\"\n                        },\n                        \"live_url\": {\n                          \"example\": \"google.com\",\n                          \"readOnly\": true,\n                          \"title\": \"The live URL of the app\",\n                          \"type\": \"string\"\n                        },\n                        \"live_url_base\": {\n                          \"example\": \"digitalocean.com\",\n                          \"readOnly\": true,\n                          \"title\": \"The live URL base of the app, the URL excluding the path\",\n                          \"type\": \"string\"\n                        },\n                        \"owner_uuid\": {\n                          \"example\": \"4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf\",\n                          \"readOnly\": true,\n                          \"title\": \"The ID of the account to which the application belongs\",\n                          \"type\": \"string\"\n                        },\n                        \"pending_deployment\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"The most recent pending deployment. For CreateApp and UpdateApp transactions this is guaranteed to reflect the associated deployment.\"\n                            },\n                            {\n                              \"properties\": {\n                                \"cause\": {\n                                  \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                                  \"title\": \"What caused this deployment to be created\",\n                                  \"type\": \"string\"\n                                },\n                                \"cloned_from\": {\n                                  \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                                  \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                                  \"type\": \"string\"\n                                },\n                                \"created_at\": {\n                                  \"example\": \"2020-07-28T18:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"The creation time of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"functions\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"my-functions-component\",\n                                        \"title\": \"The name of this functions component\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"namespace\": {\n                                        \"description\": \"The namespace where the functions are deployed.\",\n                                        \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Functions components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"id\": {\n                                  \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                                  \"title\": \"The ID of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"jobs\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"migrate-db\",\n                                        \"title\": \"The name of this job\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this job\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Job components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"phase\": {\n                                  \"default\": \"UNKNOWN\",\n                                  \"enum\": [\n                                    \"UNKNOWN\",\n                                    \"PENDING_BUILD\",\n                                    \"BUILDING\",\n                                    \"PENDING_DEPLOY\",\n                                    \"DEPLOYING\",\n                                    \"ACTIVE\",\n                                    \"SUPERSEDED\",\n                                    \"ERROR\",\n                                    \"CANCELED\"\n                                  ],\n                                  \"example\": \"ACTIVE\",\n                                  \"type\": \"string\"\n                                },\n                                \"phase_last_updated_at\": {\n                                  \"example\": \"0001-01-01T00:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"When the deployment phase was last updated\",\n                                  \"type\": \"string\"\n                                },\n                                \"progress\": {\n                                  \"properties\": {\n                                    \"error_steps\": {\n                                      \"example\": 3,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of unsuccessful steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"pending_steps\": {\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of pending steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"running_steps\": {\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of currently running steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"steps\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"component_name\": {\n                                            \"example\": \"component\",\n                                            \"title\": \"The component name that this step is associated with\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ended_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The end time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message_base\": {\n                                            \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                            \"example\": \"Building service\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"example_step\",\n                                            \"title\": \"The name of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"reason\": {\n                                            \"properties\": {\n                                              \"code\": {\n                                                \"example\": \"Title of Error\",\n                                                \"title\": \"The error code\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"message\": {\n                                                \"example\": \"This is an error\",\n                                                \"title\": \"The error message\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"started_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The start time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"default\": \"UNKNOWN\",\n                                            \"enum\": [\n                                              \"UNKNOWN\",\n                                              \"PENDING\",\n                                              \"RUNNING\",\n                                              \"ERROR\",\n                                              \"SUCCESS\"\n                                            ],\n                                            \"example\": \"SUCCESS\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"Child steps of this step\",\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"title\": \"The deployment's steps\",\n                                      \"type\": \"array\"\n                                    },\n                                    \"success_steps\": {\n                                      \"example\": 4,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of successful steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"summary_steps\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"component_name\": {\n                                            \"example\": \"component\",\n                                            \"title\": \"The component name that this step is associated with\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ended_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The end time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message_base\": {\n                                            \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                            \"example\": \"Building service\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"example_step\",\n                                            \"title\": \"The name of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"reason\": {\n                                            \"properties\": {\n                                              \"code\": {\n                                                \"example\": \"Title of Error\",\n                                                \"title\": \"The error code\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"message\": {\n                                                \"example\": \"This is an error\",\n                                                \"title\": \"The error message\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"started_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The start time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"default\": \"UNKNOWN\",\n                                            \"enum\": [\n                                              \"UNKNOWN\",\n                                              \"PENDING\",\n                                              \"RUNNING\",\n                                              \"ERROR\",\n                                              \"SUCCESS\"\n                                            ],\n                                            \"example\": \"SUCCESS\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"Child steps of this step\",\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"title\": \"A flattened summary of the steps\",\n                                      \"type\": \"array\"\n                                    },\n                                    \"total_steps\": {\n                                      \"example\": 5,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Total number of steps\",\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"services\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"web\",\n                                        \"title\": \"The name of this service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this service\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Service components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"spec\": {\n                                  \"description\": \"The desired configuration of an application.\",\n                                  \"properties\": {\n                                    \"databases\": {\n                                      \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"cluster_name\": {\n                                            \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                            \"example\": \"cluster_name\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"db_name\": {\n                                            \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                            \"example\": \"my_db\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"db_user\": {\n                                            \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                            \"example\": \"superuser\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"engine\": {\n                                            \"default\": \"UNSET\",\n                                            \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                            \"enum\": [\n                                              \"UNSET\",\n                                              \"MYSQL\",\n                                              \"PG\",\n                                              \"REDIS\"\n                                            ],\n                                            \"example\": \"PG\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"prod-db\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"production\": {\n                                            \"description\": \"Whether this is a production or dev database.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"version\": {\n                                            \"description\": \"The version of the database engine\",\n                                            \"example\": \"12\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"domains\": {\n                                      \"description\": \"A set of hostnames where the application will be available.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"domain\": {\n                                            \"description\": \"The hostname for the domain\",\n                                            \"example\": \"app.example.com\",\n                                            \"maxLength\": 253,\n                                            \"minLength\": 4,\n                                            \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"minimum_tls_version\": {\n                                            \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                            \"enum\": [\n                                              \"1.2\",\n                                              \"1.3\"\n                                            ],\n                                            \"example\": \"1.3\",\n                                            \"maxLength\": 3,\n                                            \"minLength\": 3,\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": {\n                                            \"default\": \"UNSPECIFIED\",\n                                            \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                            \"enum\": [\n                                              \"UNSPECIFIED\",\n                                              \"DEFAULT\",\n                                              \"PRIMARY\",\n                                              \"ALIAS\"\n                                            ],\n                                            \"example\": \"DEFAULT\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"wildcard\": {\n                                            \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"zone\": {\n                                            \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                            \"example\": \"example.com\",\n                                            \"format\": \"hostname\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"domain\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"functions\": {\n                                      \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"alerts\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"disabled\": {\n                                                  \"description\": \"Is the alert disabled?\",\n                                                  \"example\": false,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"operator\": {\n                                                  \"default\": \"UNSPECIFIED_OPERATOR\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_OPERATOR\",\n                                                    \"GREATER_THAN\",\n                                                    \"LESS_THAN\"\n                                                  ],\n                                                  \"example\": \"GREATER_THAN\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"rule\": {\n                                                  \"default\": \"UNSPECIFIED_RULE\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_RULE\",\n                                                    \"CPU_UTILIZATION\",\n                                                    \"MEM_UTILIZATION\",\n                                                    \"RESTART_COUNT\",\n                                                    \"DEPLOYMENT_FAILED\",\n                                                    \"DEPLOYMENT_LIVE\",\n                                                    \"DOMAIN_FAILED\",\n                                                    \"DOMAIN_LIVE\",\n                                                    \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                    \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                    \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                    \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                    \"FUNCTIONS_ERROR_COUNT\",\n                                                    \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                                  ],\n                                                  \"example\": \"CPU_UTILIZATION\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"Threshold value for alert\",\n                                                  \"example\": 2.32,\n                                                  \"format\": \"float\",\n                                                  \"type\": \"number\"\n                                                },\n                                                \"window\": {\n                                                  \"default\": \"UNSPECIFIED_WINDOW\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_WINDOW\",\n                                                    \"FIVE_MINUTES\",\n                                                    \"TEN_MINUTES\",\n                                                    \"THIRTY_MINUTES\",\n                                                    \"ONE_HOUR\"\n                                                  ],\n                                                  \"example\": \"FIVE_MINUTES\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"jobs\": {\n                                      \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"kind\": {\n                                                \"default\": \"UNSPECIFIED\",\n                                                \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                                \"enum\": [\n                                                  \"UNSPECIFIED\",\n                                                  \"PRE_DEPLOY\",\n                                                  \"POST_DEPLOY\",\n                                                  \"FAILED_DEPLOY\"\n                                                ],\n                                                \"example\": \"PRE_DEPLOY\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                      \"example\": \"web-app-01\",\n                                      \"maxLength\": 32,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"region\": {\n                                      \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                      \"enum\": [\n                                        \"ams\",\n                                        \"nyc\",\n                                        \"fra\",\n                                        \"sfo\",\n                                        \"sgp\",\n                                        \"blr\",\n                                        \"tor\",\n                                        \"lon\",\n                                        \"syd\"\n                                      ],\n                                      \"example\": \"nyc\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"services\": {\n                                      \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"cors\": {\n                                                \"properties\": {\n                                                  \"allow_credentials\": {\n                                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"allow_headers\": {\n                                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Type\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_methods\": {\n                                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                    \"example\": [\n                                                      \"GET\",\n                                                      \"OPTIONS\",\n                                                      \"POST\",\n                                                      \"PUT\",\n                                                      \"PATCH\",\n                                                      \"DELETE\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_origins\": {\n                                                    \"description\": \"The set of allowed CORS origins.\",\n                                                    \"example\": [\n                                                      {\n                                                        \"exact\": \"https://www.example.com\"\n                                                      },\n                                                      {\n                                                        \"regex\": \"^.*example.com\"\n                                                      }\n                                                    ],\n                                                    \"items\": {\n                                                      \"properties\": {\n                                                        \"exact\": {\n                                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"prefix\": {\n                                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"regex\": {\n                                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                          \"example\": \"^.*example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"expose_headers\": {\n                                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Encoding\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"max_age\": {\n                                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                    \"example\": \"5h30m\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"health_check\": {\n                                                \"properties\": {\n                                                  \"failure_threshold\": {\n                                                    \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                    \"example\": 2,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"http_path\": {\n                                                    \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                    \"example\": \"/health\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"initial_delay_seconds\": {\n                                                    \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                    \"example\": 30,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"period_seconds\": {\n                                                    \"description\": \"The number of seconds to wait between health checks.\",\n                                                    \"example\": 60,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"port\": {\n                                                    \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                    \"example\": 80,\n                                                    \"format\": \"int64\",\n                                                    \"maximum\": 65535,\n                                                    \"minimum\": 1,\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"success_threshold\": {\n                                                    \"description\": \"The number of successful health checks before considered healthy.\",\n                                                    \"example\": 3,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"timeout_seconds\": {\n                                                    \"description\": \"The number of seconds after which the check times out.\",\n                                                    \"example\": 45,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"http_port\": {\n                                                \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                                \"example\": 3000,\n                                                \"format\": \"int64\",\n                                                \"maximum\": 65535,\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"internal_ports\": {\n                                                \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                                \"example\": [\n                                                  80,\n                                                  443\n                                                ],\n                                                \"items\": {\n                                                  \"format\": \"int64\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"routes\": {\n                                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"path\": {\n                                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                      \"example\": \"/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"preserve_path_prefix\": {\n                                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    }\n                                                  },\n                                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"static_sites\": {\n                                      \"description\": \"Content which can be rendered to static web assets.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"catchall_document\": {\n                                                \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                                \"example\": \"index.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"cors\": {\n                                                \"properties\": {\n                                                  \"allow_credentials\": {\n                                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"allow_headers\": {\n                                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Type\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_methods\": {\n                                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                    \"example\": [\n                                                      \"GET\",\n                                                      \"OPTIONS\",\n                                                      \"POST\",\n                                                      \"PUT\",\n                                                      \"PATCH\",\n                                                      \"DELETE\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_origins\": {\n                                                    \"description\": \"The set of allowed CORS origins.\",\n                                                    \"example\": [\n                                                      {\n                                                        \"exact\": \"https://www.example.com\"\n                                                      },\n                                                      {\n                                                        \"regex\": \"^.*example.com\"\n                                                      }\n                                                    ],\n                                                    \"items\": {\n                                                      \"properties\": {\n                                                        \"exact\": {\n                                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"prefix\": {\n                                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"regex\": {\n                                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                          \"example\": \"^.*example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"expose_headers\": {\n                                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Encoding\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"max_age\": {\n                                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                    \"example\": \"5h30m\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"error_document\": {\n                                                \"default\": \"404.html\",\n                                                \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                                \"example\": \"error.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"index_document\": {\n                                                \"default\": \"index.html\",\n                                                \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                                \"example\": \"main.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"output_dir\": {\n                                                \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                                \"example\": \"dist/\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"routes\": {\n                                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"path\": {\n                                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                      \"example\": \"/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"preserve_path_prefix\": {\n                                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    }\n                                                  },\n                                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          }\n                                        ],\n                                        \"required\": [\n                                          \"name\"\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"workers\": {\n                                      \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          }\n                                        ],\n                                        \"required\": [\n                                          \"name\"\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"AppSpec\",\n                                  \"type\": \"object\"\n                                },\n                                \"static_sites\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"web\",\n                                        \"title\": \"The name of this static site\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Static Site components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"tier_slug\": {\n                                  \"example\": \"basic\",\n                                  \"readOnly\": true,\n                                  \"title\": \"The current pricing tier slug of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"updated_at\": {\n                                  \"example\": \"2020-07-28T18:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"When the deployment was last updated\",\n                                  \"type\": \"string\"\n                                },\n                                \"workers\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"queue-runner\",\n                                        \"title\": \"The name of this worker\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Worker components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"title\": \"An app deployment\",\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"pinned_deployment\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"The deployment that the app is pinned to.\"\n                            },\n                            {\n                              \"properties\": {\n                                \"cause\": {\n                                  \"example\": \"commit 9a4df0b pushed to github/digitalocean/sample-golang\",\n                                  \"title\": \"What caused this deployment to be created\",\n                                  \"type\": \"string\"\n                                },\n                                \"cloned_from\": {\n                                  \"example\": \"3aa4d20e-5527-4c00-b496-601fbd22520a\",\n                                  \"title\": \"The ID of a previous deployment that this deployment was cloned from\",\n                                  \"type\": \"string\"\n                                },\n                                \"created_at\": {\n                                  \"example\": \"2020-07-28T18:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"The creation time of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"functions\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"my-functions-component\",\n                                        \"title\": \"The name of this functions component\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"namespace\": {\n                                        \"description\": \"The namespace where the functions are deployed.\",\n                                        \"example\": \"ap-b2a93513-8d9b-4223-9d61-5e7272c81c32\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"description\": \"The commit hash of the repository that was used to build this functions component.\",\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Functions components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"id\": {\n                                  \"example\": \"b6bdf840-2854-4f87-a36c-5f231c617c84\",\n                                  \"title\": \"The ID of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"jobs\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"migrate-db\",\n                                        \"title\": \"The name of this job\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this job\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Job components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"phase\": {\n                                  \"default\": \"UNKNOWN\",\n                                  \"enum\": [\n                                    \"UNKNOWN\",\n                                    \"PENDING_BUILD\",\n                                    \"BUILDING\",\n                                    \"PENDING_DEPLOY\",\n                                    \"DEPLOYING\",\n                                    \"ACTIVE\",\n                                    \"SUPERSEDED\",\n                                    \"ERROR\",\n                                    \"CANCELED\"\n                                  ],\n                                  \"example\": \"ACTIVE\",\n                                  \"type\": \"string\"\n                                },\n                                \"phase_last_updated_at\": {\n                                  \"example\": \"0001-01-01T00:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"When the deployment phase was last updated\",\n                                  \"type\": \"string\"\n                                },\n                                \"progress\": {\n                                  \"properties\": {\n                                    \"error_steps\": {\n                                      \"example\": 3,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of unsuccessful steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"pending_steps\": {\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of pending steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"running_steps\": {\n                                      \"example\": 2,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of currently running steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"steps\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"component_name\": {\n                                            \"example\": \"component\",\n                                            \"title\": \"The component name that this step is associated with\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ended_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The end time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message_base\": {\n                                            \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                            \"example\": \"Building service\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"example_step\",\n                                            \"title\": \"The name of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"reason\": {\n                                            \"properties\": {\n                                              \"code\": {\n                                                \"example\": \"Title of Error\",\n                                                \"title\": \"The error code\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"message\": {\n                                                \"example\": \"This is an error\",\n                                                \"title\": \"The error message\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"started_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The start time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"default\": \"UNKNOWN\",\n                                            \"enum\": [\n                                              \"UNKNOWN\",\n                                              \"PENDING\",\n                                              \"RUNNING\",\n                                              \"ERROR\",\n                                              \"SUCCESS\"\n                                            ],\n                                            \"example\": \"SUCCESS\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"Child steps of this step\",\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"title\": \"The deployment's steps\",\n                                      \"type\": \"array\"\n                                    },\n                                    \"success_steps\": {\n                                      \"example\": 4,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Number of successful steps\",\n                                      \"type\": \"integer\"\n                                    },\n                                    \"summary_steps\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"component_name\": {\n                                            \"example\": \"component\",\n                                            \"title\": \"The component name that this step is associated with\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ended_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The end time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"message_base\": {\n                                            \"description\": \"The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\\n\\n`message_base` = \\\"Building service\\\"\\n`component_name` = \\\"api\\\"\",\n                                            \"example\": \"Building service\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"example_step\",\n                                            \"title\": \"The name of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"reason\": {\n                                            \"properties\": {\n                                              \"code\": {\n                                                \"example\": \"Title of Error\",\n                                                \"title\": \"The error code\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"message\": {\n                                                \"example\": \"This is an error\",\n                                                \"title\": \"The error message\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"started_at\": {\n                                            \"example\": \"2020-11-19T20:27:18Z\",\n                                            \"format\": \"date-time\",\n                                            \"title\": \"The start time of this step\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"default\": \"UNKNOWN\",\n                                            \"enum\": [\n                                              \"UNKNOWN\",\n                                              \"PENDING\",\n                                              \"RUNNING\",\n                                              \"ERROR\",\n                                              \"SUCCESS\"\n                                            ],\n                                            \"example\": \"SUCCESS\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"steps\": {\n                                            \"items\": {\n                                              \"type\": \"object\"\n                                            },\n                                            \"title\": \"Child steps of this step\",\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"title\": \"A step that is run as part of the deployment's lifecycle\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"title\": \"A flattened summary of the steps\",\n                                      \"type\": \"array\"\n                                    },\n                                    \"total_steps\": {\n                                      \"example\": 5,\n                                      \"format\": \"int32\",\n                                      \"title\": \"Total number of steps\",\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"services\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"web\",\n                                        \"title\": \"The name of this service\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this service\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Service components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"spec\": {\n                                  \"description\": \"The desired configuration of an application.\",\n                                  \"properties\": {\n                                    \"databases\": {\n                                      \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"cluster_name\": {\n                                            \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                            \"example\": \"cluster_name\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"db_name\": {\n                                            \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                            \"example\": \"my_db\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"db_user\": {\n                                            \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                            \"example\": \"superuser\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"engine\": {\n                                            \"default\": \"UNSET\",\n                                            \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                            \"enum\": [\n                                              \"UNSET\",\n                                              \"MYSQL\",\n                                              \"PG\",\n                                              \"REDIS\"\n                                            ],\n                                            \"example\": \"PG\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"prod-db\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"production\": {\n                                            \"description\": \"Whether this is a production or dev database.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"version\": {\n                                            \"description\": \"The version of the database engine\",\n                                            \"example\": \"12\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"domains\": {\n                                      \"description\": \"A set of hostnames where the application will be available.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"domain\": {\n                                            \"description\": \"The hostname for the domain\",\n                                            \"example\": \"app.example.com\",\n                                            \"maxLength\": 253,\n                                            \"minLength\": 4,\n                                            \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"minimum_tls_version\": {\n                                            \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                            \"enum\": [\n                                              \"1.2\",\n                                              \"1.3\"\n                                            ],\n                                            \"example\": \"1.3\",\n                                            \"maxLength\": 3,\n                                            \"minLength\": 3,\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": {\n                                            \"default\": \"UNSPECIFIED\",\n                                            \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                            \"enum\": [\n                                              \"UNSPECIFIED\",\n                                              \"DEFAULT\",\n                                              \"PRIMARY\",\n                                              \"ALIAS\"\n                                            ],\n                                            \"example\": \"DEFAULT\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"wildcard\": {\n                                            \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"zone\": {\n                                            \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                            \"example\": \"example.com\",\n                                            \"format\": \"hostname\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"domain\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"functions\": {\n                                      \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"alerts\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"disabled\": {\n                                                  \"description\": \"Is the alert disabled?\",\n                                                  \"example\": false,\n                                                  \"type\": \"boolean\"\n                                                },\n                                                \"operator\": {\n                                                  \"default\": \"UNSPECIFIED_OPERATOR\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_OPERATOR\",\n                                                    \"GREATER_THAN\",\n                                                    \"LESS_THAN\"\n                                                  ],\n                                                  \"example\": \"GREATER_THAN\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"rule\": {\n                                                  \"default\": \"UNSPECIFIED_RULE\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_RULE\",\n                                                    \"CPU_UTILIZATION\",\n                                                    \"MEM_UTILIZATION\",\n                                                    \"RESTART_COUNT\",\n                                                    \"DEPLOYMENT_FAILED\",\n                                                    \"DEPLOYMENT_LIVE\",\n                                                    \"DOMAIN_FAILED\",\n                                                    \"DOMAIN_LIVE\",\n                                                    \"FUNCTIONS_ACTIVATION_COUNT\",\n                                                    \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                                    \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                                    \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                                    \"FUNCTIONS_ERROR_COUNT\",\n                                                    \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                                  ],\n                                                  \"example\": \"CPU_UTILIZATION\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"Threshold value for alert\",\n                                                  \"example\": 2.32,\n                                                  \"format\": \"float\",\n                                                  \"type\": \"number\"\n                                                },\n                                                \"window\": {\n                                                  \"default\": \"UNSPECIFIED_WINDOW\",\n                                                  \"enum\": [\n                                                    \"UNSPECIFIED_WINDOW\",\n                                                    \"FIVE_MINUTES\",\n                                                    \"TEN_MINUTES\",\n                                                    \"THIRTY_MINUTES\",\n                                                    \"ONE_HOUR\"\n                                                  ],\n                                                  \"example\": \"FIVE_MINUTES\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"cors\": {\n                                            \"properties\": {\n                                              \"allow_credentials\": {\n                                                \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                \"example\": false,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"allow_headers\": {\n                                                \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Type\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_methods\": {\n                                                \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                \"example\": [\n                                                  \"GET\",\n                                                  \"OPTIONS\",\n                                                  \"POST\",\n                                                  \"PUT\",\n                                                  \"PATCH\",\n                                                  \"DELETE\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"allow_origins\": {\n                                                \"description\": \"The set of allowed CORS origins.\",\n                                                \"example\": [\n                                                  {\n                                                    \"exact\": \"https://www.example.com\"\n                                                  },\n                                                  {\n                                                    \"regex\": \"^.*example.com\"\n                                                  }\n                                                ],\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"exact\": {\n                                                      \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"prefix\": {\n                                                      \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                      \"example\": \"https://www.example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"regex\": {\n                                                      \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                      \"example\": \"^.*example.com\",\n                                                      \"maxLength\": 256,\n                                                      \"minLength\": 1,\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"expose_headers\": {\n                                                \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                \"example\": [\n                                                  \"Content-Encoding\",\n                                                  \"X-Custom-Header\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"max_age\": {\n                                                \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                \"example\": \"5h30m\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"envs\": {\n                                            \"description\": \"A list of environment variables made available to the component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"key\": {\n                                                  \"description\": \"The variable name\",\n                                                  \"example\": \"BASE_URL\",\n                                                  \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"scope\": {\n                                                  \"default\": \"RUN_AND_BUILD_TIME\",\n                                                  \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                  \"enum\": [\n                                                    \"UNSET\",\n                                                    \"RUN_TIME\",\n                                                    \"BUILD_TIME\",\n                                                    \"RUN_AND_BUILD_TIME\"\n                                                  ],\n                                                  \"example\": \"BUILD_TIME\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"default\": \"GENERAL\",\n                                                  \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                  \"enum\": [\n                                                    \"GENERAL\",\n                                                    \"SECRET\"\n                                                  ],\n                                                  \"example\": \"GENERAL\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"value\": {\n                                                  \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                  \"example\": \"http://example.com\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"required\": [\n                                                \"key\"\n                                              ],\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"git\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"repo_clone_url\": {\n                                                \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"github\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"gitlab\": {\n                                            \"properties\": {\n                                              \"branch\": {\n                                                \"description\": \"The name of the branch to use\",\n                                                \"example\": \"main\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"deploy_on_push\": {\n                                                \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                \"example\": true,\n                                                \"type\": \"boolean\"\n                                              },\n                                              \"repo\": {\n                                                \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                \"example\": \"digitalocean/sample-golang\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"log_destinations\": {\n                                            \"properties\": {\n                                              \"datadog\": {\n                                                \"description\": \"DataDog configuration.\",\n                                                \"properties\": {\n                                                  \"api_key\": {\n                                                    \"description\": \"Datadog API key.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"endpoint\": {\n                                                    \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                    \"example\": \"https://mydatadogendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"api_key\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"logtail\": {\n                                                \"description\": \"Logtail configuration.\",\n                                                \"properties\": {\n                                                  \"token\": {\n                                                    \"description\": \"Logtail token.\",\n                                                    \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"example\": \"my_log_destination\",\n                                                \"maxLength\": 42,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"papertrail\": {\n                                                \"description\": \"Papertrail configuration.\",\n                                                \"properties\": {\n                                                  \"endpoint\": {\n                                                    \"description\": \"Papertrail syslog endpoint.\",\n                                                    \"example\": \"https://mypapertrailendpoint.com\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"endpoint\"\n                                                ],\n                                                \"type\": \"object\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"title\": \"Configurations for external logging.\",\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The name. Must be unique across all components within the same app.\",\n                                            \"example\": \"api\",\n                                            \"maxLength\": 32,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"routes\": {\n                                            \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"path\": {\n                                                  \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                  \"example\": \"/api\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"preserve_path_prefix\": {\n                                                  \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                  \"example\": true,\n                                                  \"type\": \"boolean\"\n                                                }\n                                              },\n                                              \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"source_dir\": {\n                                            \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                            \"example\": \"path/to/dir\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"jobs\": {\n                                      \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"kind\": {\n                                                \"default\": \"UNSPECIFIED\",\n                                                \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                                \"enum\": [\n                                                  \"UNSPECIFIED\",\n                                                  \"PRE_DEPLOY\",\n                                                  \"POST_DEPLOY\",\n                                                  \"FAILED_DEPLOY\"\n                                                ],\n                                                \"example\": \"PRE_DEPLOY\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                                      \"example\": \"web-app-01\",\n                                      \"maxLength\": 32,\n                                      \"minLength\": 2,\n                                      \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"region\": {\n                                      \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                                      \"enum\": [\n                                        \"ams\",\n                                        \"nyc\",\n                                        \"fra\",\n                                        \"sfo\",\n                                        \"sgp\",\n                                        \"blr\",\n                                        \"tor\",\n                                        \"lon\",\n                                        \"syd\"\n                                      ],\n                                      \"example\": \"nyc\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"services\": {\n                                      \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"cors\": {\n                                                \"properties\": {\n                                                  \"allow_credentials\": {\n                                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"allow_headers\": {\n                                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Type\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_methods\": {\n                                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                    \"example\": [\n                                                      \"GET\",\n                                                      \"OPTIONS\",\n                                                      \"POST\",\n                                                      \"PUT\",\n                                                      \"PATCH\",\n                                                      \"DELETE\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_origins\": {\n                                                    \"description\": \"The set of allowed CORS origins.\",\n                                                    \"example\": [\n                                                      {\n                                                        \"exact\": \"https://www.example.com\"\n                                                      },\n                                                      {\n                                                        \"regex\": \"^.*example.com\"\n                                                      }\n                                                    ],\n                                                    \"items\": {\n                                                      \"properties\": {\n                                                        \"exact\": {\n                                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"prefix\": {\n                                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"regex\": {\n                                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                          \"example\": \"^.*example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"expose_headers\": {\n                                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Encoding\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"max_age\": {\n                                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                    \"example\": \"5h30m\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"health_check\": {\n                                                \"properties\": {\n                                                  \"failure_threshold\": {\n                                                    \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                                    \"example\": 2,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"http_path\": {\n                                                    \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                                    \"example\": \"/health\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"initial_delay_seconds\": {\n                                                    \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                                    \"example\": 30,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"period_seconds\": {\n                                                    \"description\": \"The number of seconds to wait between health checks.\",\n                                                    \"example\": 60,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"port\": {\n                                                    \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                                    \"example\": 80,\n                                                    \"format\": \"int64\",\n                                                    \"maximum\": 65535,\n                                                    \"minimum\": 1,\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"success_threshold\": {\n                                                    \"description\": \"The number of successful health checks before considered healthy.\",\n                                                    \"example\": 3,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  },\n                                                  \"timeout_seconds\": {\n                                                    \"description\": \"The number of seconds after which the check times out.\",\n                                                    \"example\": 45,\n                                                    \"format\": \"int32\",\n                                                    \"type\": \"integer\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"http_port\": {\n                                                \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                                \"example\": 3000,\n                                                \"format\": \"int64\",\n                                                \"maximum\": 65535,\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"internal_ports\": {\n                                                \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                                \"example\": [\n                                                  80,\n                                                  443\n                                                ],\n                                                \"items\": {\n                                                  \"format\": \"int64\",\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"routes\": {\n                                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"path\": {\n                                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                      \"example\": \"/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"preserve_path_prefix\": {\n                                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    }\n                                                  },\n                                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"name\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"static_sites\": {\n                                      \"description\": \"Content which can be rendered to static web assets.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"catchall_document\": {\n                                                \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                                \"example\": \"index.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"cors\": {\n                                                \"properties\": {\n                                                  \"allow_credentials\": {\n                                                    \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                                    \"example\": false,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"allow_headers\": {\n                                                    \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Type\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_methods\": {\n                                                    \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                                    \"example\": [\n                                                      \"GET\",\n                                                      \"OPTIONS\",\n                                                      \"POST\",\n                                                      \"PUT\",\n                                                      \"PATCH\",\n                                                      \"DELETE\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"allow_origins\": {\n                                                    \"description\": \"The set of allowed CORS origins.\",\n                                                    \"example\": [\n                                                      {\n                                                        \"exact\": \"https://www.example.com\"\n                                                      },\n                                                      {\n                                                        \"regex\": \"^.*example.com\"\n                                                      }\n                                                    ],\n                                                    \"items\": {\n                                                      \"properties\": {\n                                                        \"exact\": {\n                                                          \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"prefix\": {\n                                                          \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                          \"example\": \"https://www.example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        },\n                                                        \"regex\": {\n                                                          \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                          \"example\": \"^.*example.com\",\n                                                          \"maxLength\": 256,\n                                                          \"minLength\": 1,\n                                                          \"type\": \"string\"\n                                                        }\n                                                      },\n                                                      \"type\": \"object\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"expose_headers\": {\n                                                    \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                                    \"example\": [\n                                                      \"Content-Encoding\",\n                                                      \"X-Custom-Header\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": \"array\"\n                                                  },\n                                                  \"max_age\": {\n                                                    \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                                    \"example\": \"5h30m\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"error_document\": {\n                                                \"default\": \"404.html\",\n                                                \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                                \"example\": \"error.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"index_document\": {\n                                                \"default\": \"index.html\",\n                                                \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                                \"example\": \"main.html\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"output_dir\": {\n                                                \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                                \"example\": \"dist/\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"routes\": {\n                                                \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"path\": {\n                                                      \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                                      \"example\": \"/api\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"preserve_path_prefix\": {\n                                                      \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                                      \"example\": true,\n                                                      \"type\": \"boolean\"\n                                                    }\n                                                  },\n                                                  \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          }\n                                        ],\n                                        \"required\": [\n                                          \"name\"\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"workers\": {\n                                      \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                                      \"items\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"build_command\": {\n                                                \"description\": \"An optional build command to run while building this component from source.\",\n                                                \"example\": \"npm run build\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"dockerfile_path\": {\n                                                \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                                \"example\": \"path/to/Dockerfile\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"environment_slug\": {\n                                                \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                                \"example\": \"node-js\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"envs\": {\n                                                \"description\": \"A list of environment variables made available to the component.\",\n                                                \"items\": {\n                                                  \"properties\": {\n                                                    \"key\": {\n                                                      \"description\": \"The variable name\",\n                                                      \"example\": \"BASE_URL\",\n                                                      \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"scope\": {\n                                                      \"default\": \"RUN_AND_BUILD_TIME\",\n                                                      \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                                      \"enum\": [\n                                                        \"UNSET\",\n                                                        \"RUN_TIME\",\n                                                        \"BUILD_TIME\",\n                                                        \"RUN_AND_BUILD_TIME\"\n                                                      ],\n                                                      \"example\": \"BUILD_TIME\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"type\": {\n                                                      \"default\": \"GENERAL\",\n                                                      \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                                      \"enum\": [\n                                                        \"GENERAL\",\n                                                        \"SECRET\"\n                                                      ],\n                                                      \"example\": \"GENERAL\",\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"value\": {\n                                                      \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                                      \"example\": \"http://example.com\",\n                                                      \"type\": \"string\"\n                                                    }\n                                                  },\n                                                  \"required\": [\n                                                    \"key\"\n                                                  ],\n                                                  \"type\": \"object\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"git\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repo_clone_url\": {\n                                                    \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                                    \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"github\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"gitlab\": {\n                                                \"properties\": {\n                                                  \"branch\": {\n                                                    \"description\": \"The name of the branch to use\",\n                                                    \"example\": \"main\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"deploy_on_push\": {\n                                                    \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                                    \"example\": true,\n                                                    \"type\": \"boolean\"\n                                                  },\n                                                  \"repo\": {\n                                                    \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                                    \"example\": \"digitalocean/sample-golang\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"image\": {\n                                                \"properties\": {\n                                                  \"registry\": {\n                                                    \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                                    \"example\": \"registry.hub.docker.com\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"registry_type\": {\n                                                    \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                                    \"enum\": [\n                                                      \"DOCKER_HUB\",\n                                                      \"DOCR\"\n                                                    ],\n                                                    \"example\": \"DOCR\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"repository\": {\n                                                    \"description\": \"The repository name.\",\n                                                    \"example\": \"origin/master\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"tag\": {\n                                                    \"default\": \"latest\",\n                                                    \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                                    \"example\": \"latest\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"log_destinations\": {\n                                                \"properties\": {\n                                                  \"datadog\": {\n                                                    \"description\": \"DataDog configuration.\",\n                                                    \"properties\": {\n                                                      \"api_key\": {\n                                                        \"description\": \"Datadog API key.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"endpoint\": {\n                                                        \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                        \"example\": \"https://mydatadogendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"api_key\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"logtail\": {\n                                                    \"description\": \"Logtail configuration.\",\n                                                    \"properties\": {\n                                                      \"token\": {\n                                                        \"description\": \"Logtail token.\",\n                                                        \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  },\n                                                  \"name\": {\n                                                    \"example\": \"my_log_destination\",\n                                                    \"maxLength\": 42,\n                                                    \"minLength\": 2,\n                                                    \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"papertrail\": {\n                                                    \"description\": \"Papertrail configuration.\",\n                                                    \"properties\": {\n                                                      \"endpoint\": {\n                                                        \"description\": \"Papertrail syslog endpoint.\",\n                                                        \"example\": \"https://mypapertrailendpoint.com\",\n                                                        \"type\": \"string\"\n                                                      }\n                                                    },\n                                                    \"required\": [\n                                                      \"endpoint\"\n                                                    ],\n                                                    \"type\": \"object\"\n                                                  }\n                                                },\n                                                \"required\": [\n                                                  \"name\"\n                                                ],\n                                                \"title\": \"Configurations for external logging.\",\n                                                \"type\": \"object\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"The name. Must be unique across all components within the same app.\",\n                                                \"example\": \"api\",\n                                                \"maxLength\": 32,\n                                                \"minLength\": 2,\n                                                \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"run_command\": {\n                                                \"description\": \"An optional run command to override the component's default.\",\n                                                \"example\": \"bin/api\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"source_dir\": {\n                                                \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                                \"example\": \"path/to/dir\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"properties\": {\n                                              \"instance_count\": {\n                                                \"default\": 1,\n                                                \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                                \"example\": 2,\n                                                \"format\": \"int64\",\n                                                \"minimum\": 1,\n                                                \"type\": \"integer\"\n                                              },\n                                              \"instance_size_slug\": {\n                                                \"default\": \"basic-xxs\",\n                                                \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                                \"enum\": [\n                                                  \"basic-xxs\",\n                                                  \"basic-xs\",\n                                                  \"basic-s\",\n                                                  \"basic-m\",\n                                                  \"professional-xs\",\n                                                  \"professional-s\",\n                                                  \"professional-m\",\n                                                  \"professional-1l\",\n                                                  \"professional-l\",\n                                                  \"professional-xl\"\n                                                ],\n                                                \"example\": \"basic-xxs\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          }\n                                        ],\n                                        \"required\": [\n                                          \"name\"\n                                        ]\n                                      },\n                                      \"type\": \"array\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"name\"\n                                  ],\n                                  \"title\": \"AppSpec\",\n                                  \"type\": \"object\"\n                                },\n                                \"static_sites\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"web\",\n                                        \"title\": \"The name of this static site\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this static site\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Static Site components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                },\n                                \"tier_slug\": {\n                                  \"example\": \"basic\",\n                                  \"readOnly\": true,\n                                  \"title\": \"The current pricing tier slug of the deployment\",\n                                  \"type\": \"string\"\n                                },\n                                \"updated_at\": {\n                                  \"example\": \"2020-07-28T18:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"title\": \"When the deployment was last updated\",\n                                  \"type\": \"string\"\n                                },\n                                \"workers\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"queue-runner\",\n                                        \"title\": \"The name of this worker\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_commit_hash\": {\n                                        \"example\": \"54d4a727f457231062439895000d45437c7bb405\",\n                                        \"title\": \"The commit hash of the repository that was used to build this worker\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"title\": \"Worker components that are part of this deployment\",\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"title\": \"An app deployment\",\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"project_id\": {\n                          \"example\": \"88b72d1a-b78a-4d9f-9090-b53c4399073f\",\n                          \"readOnly\": true,\n                          \"title\": \"The ID of the project the app is assigned to. This will be empty if there is a lookup failure.\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"properties\": {\n                            \"continent\": {\n                              \"example\": \"europe\",\n                              \"readOnly\": true,\n                              \"title\": \"The continent that this region is in\",\n                              \"type\": \"string\"\n                            },\n                            \"data_centers\": {\n                              \"example\": [\n                                \"ams\"\n                              ],\n                              \"items\": {\n                                \"example\": \"ams\",\n                                \"type\": \"string\"\n                              },\n                              \"readOnly\": true,\n                              \"title\": \"Data centers that are in this region\",\n                              \"type\": \"array\"\n                            },\n                            \"default\": {\n                              \"description\": \"Whether or not the region is presented as the default.\",\n                              \"example\": true,\n                              \"readOnly\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"disabled\": {\n                              \"example\": true,\n                              \"readOnly\": true,\n                              \"title\": \"Whether or not the region is open for new apps\",\n                              \"type\": \"boolean\"\n                            },\n                            \"flag\": {\n                              \"example\": \"ams\",\n                              \"readOnly\": true,\n                              \"title\": \"The flag of this region\",\n                              \"type\": \"string\"\n                            },\n                            \"label\": {\n                              \"example\": \"ams\",\n                              \"readOnly\": true,\n                              \"title\": \"A human-readable name of the region\",\n                              \"type\": \"string\"\n                            },\n                            \"reason\": {\n                              \"example\": \"to crowded\",\n                              \"readOnly\": true,\n                              \"title\": \"Reason that this region is not available\",\n                              \"type\": \"string\"\n                            },\n                            \"slug\": {\n                              \"example\": \"basic\",\n                              \"readOnly\": true,\n                              \"title\": \"The slug form of the region name\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"title\": \"Geographical information about an app origin\",\n                          \"type\": \"object\"\n                        },\n                        \"spec\": {\n                          \"description\": \"The desired configuration of an application.\",\n                          \"properties\": {\n                            \"databases\": {\n                              \"description\": \"Database instances which can provide persistence to workloads within the\\napplication.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"cluster_name\": {\n                                    \"description\": \"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.\",\n                                    \"example\": \"cluster_name\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_name\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL database to configure.\",\n                                    \"example\": \"my_db\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"db_user\": {\n                                    \"description\": \"The name of the MySQL or PostgreSQL user to configure.\",\n                                    \"example\": \"superuser\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"engine\": {\n                                    \"default\": \"UNSET\",\n                                    \"description\": \"- MYSQL: MySQL\\n- PG: PostgreSQL\\n- REDIS: Redis\",\n                                    \"enum\": [\n                                      \"UNSET\",\n                                      \"MYSQL\",\n                                      \"PG\",\n                                      \"REDIS\"\n                                    ],\n                                    \"example\": \"PG\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"prod-db\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"production\": {\n                                    \"description\": \"Whether this is a production or dev database.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"version\": {\n                                    \"description\": \"The version of the database engine\",\n                                    \"example\": \"12\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"domains\": {\n                              \"description\": \"A set of hostnames where the application will be available.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"domain\": {\n                                    \"description\": \"The hostname for the domain\",\n                                    \"example\": \"app.example.com\",\n                                    \"maxLength\": 253,\n                                    \"minLength\": 4,\n                                    \"pattern\": \"^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\\\.)+[a-zA-Z]{2,}\\\\.?$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"minimum_tls_version\": {\n                                    \"description\": \"The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\\\"1.2\\\"` or `\\\"1.3\\\"`.\",\n                                    \"enum\": [\n                                      \"1.2\",\n                                      \"1.3\"\n                                    ],\n                                    \"example\": \"1.3\",\n                                    \"maxLength\": 3,\n                                    \"minLength\": 3,\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"default\": \"UNSPECIFIED\",\n                                    \"description\": \"- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\\n- ALIAS: A non-primary domain\",\n                                    \"enum\": [\n                                      \"UNSPECIFIED\",\n                                      \"DEFAULT\",\n                                      \"PRIMARY\",\n                                      \"ALIAS\"\n                                    ],\n                                    \"example\": \"DEFAULT\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"wildcard\": {\n                                    \"description\": \"Indicates whether the domain includes all sub-domains, in addition to the given domain\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"zone\": {\n                                    \"description\": \"Optional. If the domain uses DigitalOcean DNS and you would like App\\nPlatform to automatically manage it for you, set this to the name of the\\ndomain on your account.\\n\\nFor example, If the domain you are adding is `app.domain.com`, the zone\\ncould be `domain.com`.\",\n                                    \"example\": \"example.com\",\n                                    \"format\": \"hostname\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"domain\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"functions\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services via Functions Components.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"alerts\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"disabled\": {\n                                          \"description\": \"Is the alert disabled?\",\n                                          \"example\": false,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"operator\": {\n                                          \"default\": \"UNSPECIFIED_OPERATOR\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_OPERATOR\",\n                                            \"GREATER_THAN\",\n                                            \"LESS_THAN\"\n                                          ],\n                                          \"example\": \"GREATER_THAN\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"rule\": {\n                                          \"default\": \"UNSPECIFIED_RULE\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_RULE\",\n                                            \"CPU_UTILIZATION\",\n                                            \"MEM_UTILIZATION\",\n                                            \"RESTART_COUNT\",\n                                            \"DEPLOYMENT_FAILED\",\n                                            \"DEPLOYMENT_LIVE\",\n                                            \"DOMAIN_FAILED\",\n                                            \"DOMAIN_LIVE\",\n                                            \"FUNCTIONS_ACTIVATION_COUNT\",\n                                            \"FUNCTIONS_AVERAGE_DURATION_MS\",\n                                            \"FUNCTIONS_ERROR_RATE_PER_MINUTE\",\n                                            \"FUNCTIONS_AVERAGE_WAIT_TIME_MS\",\n                                            \"FUNCTIONS_ERROR_COUNT\",\n                                            \"FUNCTIONS_GB_RATE_PER_SECOND\"\n                                          ],\n                                          \"example\": \"CPU_UTILIZATION\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"Threshold value for alert\",\n                                          \"example\": 2.32,\n                                          \"format\": \"float\",\n                                          \"type\": \"number\"\n                                        },\n                                        \"window\": {\n                                          \"default\": \"UNSPECIFIED_WINDOW\",\n                                          \"enum\": [\n                                            \"UNSPECIFIED_WINDOW\",\n                                            \"FIVE_MINUTES\",\n                                            \"TEN_MINUTES\",\n                                            \"THIRTY_MINUTES\",\n                                            \"ONE_HOUR\"\n                                          ],\n                                          \"example\": \"FIVE_MINUTES\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"cors\": {\n                                    \"properties\": {\n                                      \"allow_credentials\": {\n                                        \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                        \"example\": false,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"allow_headers\": {\n                                        \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Type\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_methods\": {\n                                        \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                        \"example\": [\n                                          \"GET\",\n                                          \"OPTIONS\",\n                                          \"POST\",\n                                          \"PUT\",\n                                          \"PATCH\",\n                                          \"DELETE\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"allow_origins\": {\n                                        \"description\": \"The set of allowed CORS origins.\",\n                                        \"example\": [\n                                          {\n                                            \"exact\": \"https://www.example.com\"\n                                          },\n                                          {\n                                            \"regex\": \"^.*example.com\"\n                                          }\n                                        ],\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"exact\": {\n                                              \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"prefix\": {\n                                              \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                              \"example\": \"https://www.example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            },\n                                            \"regex\": {\n                                              \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                              \"example\": \"^.*example.com\",\n                                              \"maxLength\": 256,\n                                              \"minLength\": 1,\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"expose_headers\": {\n                                        \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                        \"example\": [\n                                          \"Content-Encoding\",\n                                          \"X-Custom-Header\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"max_age\": {\n                                        \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                        \"example\": \"5h30m\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"envs\": {\n                                    \"description\": \"A list of environment variables made available to the component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"key\": {\n                                          \"description\": \"The variable name\",\n                                          \"example\": \"BASE_URL\",\n                                          \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"scope\": {\n                                          \"default\": \"RUN_AND_BUILD_TIME\",\n                                          \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                          \"enum\": [\n                                            \"UNSET\",\n                                            \"RUN_TIME\",\n                                            \"BUILD_TIME\",\n                                            \"RUN_AND_BUILD_TIME\"\n                                          ],\n                                          \"example\": \"BUILD_TIME\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"default\": \"GENERAL\",\n                                          \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                          \"enum\": [\n                                            \"GENERAL\",\n                                            \"SECRET\"\n                                          ],\n                                          \"example\": \"GENERAL\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                          \"example\": \"http://example.com\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"key\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"git\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"repo_clone_url\": {\n                                        \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                        \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"github\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"gitlab\": {\n                                    \"properties\": {\n                                      \"branch\": {\n                                        \"description\": \"The name of the branch to use\",\n                                        \"example\": \"main\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"deploy_on_push\": {\n                                        \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"repo\": {\n                                        \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                        \"example\": \"digitalocean/sample-golang\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"log_destinations\": {\n                                    \"properties\": {\n                                      \"datadog\": {\n                                        \"description\": \"DataDog configuration.\",\n                                        \"properties\": {\n                                          \"api_key\": {\n                                            \"description\": \"Datadog API key.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"endpoint\": {\n                                            \"description\": \"Datadog HTTP log intake endpoint.\",\n                                            \"example\": \"https://mydatadogendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"api_key\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"logtail\": {\n                                        \"description\": \"Logtail configuration.\",\n                                        \"properties\": {\n                                          \"token\": {\n                                            \"description\": \"Logtail token.\",\n                                            \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"example\": \"my_log_destination\",\n                                        \"maxLength\": 42,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"papertrail\": {\n                                        \"description\": \"Papertrail configuration.\",\n                                        \"properties\": {\n                                          \"endpoint\": {\n                                            \"description\": \"Papertrail syslog endpoint.\",\n                                            \"example\": \"https://mypapertrailendpoint.com\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"endpoint\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"title\": \"Configurations for external logging.\",\n                                    \"type\": \"object\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name. Must be unique across all components within the same app.\",\n                                    \"example\": \"api\",\n                                    \"maxLength\": 32,\n                                    \"minLength\": 2,\n                                    \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"routes\": {\n                                    \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"path\": {\n                                          \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                          \"example\": \"/api\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"preserve_path_prefix\": {\n                                          \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        }\n                                      },\n                                      \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"source_dir\": {\n                                    \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                    \"example\": \"path/to/dir\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"jobs\": {\n                              \"description\": \"Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"kind\": {\n                                        \"default\": \"UNSPECIFIED\",\n                                        \"description\": \"- UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.\\n- PRE_DEPLOY: Indicates a job that runs before an app deployment.\\n- POST_DEPLOY: Indicates a job that runs after an app deployment.\\n- FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.\",\n                                        \"enum\": [\n                                          \"UNSPECIFIED\",\n                                          \"PRE_DEPLOY\",\n                                          \"POST_DEPLOY\",\n                                          \"FAILED_DEPLOY\"\n                                        ],\n                                        \"example\": \"PRE_DEPLOY\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the app. Must be unique across all apps in the same account.\",\n                              \"example\": \"web-app-01\",\n                              \"maxLength\": 32,\n                              \"minLength\": 2,\n                              \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"The slug form of the geographical origin of the app. Default: `nearest available`\",\n                              \"enum\": [\n                                \"ams\",\n                                \"nyc\",\n                                \"fra\",\n                                \"sfo\",\n                                \"sgp\",\n                                \"blr\",\n                                \"tor\",\n                                \"lon\",\n                                \"syd\"\n                              ],\n                              \"example\": \"nyc\",\n                              \"type\": \"string\"\n                            },\n                            \"services\": {\n                              \"description\": \"Workloads which expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"health_check\": {\n                                        \"properties\": {\n                                          \"failure_threshold\": {\n                                            \"description\": \"The number of failed health checks before considered unhealthy.\",\n                                            \"example\": 2,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"http_path\": {\n                                            \"description\": \"The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.\",\n                                            \"example\": \"/health\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"initial_delay_seconds\": {\n                                            \"description\": \"The number of seconds to wait before beginning health checks.\",\n                                            \"example\": 30,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"period_seconds\": {\n                                            \"description\": \"The number of seconds to wait between health checks.\",\n                                            \"example\": 60,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"port\": {\n                                            \"description\": \"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.\",\n                                            \"example\": 80,\n                                            \"format\": \"int64\",\n                                            \"maximum\": 65535,\n                                            \"minimum\": 1,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"success_threshold\": {\n                                            \"description\": \"The number of successful health checks before considered healthy.\",\n                                            \"example\": 3,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          },\n                                          \"timeout_seconds\": {\n                                            \"description\": \"The number of seconds after which the check times out.\",\n                                            \"example\": 45,\n                                            \"format\": \"int32\",\n                                            \"type\": \"integer\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"http_port\": {\n                                        \"description\": \"The internal port on which this service's run command will listen. Default: 8080\\nIf there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.\",\n                                        \"example\": 3000,\n                                        \"format\": \"int64\",\n                                        \"maximum\": 65535,\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"internal_ports\": {\n                                        \"description\": \"The ports on which this service will listen for internal traffic.\",\n                                        \"example\": [\n                                          80,\n                                          443\n                                        ],\n                                        \"items\": {\n                                          \"format\": \"int64\",\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"name\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"static_sites\": {\n                              \"description\": \"Content which can be rendered to static web assets.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"catchall_document\": {\n                                        \"description\": \"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set.\",\n                                        \"example\": \"index.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"cors\": {\n                                        \"properties\": {\n                                          \"allow_credentials\": {\n                                            \"description\": \"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.\",\n                                            \"example\": false,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"allow_headers\": {\n                                            \"description\": \"The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Type\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_methods\": {\n                                            \"description\": \"The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.\",\n                                            \"example\": [\n                                              \"GET\",\n                                              \"OPTIONS\",\n                                              \"POST\",\n                                              \"PUT\",\n                                              \"PATCH\",\n                                              \"DELETE\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"allow_origins\": {\n                                            \"description\": \"The set of allowed CORS origins.\",\n                                            \"example\": [\n                                              {\n                                                \"exact\": \"https://www.example.com\"\n                                              },\n                                              {\n                                                \"regex\": \"^.*example.com\"\n                                              }\n                                            ],\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"exact\": {\n                                                  \"description\": \"Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"prefix\": {\n                                                  \"description\": \"Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.\",\n                                                  \"example\": \"https://www.example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                },\n                                                \"regex\": {\n                                                  \"description\": \"RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax\",\n                                                  \"example\": \"^.*example.com\",\n                                                  \"maxLength\": 256,\n                                                  \"minLength\": 1,\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"expose_headers\": {\n                                            \"description\": \"The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.\",\n                                            \"example\": [\n                                              \"Content-Encoding\",\n                                              \"X-Custom-Header\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"max_age\": {\n                                            \"description\": \"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.\",\n                                            \"example\": \"5h30m\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"error_document\": {\n                                        \"default\": \"404.html\",\n                                        \"description\": \"The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.\",\n                                        \"example\": \"error.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"index_document\": {\n                                        \"default\": \"index.html\",\n                                        \"description\": \"The name of the index document to use when serving this static site. Default: index.html\",\n                                        \"example\": \"main.html\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"output_dir\": {\n                                        \"description\": \"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.\",\n                                        \"example\": \"dist/\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"routes\": {\n                                        \"description\": \"A list of HTTP routes that should be routed to this component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"path\": {\n                                              \"description\": \"An HTTP path prefix. Paths must start with / and must be unique across all components within an app.\",\n                                              \"example\": \"/api\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"preserve_path_prefix\": {\n                                              \"description\": \"An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.\",\n                                              \"example\": true,\n                                              \"type\": \"boolean\"\n                                            }\n                                          },\n                                          \"title\": \"A criterion for routing HTTP traffic to a component.\",\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"workers\": {\n                              \"description\": \"Workloads which do not expose publicly-accessible HTTP services.\",\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"build_command\": {\n                                        \"description\": \"An optional build command to run while building this component from source.\",\n                                        \"example\": \"npm run build\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"dockerfile_path\": {\n                                        \"description\": \"The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.\",\n                                        \"example\": \"path/to/Dockerfile\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"environment_slug\": {\n                                        \"description\": \"An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).\",\n                                        \"example\": \"node-js\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"envs\": {\n                                        \"description\": \"A list of environment variables made available to the component.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"key\": {\n                                              \"description\": \"The variable name\",\n                                              \"example\": \"BASE_URL\",\n                                              \"pattern\": \"^[_A-Za-z][_A-Za-z0-9]*$\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"scope\": {\n                                              \"default\": \"RUN_AND_BUILD_TIME\",\n                                              \"description\": \"- RUN_TIME: Made available only at run-time\\n- BUILD_TIME: Made available only at build-time\\n- RUN_AND_BUILD_TIME: Made available at both build and run-time\",\n                                              \"enum\": [\n                                                \"UNSET\",\n                                                \"RUN_TIME\",\n                                                \"BUILD_TIME\",\n                                                \"RUN_AND_BUILD_TIME\"\n                                              ],\n                                              \"example\": \"BUILD_TIME\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": {\n                                              \"default\": \"GENERAL\",\n                                              \"description\": \"- GENERAL: A plain-text environment variable\\n- SECRET: A secret encrypted environment variable\",\n                                              \"enum\": [\n                                                \"GENERAL\",\n                                                \"SECRET\"\n                                              ],\n                                              \"example\": \"GENERAL\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"value\": {\n                                              \"description\": \"The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.\",\n                                              \"example\": \"http://example.com\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"key\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"git\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repo_clone_url\": {\n                                            \"description\": \"The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`\",\n                                            \"example\": \"https://github.com/digitalocean/sample-golang.git\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"github\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"gitlab\": {\n                                        \"properties\": {\n                                          \"branch\": {\n                                            \"description\": \"The name of the branch to use\",\n                                            \"example\": \"main\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"deploy_on_push\": {\n                                            \"description\": \"Whether to automatically deploy new commits made to the repo\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"repo\": {\n                                            \"description\": \"The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`\",\n                                            \"example\": \"digitalocean/sample-golang\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"registry\": {\n                                            \"description\": \"The registry name. Must be left empty for the `DOCR` registry type.\",\n                                            \"example\": \"registry.hub.docker.com\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"registry_type\": {\n                                            \"description\": \"- DOCKER_HUB: The DockerHub container registry type.\\n- DOCR: The DigitalOcean container registry type.\",\n                                            \"enum\": [\n                                              \"DOCKER_HUB\",\n                                              \"DOCR\"\n                                            ],\n                                            \"example\": \"DOCR\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"repository\": {\n                                            \"description\": \"The repository name.\",\n                                            \"example\": \"origin/master\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tag\": {\n                                            \"default\": \"latest\",\n                                            \"description\": \"The repository tag. Defaults to `latest` if not provided.\",\n                                            \"example\": \"latest\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"log_destinations\": {\n                                        \"properties\": {\n                                          \"datadog\": {\n                                            \"description\": \"DataDog configuration.\",\n                                            \"properties\": {\n                                              \"api_key\": {\n                                                \"description\": \"Datadog API key.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"endpoint\": {\n                                                \"description\": \"Datadog HTTP log intake endpoint.\",\n                                                \"example\": \"https://mydatadogendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"api_key\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"logtail\": {\n                                            \"description\": \"Logtail configuration.\",\n                                            \"properties\": {\n                                              \"token\": {\n                                                \"description\": \"Logtail token.\",\n                                                \"example\": \"abcdefghijklmnopqrstuvwxyz0123456789\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          },\n                                          \"name\": {\n                                            \"example\": \"my_log_destination\",\n                                            \"maxLength\": 42,\n                                            \"minLength\": 2,\n                                            \"pattern\": \"^[A-Za-z0-9()\\\\[\\\\]'\\\"][-A-Za-z0-9_. \\\\/()\\\\[\\\\]]{0,40}[A-Za-z0-9()\\\\[\\\\]'\\\"]$\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"papertrail\": {\n                                            \"description\": \"Papertrail configuration.\",\n                                            \"properties\": {\n                                              \"endpoint\": {\n                                                \"description\": \"Papertrail syslog endpoint.\",\n                                                \"example\": \"https://mypapertrailendpoint.com\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"required\": [\n                                              \"endpoint\"\n                                            ],\n                                            \"type\": \"object\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"name\"\n                                        ],\n                                        \"title\": \"Configurations for external logging.\",\n                                        \"type\": \"object\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The name. Must be unique across all components within the same app.\",\n                                        \"example\": \"api\",\n                                        \"maxLength\": 32,\n                                        \"minLength\": 2,\n                                        \"pattern\": \"^[a-z][a-z0-9-]{0,30}[a-z0-9]$\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"run_command\": {\n                                        \"description\": \"An optional run command to override the component's default.\",\n                                        \"example\": \"bin/api\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"source_dir\": {\n                                        \"description\": \"An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.\",\n                                        \"example\": \"path/to/dir\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"instance_count\": {\n                                        \"default\": 1,\n                                        \"description\": \"The amount of instances that this component should be scaled to. Default: 1\",\n                                        \"example\": 2,\n                                        \"format\": \"int64\",\n                                        \"minimum\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"instance_size_slug\": {\n                                        \"default\": \"basic-xxs\",\n                                        \"description\": \"The instance size to use for this component. Default: `basic-xxs`\",\n                                        \"enum\": [\n                                          \"basic-xxs\",\n                                          \"basic-xs\",\n                                          \"basic-s\",\n                                          \"basic-m\",\n                                          \"professional-xs\",\n                                          \"professional-s\",\n                                          \"professional-m\",\n                                          \"professional-1l\",\n                                          \"professional-l\",\n                                          \"professional-xl\"\n                                        ],\n                                        \"example\": \"basic-xxs\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"required\": [\n                                  \"name\"\n                                ]\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"title\": \"AppSpec\",\n                          \"type\": \"object\"\n                        },\n                        \"tier_slug\": {\n                          \"example\": \"basic\",\n                          \"readOnly\": true,\n                          \"title\": \"The current pricing tier slug of the app\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"example\": \"2020-12-01T00:42:16Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"title\": \"Time of the app's last configuration update\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"spec\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object of the updated `app`\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update an App\",\n        \"tags\": [\n          \"Apps\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/apps/{id}\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/cdn/endpoints\": {\n      \"get\": {\n        \"description\": \"To list all of the CDN endpoints available on your account, send a GET request to `/v2/cdn/endpoints`.\",\n        \"operationId\": \"cdn_list_endpoints\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"endpoints\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"certificate_id\": {\n                                \"description\": \"The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.\",\n                                \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                                \"format\": \"uuid\",\n                                \"type\": \"string\"\n                              },\n                              \"created_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created.\",\n                                \"example\": \"2018-03-21T16:02:37Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"custom_domain\": {\n                                \"description\": \"The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint.\",\n                                \"example\": \"static.example.com\",\n                                \"format\": \"hostname\",\n                                \"type\": \"string\"\n                              },\n                              \"endpoint\": {\n                                \"description\": \"The fully qualified domain name (FQDN) from which the CDN-backed content is served.\",\n                                \"example\": \"static-images.nyc3.cdn.digitaloceanspaces.com\",\n                                \"format\": \"hostname\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique ID that can be used to identify and reference a CDN endpoint.\",\n                                \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                                \"format\": \"uuid\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"origin\": {\n                                \"description\": \"The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space.\",\n                                \"example\": \"static-images.nyc3.digitaloceanspaces.com\",\n                                \"format\": \"hostname\",\n                                \"type\": \"string\"\n                              },\n                              \"ttl\": {\n                                \"default\": 3600,\n                                \"description\": \"The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded.\",\n                                \"enum\": [\n                                  60,\n                                  600,\n                                  3600,\n                                  86400,\n                                  604800\n                                ],\n                                \"example\": 3600,\n                                \"type\": \"integer\"\n                              }\n                            },\n                            \"required\": [\n                              \"origin\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"endpoints\": [\n                      {\n                        \"certificate_id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                        \"created_at\": \"2018-07-19T15:04:16Z\",\n                        \"custom_domain\": \"static.example.com\",\n                        \"endpoint\": \"static-images.nyc3.cdn.digitaloceanspaces.com\",\n                        \"id\": \"19f06b6a-3ace-4315-b086-499a0e521b76\",\n                        \"origin\": \"static-images.nyc3.digitaloceanspaces.com\",\n                        \"ttl\": 3600\n                      }\n                    ],\n                    \"links\": {},\n                    \"meta\": {\n                      \"total\": 1\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The result will be a JSON object with an `endpoints` key. This will be set to an array of endpoint objects, each of which will contain the standard CDN endpoint attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All CDN Endpoints\",\n        \"tags\": [\n          \"CDN Endpoints\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/cdn/endpoints\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    cdns, _, err := client.CDNs.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ncdns = client.cdns.all\\ncdns.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a new CDN endpoint, send a POST request to `/v2/cdn/endpoints`. The\\norigin attribute must be set to the fully qualified domain name (FQDN) of a\\nDigitalOcean Space. Optionally, the TTL may be configured by setting the `ttl`\\nattribute.\\n\\nA custom subdomain may be configured by specifying the `custom_domain` and\\n`certificate_id` attributes.\\n\",\n        \"operationId\": \"cdn_create_endpoint\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"examples\": {\n                \"CDN Endpoint\": {\n                  \"value\": {\n                    \"origin\": \"static-images.nyc3.digitaloceanspaces.com\",\n                    \"ttl\": 3600\n                  }\n                },\n                \"CDN Endpoint With Custom Domain\": {\n                  \"value\": {\n                    \"certificate_id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                    \"custom_domain\": \"static.example.com\",\n                    \"origin\": \"static-images.nyc3.digitaloceanspaces.com\",\n                    \"ttl\": 3600\n                  }\n                }\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"certificate_id\": {\n                    \"description\": \"The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.\",\n                    \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                    \"format\": \"uuid\",\n                    \"type\": \"string\"\n                  },\n                  \"created_at\": {\n                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created.\",\n                    \"example\": \"2018-03-21T16:02:37Z\",\n                    \"format\": \"date-time\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  },\n                  \"custom_domain\": {\n                    \"description\": \"The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint.\",\n                    \"example\": \"static.example.com\",\n                    \"format\": \"hostname\",\n                    \"type\": \"string\"\n                  },\n                  \"endpoint\": {\n                    \"description\": \"The fully qualified domain name (FQDN) from which the CDN-backed content is served.\",\n                    \"example\": \"static-images.nyc3.cdn.digitaloceanspaces.com\",\n                    \"format\": \"hostname\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  },\n                  \"id\": {\n                    \"description\": \"A unique ID that can be used to identify and reference a CDN endpoint.\",\n                    \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                    \"format\": \"uuid\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  },\n                  \"origin\": {\n                    \"description\": \"The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space.\",\n                    \"example\": \"static-images.nyc3.digitaloceanspaces.com\",\n                    \"format\": \"hostname\",\n                    \"type\": \"string\"\n                  },\n                  \"ttl\": {\n                    \"default\": 3600,\n                    \"description\": \"The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded.\",\n                    \"enum\": [\n                      60,\n                      600,\n                      3600,\n                      86400,\n                      604800\n                    ],\n                    \"example\": 3600,\n                    \"type\": \"integer\"\n                  }\n                },\n                \"required\": [\n                  \"origin\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"CDN Endpoint\": {\n                    \"value\": {\n                      \"endpoint\": {\n                        \"created_at\": \"2018-07-19T15:04:16Z\",\n                        \"endpoint\": \"static-images.nyc3.cdn.digitaloceanspaces.com\",\n                        \"id\": \"19f06b6a-3ace-4315-b086-499a0e521b76\",\n                        \"origin\": \"static-images.nyc3.digitaloceanspaces.com\",\n                        \"ttl\": 3600\n                      }\n                    }\n                  },\n                  \"CDN Endpoint With Custom Domain\": {\n                    \"value\": {\n                      \"endpoint\": {\n                        \"certificate_id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                        \"created_at\": \"2018-07-19T15:04:16Z\",\n                        \"custom_domain\": \"static.example.com\",\n                        \"endpoint\": \"static-images.nyc3.cdn.digitaloceanspaces.com\",\n                        \"id\": \"19f06b6a-3ace-4315-b086-499a0e521b76\",\n                        \"origin\": \"static-images.nyc3.digitaloceanspaces.com\",\n                        \"ttl\": 3600\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"endpoint\": {\n                      \"properties\": {\n                        \"certificate_id\": {\n                          \"description\": \"The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.\",\n                          \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                          \"format\": \"uuid\",\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created.\",\n                          \"example\": \"2018-03-21T16:02:37Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"custom_domain\": {\n                          \"description\": \"The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint.\",\n                          \"example\": \"static.example.com\",\n                          \"format\": \"hostname\",\n                          \"type\": \"string\"\n                        },\n                        \"endpoint\": {\n                          \"description\": \"The fully qualified domain name (FQDN) from which the CDN-backed content is served.\",\n                          \"example\": \"static-images.nyc3.cdn.digitaloceanspaces.com\",\n                          \"format\": \"hostname\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique ID that can be used to identify and reference a CDN endpoint.\",\n                          \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                          \"format\": \"uuid\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"origin\": {\n                          \"description\": \"The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space.\",\n                          \"example\": \"static-images.nyc3.digitaloceanspaces.com\",\n                          \"format\": \"hostname\",\n                          \"type\": \"string\"\n                        },\n                        \"ttl\": {\n                          \"default\": 3600,\n                          \"description\": \"The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded.\",\n                          \"enum\": [\n                            60,\n                            600,\n                            3600,\n                            86400,\n                            604800\n                          ],\n                          \"example\": 3600,\n                          \"type\": \"integer\"\n                        }\n                      },\n                      \"required\": [\n                        \"origin\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with an `endpoint` key. This will be set to an object containing the standard CDN endpoint attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New CDN Endpoint\",\n        \"tags\": [\n          \"CDN Endpoints\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"origin\\\": \\\"static-images.nyc3.digitaloceanspaces.com\\\",\\\"certificate_id\\\": \\\"892071a0-bb95-49bc-8021-3afd67a210bf\\\",\\\"custom_domain\\\": \\\"static.example.com\\\",\\\"ttl\\\": 3600}' \\\\\\n  \\\"https://api.digitalocean.com/v2/cdn/endpoints\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &godo.CDNCreateRequest{\\n        Origin:        \\\"static-images.nyc3.digitaloceanspaces.com\\\",\\n        TTL:           3600,\\n        CustomDomain:  \\\"static.example.com\\\",\\n        CertificateID: \\\"892071a0-bb95-49bc-8021-3afd67a210b\\\",\\n    }\\n\\n    cdn, _, err := client.CDNs.Create(ctx, createRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ncdn = DropletKit::CDN.new(\\n  origin: 'static-images.nyc3.digitaloceanspaces.com',\\n  custom_domain: 'static.example.com',\\n  certificate_id: '892071a0-bb95-49bc-8021-3afd67a210bf',\\n  ttl: 3600\\n)\\n\\nclient.cdns.create(cdn)\"\n          }\n        ]\n      }\n    },\n    \"/v2/cdn/endpoints/{cdn_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a specific CDN endpoint, send a DELETE request to\\n`/v2/cdn/endpoints/$ENDPOINT_ID`.\\n\\nA status of 204 will be given. This indicates that the request was processed\\nsuccessfully, but that no response body is needed.\\n\",\n        \"operationId\": \"cdn_delete_endpoint\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a CDN endpoint.\",\n            \"example\": \"19f06b6a-3ace-4315-b086-499a0e521b76\",\n            \"in\": \"path\",\n            \"name\": \"cdn_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a CDN Endpoint\",\n        \"tags\": [\n          \"CDN Endpoints\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/cdn/endpoints/19f06b6a-3ace-4315-b086-499a0e521b76\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.CDNs.Delete(ctx, \\\"19f06b6a-3ace-4315-b086-499a0e521b76\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.cdns.delete(id: '19f06b6a-3ace-4315-b086-499a0e521b76')\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an existing CDN endpoint, send a GET request to `/v2/cdn/endpoints/$ENDPOINT_ID`.\",\n        \"operationId\": \"cdn_get_endpoint\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a CDN endpoint.\",\n            \"example\": \"19f06b6a-3ace-4315-b086-499a0e521b76\",\n            \"in\": \"path\",\n            \"name\": \"cdn_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"CDN Endpoint\": {\n                    \"value\": {\n                      \"endpoint\": {\n                        \"created_at\": \"2018-07-19T15:04:16Z\",\n                        \"endpoint\": \"static-images.nyc3.cdn.digitaloceanspaces.com\",\n                        \"id\": \"19f06b6a-3ace-4315-b086-499a0e521b76\",\n                        \"origin\": \"static-images.nyc3.digitaloceanspaces.com\",\n                        \"ttl\": 3600\n                      }\n                    }\n                  },\n                  \"CDN Endpoint With Custom Domain\": {\n                    \"value\": {\n                      \"endpoint\": {\n                        \"certificate_id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                        \"created_at\": \"2018-07-19T15:04:16Z\",\n                        \"custom_domain\": \"static.example.com\",\n                        \"endpoint\": \"static-images.nyc3.cdn.digitaloceanspaces.com\",\n                        \"id\": \"19f06b6a-3ace-4315-b086-499a0e521b76\",\n                        \"origin\": \"static-images.nyc3.digitaloceanspaces.com\",\n                        \"ttl\": 3600\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"endpoint\": {\n                      \"properties\": {\n                        \"certificate_id\": {\n                          \"description\": \"The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.\",\n                          \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                          \"format\": \"uuid\",\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created.\",\n                          \"example\": \"2018-03-21T16:02:37Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"custom_domain\": {\n                          \"description\": \"The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint.\",\n                          \"example\": \"static.example.com\",\n                          \"format\": \"hostname\",\n                          \"type\": \"string\"\n                        },\n                        \"endpoint\": {\n                          \"description\": \"The fully qualified domain name (FQDN) from which the CDN-backed content is served.\",\n                          \"example\": \"static-images.nyc3.cdn.digitaloceanspaces.com\",\n                          \"format\": \"hostname\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique ID that can be used to identify and reference a CDN endpoint.\",\n                          \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                          \"format\": \"uuid\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"origin\": {\n                          \"description\": \"The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space.\",\n                          \"example\": \"static-images.nyc3.digitaloceanspaces.com\",\n                          \"format\": \"hostname\",\n                          \"type\": \"string\"\n                        },\n                        \"ttl\": {\n                          \"default\": 3600,\n                          \"description\": \"The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded.\",\n                          \"enum\": [\n                            60,\n                            600,\n                            3600,\n                            86400,\n                            604800\n                          ],\n                          \"example\": 3600,\n                          \"type\": \"integer\"\n                        }\n                      },\n                      \"required\": [\n                        \"origin\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with an `endpoint` key. This will be set to an object containing the standard CDN endpoint attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing CDN Endpoint\",\n        \"tags\": [\n          \"CDN Endpoints\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/cdn/endpoints/19f06b6a-3ace-4315-b086-499a0e521b76\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    cdn, _, err := client.CDNs.Get(ctx, \\\"19f06b6a-3ace-4315-b086-499a0e521b76\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.cdns.find(id: '19f06b6a-3ace-4315-b086-499a0e521b76')\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update the TTL, certificate ID, or the FQDN of the custom subdomain for\\nan existing CDN endpoint, send a PUT request to\\n`/v2/cdn/endpoints/$ENDPOINT_ID`.\\n\",\n        \"operationId\": \"cdn_update_endpoints\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a CDN endpoint.\",\n            \"example\": \"19f06b6a-3ace-4315-b086-499a0e521b76\",\n            \"in\": \"path\",\n            \"name\": \"cdn_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"certificate_id\": {\n                    \"description\": \"The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.\",\n                    \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                    \"format\": \"uuid\",\n                    \"type\": \"string\"\n                  },\n                  \"custom_domain\": {\n                    \"description\": \"The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint.\",\n                    \"example\": \"static.example.com\",\n                    \"format\": \"hostname\",\n                    \"type\": \"string\"\n                  },\n                  \"ttl\": {\n                    \"default\": 3600,\n                    \"description\": \"The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded.\",\n                    \"enum\": [\n                      60,\n                      600,\n                      3600,\n                      86400,\n                      604800\n                    ],\n                    \"example\": 3600,\n                    \"type\": \"integer\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"CDN Endpoint\": {\n                    \"value\": {\n                      \"endpoint\": {\n                        \"created_at\": \"2018-07-19T15:04:16Z\",\n                        \"endpoint\": \"static-images.nyc3.cdn.digitaloceanspaces.com\",\n                        \"id\": \"19f06b6a-3ace-4315-b086-499a0e521b76\",\n                        \"origin\": \"static-images.nyc3.digitaloceanspaces.com\",\n                        \"ttl\": 3600\n                      }\n                    }\n                  },\n                  \"CDN Endpoint With Custom Domain\": {\n                    \"value\": {\n                      \"endpoint\": {\n                        \"certificate_id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                        \"created_at\": \"2018-07-19T15:04:16Z\",\n                        \"custom_domain\": \"static.example.com\",\n                        \"endpoint\": \"static-images.nyc3.cdn.digitaloceanspaces.com\",\n                        \"id\": \"19f06b6a-3ace-4315-b086-499a0e521b76\",\n                        \"origin\": \"static-images.nyc3.digitaloceanspaces.com\",\n                        \"ttl\": 3600\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"endpoint\": {\n                      \"properties\": {\n                        \"certificate_id\": {\n                          \"description\": \"The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.\",\n                          \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                          \"format\": \"uuid\",\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created.\",\n                          \"example\": \"2018-03-21T16:02:37Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"custom_domain\": {\n                          \"description\": \"The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint.\",\n                          \"example\": \"static.example.com\",\n                          \"format\": \"hostname\",\n                          \"type\": \"string\"\n                        },\n                        \"endpoint\": {\n                          \"description\": \"The fully qualified domain name (FQDN) from which the CDN-backed content is served.\",\n                          \"example\": \"static-images.nyc3.cdn.digitaloceanspaces.com\",\n                          \"format\": \"hostname\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique ID that can be used to identify and reference a CDN endpoint.\",\n                          \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                          \"format\": \"uuid\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"origin\": {\n                          \"description\": \"The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space.\",\n                          \"example\": \"static-images.nyc3.digitaloceanspaces.com\",\n                          \"format\": \"hostname\",\n                          \"type\": \"string\"\n                        },\n                        \"ttl\": {\n                          \"default\": 3600,\n                          \"description\": \"The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded.\",\n                          \"enum\": [\n                            60,\n                            600,\n                            3600,\n                            86400,\n                            604800\n                          ],\n                          \"example\": 3600,\n                          \"type\": \"integer\"\n                        }\n                      },\n                      \"required\": [\n                        \"origin\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with an `endpoint` key. This will be set to an object containing the standard CDN endpoint attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update a CDN Endpoint\",\n        \"tags\": [\n          \"CDN Endpoints\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n-H \\\"Content-Type: application/json\\\" \\\\\\n-H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n-d '{\\\"ttl\\\": 1800}' \\\\\\n\\\"https://api.digitalocean.com/v2/cdn/endpoints/19f06b6a-3ace-4315-b086-499a0e521b76\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    pat := \\\"mytoken\\\"\\n\\n    client := godo.NewFromToken(pat)\\n    ctx := context.TODO()\\n\\n    updateRequest := &godo.CDNUpdateTTLRequest{TTL: 1800}\\n    cdn, _, err := client.CDNs.UpdateTTL(ctx, \\\"19f06b6a-3ace-4315-b086-499a0e521b76\\\", updateRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = '16f79fc8cd5adcfe528a0994311fa63cc877737b385b6ff7d12ed6684ba4fef5'\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.cdns.update_ttl(id: '19f06b6a-3ace-4315-b086-499a0e521b76', ttl: 1800)\"\n          }\n        ]\n      }\n    },\n    \"/v2/cdn/endpoints/{cdn_id}/cache\": {\n      \"delete\": {\n        \"description\": \"To purge cached content from a CDN endpoint, send a DELETE request to\\n`/v2/cdn/endpoints/$ENDPOINT_ID/cache`. The body of the request should include\\na `files` attribute containing a list of cached file paths to be purged. A\\npath may be for a single file or may contain a wildcard (`*`) to recursively\\npurge all files under a directory. When only a wildcard is provided, all\\ncached files will be purged. There is a rate limit of 50 files per 20 seconds \\nthat can be purged.\\n\",\n        \"operationId\": \"cdn_purge_cache\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a CDN endpoint.\",\n            \"example\": \"19f06b6a-3ace-4315-b086-499a0e521b76\",\n            \"in\": \"path\",\n            \"name\": \"cdn_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"files\": {\n                    \"description\": \"An array of strings containing the path to the content to be purged from the CDN cache.\",\n                    \"example\": [\n                      \"path/to/image.png\",\n                      \"path/to/css/*\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"required\": [\n                  \"files\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Purge the Cache for an Existing CDN Endpoint\",\n        \"tags\": [\n          \"CDN Endpoints\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"files\\\": [\\\"assets/img/hero.png\\\",\\\"assets/css/*\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/cdn/endpoints/19f06b6a-3ace-4315-b086-499a0e521b76/cache\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    flushRequest := &godo.CDNFlushCacheRequest{\\n        Files: []string{\\\"assets/img/hero.png\\\",\\\"assets/css/*\\\"},\\n    }\\n\\n    _, err := client.CDNs.FlushCache(ctx, \\\"19f06b6a-3ace-4315-b086-499a0e521b76\\\", flushRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.cdns.flush_cache(\\n  id: '19f06b6a-3ace-4315-b086-499a0e521b76',\\n  files: ['assets/img/hero.png','assets/css/*']\\n)\"\n          }\n        ]\n      }\n    },\n    \"/v2/certificates\": {\n      \"get\": {\n        \"description\": \"To list all of the certificates available on your account, send a GET request to `/v2/certificates`.\",\n        \"operationId\": \"certificates_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"AllCertificates\": {\n                    \"value\": {\n                      \"certificates\": [\n                        {\n                          \"created_at\": \"2017-02-08T16:02:37Z\",\n                          \"dns_names\": [\n                            \"\"\n                          ],\n                          \"id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                          \"name\": \"web-cert-01\",\n                          \"not_after\": \"2017-02-22T00:23:00Z\",\n                          \"sha1_fingerprint\": \"dfcc9f57d86bf58e321c2c6c31c7a971be244ac7\",\n                          \"state\": \"verified\",\n                          \"type\": \"custom\"\n                        },\n                        {\n                          \"created_at\": \"2018-03-09T18:44:11Z\",\n                          \"dns_names\": [\n                            \"www.example.com\",\n                            \"example.com\"\n                          ],\n                          \"id\": \"ba9b9c18-6c59-46c2-99df-70da170a42ba\",\n                          \"name\": \"web-cert-02\",\n                          \"not_after\": \"2018-06-07T17:44:12Z\",\n                          \"sha1_fingerprint\": \"479c82b5c63cb6d3e6fac4624d58a33b267e166c\",\n                          \"state\": \"verified\",\n                          \"type\": \"lets_encrypt\"\n                        }\n                      ],\n                      \"links\": {},\n                      \"meta\": {\n                        \"total\": 2\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"certificates\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"created_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the certificate was created.\",\n                                \"example\": \"2017-02-08T16:02:37Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"dns_names\": {\n                                \"description\": \"An array of fully qualified domain names (FQDNs) for which the certificate was issued.\",\n                                \"example\": [\n                                  \"www.example.com\",\n                                  \"example.com\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique ID that can be used to identify and reference a certificate.\",\n                                \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                                \"format\": \"uuid\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"A unique human-readable name referring to a certificate.\",\n                                \"example\": \"web-cert-01\",\n                                \"type\": \"string\"\n                              },\n                              \"not_after\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents the certificate's expiration date.\",\n                                \"example\": \"2017-02-22T00:23:00Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"sha1_fingerprint\": {\n                                \"description\": \"A unique identifier generated from the SHA-1 fingerprint of the certificate.\",\n                                \"example\": \"dfcc9f57d86bf58e321c2c6c31c7a971be244ac7\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"state\": {\n                                \"description\": \"A string representing the current state of the certificate. It may be `pending`, `verified`, or `error`.\",\n                                \"enum\": [\n                                  \"pending\",\n                                  \"verified\",\n                                  \"error\"\n                                ],\n                                \"example\": \"verified\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"type\": {\n                                \"description\": \"A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt.\",\n                                \"enum\": [\n                                  \"custom\",\n                                  \"lets_encrypt\"\n                                ],\n                                \"example\": \"lets_encrypt\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"The result will be a JSON object with a `certificates` key. This will be set to an array of certificate objects, each of which will contain the standard certificate attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Certificates\",\n        \"tags\": [\n          \"Certificates\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/certificates\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    certs, _, err := client.Certificates.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ncertificates = client.certificates.all\\ncertificates.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To upload new SSL certificate which you have previously generated, send a POST\\nrequest to `/v2/certificates`.\\n\\nWhen uploading a user-generated certificate, the `private_key`,\\n`leaf_certificate`, and optionally the `certificate_chain` attributes should\\nbe provided. The type must be set to `custom`.\\n\\nWhen using Let's Encrypt to create a certificate, the `dns_names` attribute\\nmust be provided, and the type must be set to `lets_encrypt`.\\n\",\n        \"operationId\": \"certificates_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"oneOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"name\": {\n                            \"description\": \"A unique human-readable name referring to a certificate.\",\n                            \"example\": \"web-cert-01\",\n                            \"type\": \"string\"\n                          },\n                          \"type\": {\n                            \"description\": \"A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt.\",\n                            \"enum\": [\n                              \"custom\",\n                              \"lets_encrypt\"\n                            ],\n                            \"example\": \"lets_encrypt\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"name\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"dns_names\": {\n                            \"description\": \"An array of fully qualified domain names (FQDNs) for which the certificate was issued. A certificate covering all subdomains can be issued using a wildcard (e.g. `*.example.com`).\",\n                            \"example\": [\n                              \"www.example.com\",\n                              \"example.com\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"required\": [\n                          \"dns_names\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ],\n                    \"title\": \"Let's Encrypt Certificate Request\"\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"name\": {\n                            \"description\": \"A unique human-readable name referring to a certificate.\",\n                            \"example\": \"web-cert-01\",\n                            \"type\": \"string\"\n                          },\n                          \"type\": {\n                            \"description\": \"A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt.\",\n                            \"enum\": [\n                              \"custom\",\n                              \"lets_encrypt\"\n                            ],\n                            \"example\": \"lets_encrypt\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"name\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"certificate_chain\": {\n                            \"description\": \"The full PEM-formatted trust chain between the certificate authority's certificate and your domain's SSL certificate.\",\n                            \"example\": \"-----BEGIN CERTIFICATE-----\\nMIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x\\nNzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j\\nb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz7tnK6V52SVf+\\nCYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb\\n8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4\\noFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz\\nZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna\\nk/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb\\nQwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB\\nBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1\\nMbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG\\nCCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl\\ndHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s\\nZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu\\nZy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgEwgeWECysGAQQBgt8TAQEBMIHW\\nMCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB\\nBQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1\\ncG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp\\ndGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBsdHRwczovL2xldHNl\\nbmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM\\nPKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e\\niXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD\\nD3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL3o+UIY39X0dV3WOboW2Re8nrkFXJ7\\nq9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/\\nWyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu\\nUlF1zblDmg2Iaw==\\n-----END CERTIFICATE-----\\n-----BEGIN CERTIFICATE-----\\nMIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/\\nMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT\\nDkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow\\nSjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT\\nGkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC\\nAQ8AMIIBCgKCAQEAnNMM8FrlLsd3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF\\nq6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8\\nSMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0\\nZ8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA\\na6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj\\n/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIPOIUo4IBfTCCAXkwEgYDVR0T\\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG\\nCCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv\\nbTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k\\nc3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw\\nVAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC\\nARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz\\nMDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu\\nY3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF\\nAAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo\\nuM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/\\nwApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu\\nX4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG\\nPfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6\\nKOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==\\n-----END CERTIFICATE-----\",\n                            \"type\": \"string\"\n                          },\n                          \"leaf_certificate\": {\n                            \"description\": \"The contents of a PEM-formatted public SSL certificate.\",\n                            \"example\": \"-----BEGIN CERTIFICATE-----\\nMIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x\\nNzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j\\nb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+\\nCYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb\\n8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4\\noFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz\\nZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna\\nk/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb\\nQwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB\\nBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1\\nMbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG\\nCCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl\\ndHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s\\nZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu\\nZy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW\\nMCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB\\nBQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1\\ncG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp\\ndGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl\\nbmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM\\nPKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e\\niXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD\\nD3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7\\nq9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/\\nWyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu\\nUlF1zblDmg2Iaw==\\n-----END CERTIFICATE-----\",\n                            \"type\": \"string\"\n                          },\n                          \"private_key\": {\n                            \"description\": \"The contents of a PEM-formatted private-key corresponding to the SSL certificate.\",\n                            \"example\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52\\nSVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1\\nDwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X\\nwrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w\\nZ2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F\\nZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX\\nfqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l\\n9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm\\ncVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt\\neRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF\\n0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x\\ngtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh\\nGGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+\\nP8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj\\nIntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49\\nW1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ\\n3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt\\nNfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx\\npxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG\\nRKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0\\no4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E\\nsAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW\\nJUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo\\nQbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/\\nAangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg\\neTuK2xNR0PIM8OI7pRpgyj1I\\n-----END PRIVATE KEY-----\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"private_key\",\n                          \"leaf_certificate\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ],\n                    \"title\": \"Custom Certificate Request\"\n                  }\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Custom Certificate\": {\n                    \"value\": {\n                      \"certificate\": {\n                        \"created_at\": \"2017-02-08T16:02:37Z\",\n                        \"dns_names\": [\n                          \"\"\n                        ],\n                        \"id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                        \"name\": \"web-cert-01\",\n                        \"not_after\": \"2017-02-22T00:23:00Z\",\n                        \"sha1_fingerprint\": \"dfcc9f57d86bf58e321c2c6c31c7a971be244ac7\",\n                        \"state\": \"verified\",\n                        \"type\": \"custom\"\n                      }\n                    }\n                  },\n                  \"Let's Encrypt Certificate\": {\n                    \"value\": {\n                      \"certificate\": {\n                        \"created_at\": \"2018-03-09T18:44:11Z\",\n                        \"dns_names\": [\n                          \"www.example.com\",\n                          \"example.com\"\n                        ],\n                        \"id\": \"ba9b9c18-6c59-46c2-99df-70da170a42ba\",\n                        \"name\": \"web-cert-02\",\n                        \"not_after\": \"2018-06-07T17:44:12Z\",\n                        \"sha1_fingerprint\": \"479c82b5c63cb6d3e6fac4624d58a33b267e166c\",\n                        \"state\": \"pending\",\n                        \"type\": \"lets_encrypt\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"certificate\": {\n                      \"properties\": {\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the certificate was created.\",\n                          \"example\": \"2017-02-08T16:02:37Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"dns_names\": {\n                          \"description\": \"An array of fully qualified domain names (FQDNs) for which the certificate was issued.\",\n                          \"example\": [\n                            \"www.example.com\",\n                            \"example.com\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique ID that can be used to identify and reference a certificate.\",\n                          \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                          \"format\": \"uuid\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"name\": {\n                          \"description\": \"A unique human-readable name referring to a certificate.\",\n                          \"example\": \"web-cert-01\",\n                          \"type\": \"string\"\n                        },\n                        \"not_after\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents the certificate's expiration date.\",\n                          \"example\": \"2017-02-22T00:23:00Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"sha1_fingerprint\": {\n                          \"description\": \"A unique identifier generated from the SHA-1 fingerprint of the certificate.\",\n                          \"example\": \"dfcc9f57d86bf58e321c2c6c31c7a971be244ac7\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"state\": {\n                          \"description\": \"A string representing the current state of the certificate. It may be `pending`, `verified`, or `error`.\",\n                          \"enum\": [\n                            \"pending\",\n                            \"verified\",\n                            \"error\"\n                          ],\n                          \"example\": \"verified\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"type\": {\n                          \"description\": \"A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt.\",\n                          \"enum\": [\n                            \"custom\",\n                            \"lets_encrypt\"\n                          ],\n                          \"example\": \"lets_encrypt\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `certificate`. The value of this will be an object that contains the standard attributes associated with a certificate.\\nWhen using Let's Encrypt, the initial value of the certificate's `state` attribute will be `pending`. When the certificate has been successfully issued by Let's Encrypt, this will transition to `verified` and be ready for use.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Certificate\",\n        \"tags\": [\n          \"Certificates\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"web-cert-01\\\", \\\"type\\\": \\\"custom\\\", \\\"private_key\\\": \\\"'\\\"$(</path/to/privkey1.pem)\\\"'\\\",\\\"leaf_certificate\\\": \\\"'\\\"$(</path/to/cert1.pem)\\\"'\\\",\\\"certificate_chain\\\": \\\"'\\\"$(</path/to/fullchain1.pem)\\\"'\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/certificates\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    key, err := ioutil.ReadFile(\\\"/path/to/privkey1.pem\\\")\\n    if err != nil {\\n        fmt.Print(err)\\n    }\\n\\n    cert, err := ioutil.ReadFile(\\\"/path/to/cert1.pem\\\")\\n    if err != nil {\\n        fmt.Print(err)\\n    }\\n\\n    chain, err := ioutil.ReadFile(\\\"/path/to/fullchain1.pem\\\")\\n    if err != nil {\\n        fmt.Print(err)\\n    }\\n\\n    createRequest := &godo.CertificateRequest{\\n        Name:             \\\"web-cert-01\\\",\\n        PrivateKey:       string(key),\\n        LeafCertificate:  string(cert),\\n        CertificateChain: string(chain),\\n        Type:             \\\"custom\\\",\\n    }\\n\\n    certObj, _, err := client.Certificates.Create(ctx, createRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nkey = File.open('/path/to/privkey1.pem', 'r'){ |file| file.read }\\ncert = File.open('/path/to/cert1.pem', 'r'){ |file| file.read }\\nchain = File.open('/path/to/fullchain1.pem', 'r'){ |file| file.read }\\n\\ncertificate = DropletKit::Certificate.new(\\n    name: 'web-cert-01',\\n    private_key: key,\\n    leaf_certificate: cert,\\n    certificate_chain: chain,\\n    type: 'custom'\\n)\\n\\nclient.certificates.create(certificate)\"\n          }\n        ]\n      }\n    },\n    \"/v2/certificates/{certificate_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a specific certificate, send a DELETE request to\\n`/v2/certificates/$CERTIFICATE_ID`.\\n\",\n        \"operationId\": \"certificates_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a certificate.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"certificate_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Certificate\",\n        \"tags\": [\n          \"Certificates\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/certificates/892071a0-bb95-49bc-8021-3afd67a210bf\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Certificates.Delete(ctx, \\\"892071a0-bb95-49bc-8021-3afd67a210bf\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.certificates.delete(id: '892071a0-bb95-49bc-8021-3afd67a210bf')\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an existing certificate, send a GET request to `/v2/certificates/$CERTIFICATE_ID`.\",\n        \"operationId\": \"certificates_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a certificate.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"certificate_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Custom Certificate\": {\n                    \"value\": {\n                      \"certificate\": {\n                        \"created_at\": \"2017-02-08T16:02:37Z\",\n                        \"dns_names\": [\n                          \"\"\n                        ],\n                        \"id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                        \"name\": \"web-cert-01\",\n                        \"not_after\": \"2017-02-22T00:23:00Z\",\n                        \"sha1_fingerprint\": \"dfcc9f57d86bf58e321c2c6c31c7a971be244ac7\",\n                        \"state\": \"verified\",\n                        \"type\": \"custom\"\n                      }\n                    }\n                  },\n                  \"Let's Encrypt Certificate\": {\n                    \"value\": {\n                      \"certificate\": {\n                        \"created_at\": \"2018-03-09T18:44:11Z\",\n                        \"dns_names\": [\n                          \"www.example.com\",\n                          \"example.com\"\n                        ],\n                        \"id\": \"ba9b9c18-6c59-46c2-99df-70da170a42ba\",\n                        \"name\": \"web-cert-02\",\n                        \"not_after\": \"2018-06-07T17:44:12Z\",\n                        \"sha1_fingerprint\": \"479c82b5c63cb6d3e6fac4624d58a33b267e166c\",\n                        \"state\": \"verified\",\n                        \"type\": \"lets_encrypt\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"certificate\": {\n                      \"properties\": {\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the certificate was created.\",\n                          \"example\": \"2017-02-08T16:02:37Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"dns_names\": {\n                          \"description\": \"An array of fully qualified domain names (FQDNs) for which the certificate was issued.\",\n                          \"example\": [\n                            \"www.example.com\",\n                            \"example.com\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique ID that can be used to identify and reference a certificate.\",\n                          \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                          \"format\": \"uuid\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"name\": {\n                          \"description\": \"A unique human-readable name referring to a certificate.\",\n                          \"example\": \"web-cert-01\",\n                          \"type\": \"string\"\n                        },\n                        \"not_after\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents the certificate's expiration date.\",\n                          \"example\": \"2017-02-22T00:23:00Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"sha1_fingerprint\": {\n                          \"description\": \"A unique identifier generated from the SHA-1 fingerprint of the certificate.\",\n                          \"example\": \"dfcc9f57d86bf58e321c2c6c31c7a971be244ac7\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"state\": {\n                          \"description\": \"A string representing the current state of the certificate. It may be `pending`, `verified`, or `error`.\",\n                          \"enum\": [\n                            \"pending\",\n                            \"verified\",\n                            \"error\"\n                          ],\n                          \"example\": \"verified\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"type\": {\n                          \"description\": \"A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt.\",\n                          \"enum\": [\n                            \"custom\",\n                            \"lets_encrypt\"\n                          ],\n                          \"example\": \"lets_encrypt\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a `certificate` key. This will be set to an object containing the standard certificate attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Certificate\",\n        \"tags\": [\n          \"Certificates\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/certificates/892071a0-bb95-49bc-8021-3afd67a210bf\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    cert, _, err := client.Certificates.Get(ctx, \\\"892071a0-bb95-49bc-8021-3afd67a210bf\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.certificates.find(id: '892071a0-bb95-49bc-8021-3afd67a210bf')\"\n          }\n        ]\n      }\n    },\n    \"/v2/customers/my/balance\": {\n      \"get\": {\n        \"description\": \"To retrieve the balances on a customer's account, send a GET request to `/v2/customers/my/balance`.\",\n        \"operationId\": \"balance_get\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"account_balance\": \"12.23\",\n                  \"generated_at\": \"2019-07-09T15:01:12Z\",\n                  \"month_to_date_balance\": \"23.44\",\n                  \"month_to_date_usage\": \"11.21\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"account_balance\": {\n                      \"description\": \"Current balance of the customer's most recent billing activity.  Does not reflect `month_to_date_usage`.\",\n                      \"example\": \"12.23\",\n                      \"type\": \"string\"\n                    },\n                    \"generated_at\": {\n                      \"description\": \"The time at which balances were most recently generated.\",\n                      \"example\": \"2019-07-09T15:01:12Z\",\n                      \"format\": \"date-time\",\n                      \"type\": \"string\"\n                    },\n                    \"month_to_date_balance\": {\n                      \"description\": \"Balance as of the `generated_at` time.  This value includes the `account_balance` and `month_to_date_usage`.\",\n                      \"example\": \"23.44\",\n                      \"type\": \"string\"\n                    },\n                    \"month_to_date_usage\": {\n                      \"description\": \"Amount used in the current billing period as of the `generated_at` time.\",\n                      \"example\": \"11.21\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object that contains the following attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Customer Balance\",\n        \"tags\": [\n          \"Billing\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/customers/my/balance\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/customers/my/billing_history\": {\n      \"get\": {\n        \"description\": \"To retrieve a list of all billing history entries, send a GET request to `/v2/customers/my/billing_history`.\",\n        \"operationId\": \"billingHistory_list\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"billing_history\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"amount\": {\n                                \"description\": \"Amount of the billing history entry.\",\n                                \"example\": \"12.34\",\n                                \"type\": \"string\"\n                              },\n                              \"date\": {\n                                \"description\": \"Time the billing history entry occurred.\",\n                                \"example\": \"2018-06-01T08:44:38Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"description\": {\n                                \"description\": \"Description of the billing history entry.\",\n                                \"example\": \"Invoice for May 2018\",\n                                \"type\": \"string\"\n                              },\n                              \"invoice_id\": {\n                                \"description\": \"ID of the invoice associated with the billing history entry, if  applicable.\",\n                                \"example\": \"123\",\n                                \"type\": \"string\"\n                              },\n                              \"invoice_uuid\": {\n                                \"description\": \"UUID of the invoice associated with the billing history entry, if  applicable.\",\n                                \"example\": \"example-uuid\",\n                                \"type\": \"string\"\n                              },\n                              \"type\": {\n                                \"description\": \"Type of billing history entry.\",\n                                \"enum\": [\n                                  \"ACHFailure\",\n                                  \"Adjustment\",\n                                  \"AttemptFailed\",\n                                  \"Chargeback\",\n                                  \"Credit\",\n                                  \"CreditExpiration\",\n                                  \"Invoice\",\n                                  \"Payment\",\n                                  \"Refund\",\n                                  \"Reversal\"\n                                ],\n                                \"example\": \"Invoice\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"description\": \"Information about the response itself.\",\n                          \"properties\": {\n                            \"total\": {\n                              \"description\": \"Number of objects returned by the request.\",\n                              \"example\": 1,\n                              \"type\": \"integer\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"billing_history\": [\n                      {\n                        \"amount\": \"12.34\",\n                        \"date\": \"2018-06-01T08:44:38Z\",\n                        \"description\": \"Invoice for May 2018\",\n                        \"invoice_id\": \"123\",\n                        \"invoice_uuid\": \"example-uuid\",\n                        \"type\": \"Invoice\"\n                      },\n                      {\n                        \"amount\": \"-12.34\",\n                        \"date\": \"2018-06-02T08:44:38Z\",\n                        \"description\": \"Payment (MC 2018)\",\n                        \"type\": \"Payment\"\n                      }\n                    ],\n                    \"links\": {\n                      \"pages\": {\n                        \"last\": \"https://api.digitalocean.com/v2/customers/my/billing_history?page=3&per_page=2\",\n                        \"next\": \"https://api.digitalocean.com/v2/customers/my/billing_history?page=2&per_page=2\"\n                      }\n                    },\n                    \"meta\": {\n                      \"total\": 5\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object that contains the following attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Billing History\",\n        \"tags\": [\n          \"Billing\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/customers/my/billing_history\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/customers/my/invoices\": {\n      \"get\": {\n        \"description\": \"To retrieve a list of all invoices, send a GET request to `/v2/customers/my/invoices`.\",\n        \"operationId\": \"invoices_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"invoice_preview\": {\n                          \"description\": \"The invoice preview.\",\n                          \"properties\": {\n                            \"amount\": {\n                              \"description\": \"Total amount of the invoice, in USD.  This will reflect month-to-date usage in the invoice preview.\",\n                              \"example\": \"23.45\",\n                              \"type\": \"string\"\n                            },\n                            \"invoice_period\": {\n                              \"description\": \"Billing period of usage for which the invoice is issued, in `YYYY-MM`  format.\",\n                              \"example\": \"2020-01\",\n                              \"type\": \"string\"\n                            },\n                            \"invoice_uuid\": {\n                              \"description\": \"The UUID of the invoice. The canonical reference for the invoice.\",\n                              \"example\": \"fdabb512-6faf-443c-ba2e-665452332a9e\",\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"description\": \"Time the invoice was last updated.  This is only included with the invoice preview.\",\n                              \"example\": \"2020-01-23T06:31:50Z\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"invoices\": {\n                          \"items\": {\n                            \"description\": \"The invoice preview.\",\n                            \"properties\": {\n                              \"amount\": {\n                                \"description\": \"Total amount of the invoice, in USD.  This will reflect month-to-date usage in the invoice preview.\",\n                                \"example\": \"23.45\",\n                                \"type\": \"string\"\n                              },\n                              \"invoice_period\": {\n                                \"description\": \"Billing period of usage for which the invoice is issued, in `YYYY-MM`  format.\",\n                                \"example\": \"2020-01\",\n                                \"type\": \"string\"\n                              },\n                              \"invoice_uuid\": {\n                                \"description\": \"The UUID of the invoice. The canonical reference for the invoice.\",\n                                \"example\": \"fdabb512-6faf-443c-ba2e-665452332a9e\",\n                                \"type\": \"string\"\n                              },\n                              \"updated_at\": {\n                                \"description\": \"Time the invoice was last updated.  This is only included with the invoice preview.\",\n                                \"example\": \"2020-01-23T06:31:50Z\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"invoice_preview\": {\n                      \"amount\": \"34.56\",\n                      \"invoice_period\": \"2020-02\",\n                      \"invoice_uuid\": \"1afe95e6-0958-4eb0-8d9a-9c5060d3ef03\",\n                      \"updated_at\": \"2020-02-23T06:31:50Z\"\n                    },\n                    \"invoices\": [\n                      {\n                        \"amount\": \"12.34\",\n                        \"invoice_period\": \"2019-12\",\n                        \"invoice_uuid\": \"22737513-0ea7-4206-8ceb-98a575af7681\"\n                      },\n                      {\n                        \"amount\": \"23.45\",\n                        \"invoice_period\": \"2019-11\",\n                        \"invoice_uuid\": \"fdabb512-6faf-443c-ba2e-665452332a9e\"\n                      }\n                    ],\n                    \"links\": {\n                      \"pages\": {\n                        \"last\": \"https://api.digitalocean.com/v2/customers/my/invoices?page=35&per_page=2\",\n                        \"next\": \"https://api.digitalocean.com/v2/customers/my/invoices?page=2&per_page=2\"\n                      }\n                    },\n                    \"meta\": {\n                      \"total\": 70\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object contains that contains a list of invoices under the `invoices` key, and the invoice preview under the `invoice_preview` key.\\nEach element contains the invoice summary attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Invoices\",\n        \"tags\": [\n          \"Billing\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/customers/my/invoices\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/customers/my/invoices/{invoice_uuid}\": {\n      \"get\": {\n        \"description\": \"To retrieve the invoice items for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID`.\",\n        \"operationId\": \"invoices_get_byUUID\",\n        \"parameters\": [\n          {\n            \"description\": \"UUID of the invoice\",\n            \"example\": \"22737513-0ea7-4206-8ceb-98a575af7681\",\n            \"in\": \"path\",\n            \"name\": \"invoice_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"invoice_items\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"amount\": {\n                                \"description\": \"Billed amount of this invoice item. Billed in USD.\",\n                                \"example\": \"12.34\",\n                                \"type\": \"string\"\n                              },\n                              \"description\": {\n                                \"description\": \"Description of the invoice item.\",\n                                \"example\": \"a56e086a317d8410c8b4cfd1f4dc9f82\",\n                                \"type\": \"string\"\n                              },\n                              \"duration\": {\n                                \"description\": \"Duration of time this invoice item was used and subsequently billed.\",\n                                \"example\": \"744\",\n                                \"type\": \"string\"\n                              },\n                              \"duration_unit\": {\n                                \"description\": \"Unit of time for duration.\",\n                                \"example\": \"Hours\",\n                                \"type\": \"string\"\n                              },\n                              \"end_time\": {\n                                \"description\": \"Time the invoice item stopped being billed for usage.\",\n                                \"example\": \"2020-02-01T00:00:00Z\",\n                                \"type\": \"string\"\n                              },\n                              \"group_description\": {\n                                \"description\": \"Description of the invoice item when it is a grouped set of usage, such  as DOKS or databases.\",\n                                \"example\": \"my-doks-cluster\",\n                                \"type\": \"string\"\n                              },\n                              \"product\": {\n                                \"description\": \"Name of the product being billed in the invoice item.\",\n                                \"example\": \"Kubernetes Clusters\",\n                                \"type\": \"string\"\n                              },\n                              \"project_name\": {\n                                \"description\": \"Name of the DigitalOcean Project this resource belongs to.\",\n                                \"example\": \"web\",\n                                \"type\": \"string\"\n                              },\n                              \"resource_id\": {\n                                \"description\": \"ID of the resource billing in the invoice item if available.\",\n                                \"example\": \"2353624\",\n                                \"type\": \"string\"\n                              },\n                              \"resource_uuid\": {\n                                \"description\": \"UUID of the resource billing in the invoice item if available.\",\n                                \"example\": \"711157cb-37c8-4817-b371-44fa3504a39c\",\n                                \"type\": \"string\"\n                              },\n                              \"start_time\": {\n                                \"description\": \"Time the invoice item began to be billed for usage.\",\n                                \"example\": \"2020-01-01T00:00:00Z\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"invoice_items\": [\n                      {\n                        \"amount\": \"12.34\",\n                        \"description\": \"a56e086a317d8410c8b4cfd1f4dc9f82\",\n                        \"duration\": \"744\",\n                        \"duration_unit\": \"Hours\",\n                        \"end_time\": \"2020-02-01T00:00:00Z\",\n                        \"group_description\": \"my-doks-cluster\",\n                        \"product\": \"Kubernetes Clusters\",\n                        \"resource_uuid\": \"711157cb-37c8-4817-b371-44fa3504a39c\",\n                        \"start_time\": \"2020-01-01T00:00:00Z\"\n                      },\n                      {\n                        \"amount\": \"34.45\",\n                        \"description\": \"Spaces ($5/mo 250GB storage & 1TB bandwidth)\",\n                        \"duration\": \"744\",\n                        \"duration_unit\": \"Hours\",\n                        \"end_time\": \"2020-02-01T00:00:00Z\",\n                        \"product\": \"Spaces Subscription\",\n                        \"start_time\": \"2020-01-01T00:00:00Z\"\n                      }\n                    ],\n                    \"links\": {\n                      \"pages\": {\n                        \"last\": \"https://api.digitalocean.com/v2/customers/my/invoices/22737513-0ea7-4206-8ceb-98a575af7681?page=3&per_page=2\",\n                        \"next\": \"https://api.digitalocean.com/v2/customers/my/invoices/22737513-0ea7-4206-8ceb-98a575af7681?page=2&per_page=2\"\n                      }\n                    },\n                    \"meta\": {\n                      \"total\": 6\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `invoice_items`. This will be set to an array of invoice item objects.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Invoice by UUID\",\n        \"tags\": [\n          \"Billing\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/customers/my/invoices/22737513-0ea7-4206-8ceb-98a575af7681\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/customers/my/invoices/{invoice_uuid}/csv\": {\n      \"get\": {\n        \"description\": \"To retrieve a CSV for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/csv`.\",\n        \"operationId\": \"invoices_get_csvByUUID\",\n        \"parameters\": [\n          {\n            \"description\": \"UUID of the invoice\",\n            \"example\": \"22737513-0ea7-4206-8ceb-98a575af7681\",\n            \"in\": \"path\",\n            \"name\": \"invoice_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"text/csv\": {\n                \"example\": \"product,group_description,description,hours,start,end,USD,project_name,category\\nFloating IPs,,Unused Floating IP - 1.1.1.1,100,2020-07-01 00:00:00 +0000,2020-07-22 18:14:39 +0000,$3.11,,iaas\\nTaxes,,STATE SALES TAX (6.25%),,2020-07-01 00:00:00 +0000,2020-07-31 23:59:59 +0000,$0.16,,iaas\\n\",\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              }\n            },\n            \"description\": \"The response will be a CSV file.\",\n            \"headers\": {\n              \"content-disposition\": {\n                \"description\": \"Indicates if the content is expected to be displayed *inline* in the  browser, that is, as a Web page or as part of a Web page, or as an  *attachment*, that is downloaded and saved locally.\",\n                \"example\": \"attachment; filename=\\\"DigitalOcean Invoice 2020 Jul (6173678-418071234).csv\\\"\",\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              },\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Invoice CSV by UUID\",\n        \"tags\": [\n          \"Billing\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: text/csv\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/customers/my/invoices/22737513-0ea7-4206-8ceb-98a575af7681/csv\\\" --output invoice.csv\"\n          }\n        ]\n      }\n    },\n    \"/v2/customers/my/invoices/{invoice_uuid}/pdf\": {\n      \"get\": {\n        \"description\": \"To retrieve a PDF for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/pdf`.\",\n        \"operationId\": \"invoices_get_pdfByUUID\",\n        \"parameters\": [\n          {\n            \"description\": \"UUID of the invoice\",\n            \"example\": \"22737513-0ea7-4206-8ceb-98a575af7681\",\n            \"in\": \"path\",\n            \"name\": \"invoice_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/pdf\": {\n                \"schema\": {\n                  \"format\": \"binary\",\n                  \"type\": \"string\"\n                }\n              }\n            },\n            \"description\": \"The response will be a PDF file.\",\n            \"headers\": {\n              \"content-disposition\": {\n                \"description\": \"Indicates if the content is expected to be displayed *inline* in the  browser, that is, as a Web page or as part of a Web page, or as an  *attachment*, that is downloaded and saved locally.\",\n                \"example\": \"attachment; filename=\\\"DigitalOcean Invoice 2020 Jul (6173678-418071234).csv\\\"\",\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              },\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Invoice PDF by UUID\",\n        \"tags\": [\n          \"Billing\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/pdf\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/customers/my/invoices/22737513-0ea7-4206-8ceb-98a575af7681/pdf\\\" --output invoice.pdf\"\n          }\n        ]\n      }\n    },\n    \"/v2/customers/my/invoices/{invoice_uuid}/summary\": {\n      \"get\": {\n        \"description\": \"To retrieve a summary for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/summary`.\",\n        \"operationId\": \"invoices_get_summaryByUUID\",\n        \"parameters\": [\n          {\n            \"description\": \"UUID of the invoice\",\n            \"example\": \"22737513-0ea7-4206-8ceb-98a575af7681\",\n            \"in\": \"path\",\n            \"name\": \"invoice_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"amount\": \"27.13\",\n                  \"billing_period\": \"2020-01\",\n                  \"credits_and_adjustments\": {\n                    \"amount\": \"6.78\",\n                    \"name\": \"Credits & adjustments\"\n                  },\n                  \"invoice_uuid\": \"22737513-0ea7-4206-8ceb-98a575af7681\",\n                  \"overages\": {\n                    \"amount\": \"3.45\",\n                    \"name\": \"Overages\"\n                  },\n                  \"product_charges\": {\n                    \"amount\": \"12.34\",\n                    \"items\": [\n                      {\n                        \"amount\": \"10.00\",\n                        \"count\": \"1\",\n                        \"name\": \"Spaces Subscription\"\n                      },\n                      {\n                        \"amount\": \"2.34\",\n                        \"count\": \"1\",\n                        \"name\": \"Database Clusters\"\n                      }\n                    ],\n                    \"name\": \"Product usage charges\"\n                  },\n                  \"taxes\": {\n                    \"amount\": \"4.56\",\n                    \"name\": \"Taxes\"\n                  },\n                  \"user_billing_address\": {\n                    \"address_line1\": \"101 Shark Row\",\n                    \"city\": \"Atlantis\",\n                    \"country_iso2_code\": \"US\",\n                    \"created_at\": \"2019-09-03T16:34:46.000+00:00\",\n                    \"postal_code\": \"12345\",\n                    \"region\": \"OC\",\n                    \"updated_at\": \"2019-09-03T16:34:46.000+00:00\"\n                  },\n                  \"user_company\": \"DigitalOcean\",\n                  \"user_email\": \"sammy@digitalocean.com\",\n                  \"user_name\": \"Sammy Shark\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"amount\": {\n                      \"description\": \"Total amount of the invoice, in USD.  This will reflect month-to-date usage in the invoice preview.\",\n                      \"example\": \"27.13\",\n                      \"type\": \"string\"\n                    },\n                    \"billing_period\": {\n                      \"description\": \"Billing period of usage for which the invoice is issued, in `YYYY-MM`  format.\",\n                      \"example\": \"2020-01\",\n                      \"type\": \"string\"\n                    },\n                    \"credits_and_adjustments\": {\n                      \"allOf\": [\n                        {\n                          \"description\": \"A summary of the credits and adjustments contributing to the invoice.\"\n                        },\n                        {\n                          \"properties\": {\n                            \"amount\": {\n                              \"description\": \"Total amount charged in USD\",\n                              \"example\": \"3.45\",\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"Name of the charge\",\n                              \"example\": \"Overages\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    },\n                    \"invoice_uuid\": {\n                      \"description\": \"UUID of the invoice\",\n                      \"example\": \"22737513-0ea7-4206-8ceb-98a575af7681\",\n                      \"type\": \"string\"\n                    },\n                    \"overages\": {\n                      \"allOf\": [\n                        {\n                          \"description\": \"A summary of the overages contributing to the invoice.\"\n                        },\n                        {\n                          \"properties\": {\n                            \"amount\": {\n                              \"description\": \"Total amount charged in USD\",\n                              \"example\": \"3.45\",\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"Name of the charge\",\n                              \"example\": \"Overages\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    },\n                    \"product_charges\": {\n                      \"allOf\": [\n                        {\n                          \"description\": \"A summary of the product usage charges contributing to the invoice.  This will include an amount, and grouped aggregates by resource type  under the `items` key.\"\n                        },\n                        {\n                          \"properties\": {\n                            \"amount\": {\n                              \"description\": \"Total amount charged\",\n                              \"example\": \"12.34\",\n                              \"type\": \"string\"\n                            },\n                            \"items\": {\n                              \"description\": \"List of amount, and grouped aggregates by resource type.\",\n                              \"example\": [\n                                {\n                                  \"amount\": \"10.00\",\n                                  \"count\": \"1\",\n                                  \"name\": \"Spaces Subscription\"\n                                },\n                                {\n                                  \"amount\": \"2.34\",\n                                  \"count\": \"1\",\n                                  \"name\": \"Database Clusters\"\n                                }\n                              ],\n                              \"items\": {\n                                \"properties\": {\n                                  \"amount\": {\n                                    \"description\": \"Amount of the charge\",\n                                    \"example\": \"10.00\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"count\": {\n                                    \"description\": \"Number of times the charge was applied\",\n                                    \"example\": \"1\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"Description of the charge\",\n                                    \"example\": \"Spaces Subscription\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"name\": {\n                              \"description\": \"Description of usage charges\",\n                              \"example\": \"Product usage charges\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    },\n                    \"taxes\": {\n                      \"allOf\": [\n                        {\n                          \"description\": \"A summary of the taxes contributing to the invoice.\"\n                        },\n                        {\n                          \"properties\": {\n                            \"amount\": {\n                              \"description\": \"Total amount charged in USD\",\n                              \"example\": \"3.45\",\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"Name of the charge\",\n                              \"example\": \"Overages\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    },\n                    \"user_billing_address\": {\n                      \"allOf\": [\n                        {\n                          \"description\": \"The billing address of the customer being invoiced.\"\n                        },\n                        {\n                          \"properties\": {\n                            \"address_line1\": {\n                              \"description\": \"Street address line 1\",\n                              \"example\": \"101 Shark Row\",\n                              \"type\": \"string\"\n                            },\n                            \"address_line2\": {\n                              \"description\": \"Street address line 2\",\n                              \"example\": \" \",\n                              \"type\": \"string\"\n                            },\n                            \"city\": {\n                              \"description\": \"City\",\n                              \"example\": \"Atlantis\",\n                              \"type\": \"string\"\n                            },\n                            \"country_iso2_code\": {\n                              \"description\": \"Country (ISO2) code\",\n                              \"example\": \"US\",\n                              \"type\": \"string\"\n                            },\n                            \"created_at\": {\n                              \"description\": \"Timestamp billing address was created\",\n                              \"example\": \"2019-09-03T16:34:46.000+00:00\",\n                              \"type\": \"string\"\n                            },\n                            \"postal_code\": {\n                              \"description\": \"Postal code\",\n                              \"example\": \"12345\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"Region\",\n                              \"example\": \"OC\",\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"description\": \"Timestamp billing address was updated\",\n                              \"example\": \"2019-09-03T16:34:46.000+00:00\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    },\n                    \"user_company\": {\n                      \"description\": \"Company of the DigitalOcean customer being invoiced, if set.\",\n                      \"example\": \"DigitalOcean\",\n                      \"type\": \"string\"\n                    },\n                    \"user_email\": {\n                      \"description\": \"Email of the DigitalOcean customer being invoiced.\",\n                      \"example\": \"sammy@digitalocean.com\",\n                      \"type\": \"string\"\n                    },\n                    \"user_name\": {\n                      \"description\": \"Name of the DigitalOcean customer being invoiced.\",\n                      \"example\": \"Sammy Shark\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"To retrieve a summary for an invoice, send a GET request to  `/v2/customers/my/invoices/$INVOICE_UUID/summary`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Invoice Summary by UUID\",\n        \"tags\": [\n          \"Billing\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/customers/my/invoices/22737513-0ea7-4206-8ceb-98a575af7681/summary\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases\": {\n      \"get\": {\n        \"description\": \"To list all of the database clusters available on your account, send a GET request to `/v2/databases`. To limit the results to database clusters with a specific tag, include the `tag_name` query parameter set to the name of the tag. For example, `/v2/databases?tag_name=$TAG_NAME`.\\nThe result will be a JSON object with a `databases` key. This will be set to an array of database objects, each of which will contain the standard database attributes.\\nThe embedded `connection` and `private_connection` objects will contain the information needed to access the database cluster:\\nThe embedded `maintenance_window` object will contain information about any scheduled maintenance for the database cluster.\",\n        \"operationId\": \"databases_list_clusters\",\n        \"parameters\": [\n          {\n            \"description\": \"Limits the results to database clusters with a specific tag.\",\n            \"example\": \"production\",\n            \"in\": \"query\",\n            \"name\": \"tag_name\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"databases\": [\n                    {\n                      \"connection\": {\n                        \"database\": \"\",\n                        \"host\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                        \"password\": \"wv78n3zpz42xezdk\",\n                        \"port\": 25060,\n                        \"ssl\": true,\n                        \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                        \"user\": \"doadmin\"\n                      },\n                      \"created_at\": \"2019-01-11T18:37:36Z\",\n                      \"db_names\": [\n                        \"defaultdb\"\n                      ],\n                      \"engine\": \"pg\",\n                      \"id\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                      \"maintenance_window\": {\n                        \"day\": \"saturday\",\n                        \"description\": [\n                          \"Update TimescaleDB to version 1.2.1\",\n                          \"Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases\"\n                        ],\n                        \"hour\": \"08:45:12\",\n                        \"pending\": true\n                      },\n                      \"name\": \"backend\",\n                      \"num_nodes\": 1,\n                      \"private_connection\": {\n                        \"database\": \"\",\n                        \"host\": \"private-backend-do-user-19081923-0.db.ondigitalocean.com\",\n                        \"password\": \"wv78n3zpz42xezdk\",\n                        \"port\": 25060,\n                        \"ssl\": true,\n                        \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@private-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                        \"user\": \"doadmin\"\n                      },\n                      \"private_network_uuid\": \"d455e75d-4858-4eec-8c95-da2f0a5f93a7\",\n                      \"region\": \"nyc3\",\n                      \"size\": \"db-s-2vcpu-4gb\",\n                      \"status\": \"online\",\n                      \"tags\": [\n                        \"production\"\n                      ],\n                      \"users\": [\n                        {\n                          \"name\": \"doadmin\",\n                          \"password\": \"wv78n3zpz42xezdk\",\n                          \"role\": \"primary\"\n                        }\n                      ],\n                      \"version\": \"10\",\n                      \"version_end_of_availability\": \"2023-05-09T00:00:00Z\",\n                      \"version_end_of_life\": \"2023-11-09T00:00:00Z\"\n                    }\n                  ]\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"databases\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"connection\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"database\": {\n                                    \"description\": \"The name of the default database.\",\n                                    \"example\": \"defaultdb\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"host\": {\n                                    \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                    \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"password\": {\n                                    \"description\": \"The randomly generated password for the default user.\",\n                                    \"example\": \"wv78n3zpz42xezdk\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"port\": {\n                                    \"description\": \"The port on which the database cluster is listening.\",\n                                    \"example\": 25060,\n                                    \"readOnly\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"ssl\": {\n                                    \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                    \"example\": true,\n                                    \"readOnly\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"uri\": {\n                                    \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                    \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"user\": {\n                                    \"description\": \"The default user for the database.\",\n                                    \"example\": \"doadmin\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"readOnly\": true\n                              }\n                            ]\n                          },\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the database cluster was created.\",\n                            \"example\": \"2019-01-11T18:37:36Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"db_names\": {\n                            \"description\": \"An array of strings containing the names of databases created in the database cluster.\",\n                            \"example\": [\n                              \"doadmin\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"nullable\": true,\n                            \"readOnly\": true,\n                            \"type\": \"array\"\n                          },\n                          \"engine\": {\n                            \"description\": \"A slug representing the database engine used for the cluster. The possible values are: \\\"pg\\\" for PostgreSQL, \\\"mysql\\\" for MySQL, \\\"redis\\\" for Redis, and \\\"mongodb\\\" for MongoDB.\",\n                            \"enum\": [\n                              \"pg\",\n                              \"mysql\",\n                              \"redis\",\n                              \"mongodb\"\n                            ],\n                            \"example\": \"pg\",\n                            \"type\": \"string\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique ID that can be used to identify and reference a database cluster.\",\n                            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"maintenance_window\": {\n                            \"allOf\": [\n                              {\n                                \"nullable\": true,\n                                \"properties\": {\n                                  \"day\": {\n                                    \"description\": \"The day of the week on which to apply maintenance updates.\",\n                                    \"example\": \"tuesday\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"description\": {\n                                    \"description\": \"A list of strings, each containing information about a pending maintenance update.\",\n                                    \"example\": [\n                                      \"Update TimescaleDB to version 1.2.1\",\n                                      \"Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"readOnly\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"hour\": {\n                                    \"description\": \"The hour in UTC at which maintenance updates will be applied in 24 hour format.\",\n                                    \"example\": \"14:00\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"pending\": {\n                                    \"description\": \"A boolean value indicating whether any maintenance is scheduled to be performed in the next window.\",\n                                    \"example\": true,\n                                    \"readOnly\": true,\n                                    \"type\": \"boolean\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"day\",\n                                  \"hour\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"readOnly\": true\n                              }\n                            ]\n                          },\n                          \"name\": {\n                            \"description\": \"A unique, human-readable name referring to a database cluster.\",\n                            \"example\": \"backend\",\n                            \"type\": \"string\"\n                          },\n                          \"num_nodes\": {\n                            \"description\": \"The number of nodes in the database cluster.\",\n                            \"example\": 2,\n                            \"type\": \"integer\"\n                          },\n                          \"private_connection\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"database\": {\n                                    \"description\": \"The name of the default database.\",\n                                    \"example\": \"defaultdb\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"host\": {\n                                    \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                    \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"password\": {\n                                    \"description\": \"The randomly generated password for the default user.\",\n                                    \"example\": \"wv78n3zpz42xezdk\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"port\": {\n                                    \"description\": \"The port on which the database cluster is listening.\",\n                                    \"example\": 25060,\n                                    \"readOnly\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"ssl\": {\n                                    \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                    \"example\": true,\n                                    \"readOnly\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"uri\": {\n                                    \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                    \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"user\": {\n                                    \"description\": \"The default user for the database.\",\n                                    \"example\": \"doadmin\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"readOnly\": true\n                              }\n                            ]\n                          },\n                          \"private_network_uuid\": {\n                            \"description\": \"A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region.\",\n                            \"example\": \"d455e75d-4858-4eec-8c95-da2f0a5f93a7\",\n                            \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                            \"type\": \"string\"\n                          },\n                          \"project_id\": {\n                            \"description\": \"The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project.\",\n                            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                            \"format\": \"uuid\",\n                            \"type\": \"string\"\n                          },\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the database cluster is located.\",\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          },\n                          \"rules\": {\n                            \"items\": {\n                              \"properties\": {\n                                \"cluster_uuid\": {\n                                  \"description\": \"A unique ID for the database cluster to which the rule is applied.\",\n                                  \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                                  \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                                  \"type\": \"string\"\n                                },\n                                \"created_at\": {\n                                  \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall rule was created.\",\n                                  \"example\": \"2019-01-11T18:37:36Z\",\n                                  \"format\": \"date-time\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"type\": {\n                                  \"description\": \"The type of resource that the firewall rule allows to access the database cluster.\",\n                                  \"enum\": [\n                                    \"droplet\",\n                                    \"k8s\",\n                                    \"ip_addr\",\n                                    \"tag\",\n                                    \"app\"\n                                  ],\n                                  \"example\": \"droplet\",\n                                  \"type\": \"string\"\n                                },\n                                \"uuid\": {\n                                  \"description\": \"A unique ID for the firewall rule itself.\",\n                                  \"example\": \"79f26d28-ea8a-41f2-8ad8-8cfcdd020095\",\n                                  \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                                  \"type\": \"string\"\n                                },\n                                \"value\": {\n                                  \"description\": \"The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.\",\n                                  \"example\": \"ff2a6c52-5a44-4b63-b99c-0e98e7a63d61\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"type\",\n                                \"value\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"type\": \"array\"\n                          },\n                          \"size\": {\n                            \"description\": \"The slug identifier representing the size of the nodes in the database cluster.\",\n                            \"example\": \"db-s-2vcpu-4gb\",\n                            \"type\": \"string\"\n                          },\n                          \"status\": {\n                            \"description\": \"A string representing the current status of the database cluster.\",\n                            \"enum\": [\n                              \"creating\",\n                              \"online\",\n                              \"resizing\",\n                              \"migrating\",\n                              \"forking\"\n                            ],\n                            \"example\": \"creating\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"tags\": {\n                            \"description\": \"An array of tags that have been applied to the database cluster.\",\n                            \"example\": [\n                              \"production\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          },\n                          \"users\": {\n                            \"items\": {\n                              \"properties\": {\n                                \"mysql_settings\": {\n                                  \"properties\": {\n                                    \"auth_plugin\": {\n                                      \"description\": \"A string specifying the authentication method to be used for connections\\nto the MySQL user account. The valid values are `mysql_native_password`\\nor `caching_sha2_password`. If excluded when creating a new user, the\\ndefault for the version of MySQL in use will be used. As of MySQL 8.0, the\\ndefault is `caching_sha2_password`.\\n\",\n                                      \"enum\": [\n                                        \"mysql_native_password\",\n                                        \"caching_sha2_password\"\n                                      ],\n                                      \"example\": \"mysql_native_password\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"auth_plugin\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The name of a database user.\",\n                                  \"example\": \"app-01\",\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"A randomly generated password for the database user.\",\n                                  \"example\": \"jge5lfxtzhx42iff\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"role\": {\n                                  \"description\": \"A string representing the database user's role. The value will be either\\n\\\"primary\\\" or \\\"normal\\\".\\n\",\n                                  \"enum\": [\n                                    \"primary\",\n                                    \"normal\"\n                                  ],\n                                  \"example\": \"normal\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"name\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"nullable\": true,\n                            \"readOnly\": true,\n                            \"type\": \"array\"\n                          },\n                          \"version\": {\n                            \"description\": \"A string representing the version of the database engine in use for the cluster.\",\n                            \"example\": \"10\",\n                            \"type\": \"string\"\n                          },\n                          \"version_end_of_availability\": {\n                            \"description\": \"A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline.\",\n                            \"example\": \"2023-05-09T00:00:00Z\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"version_end_of_life\": {\n                            \"description\": \"A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline.\",\n                            \"example\": \"2023-11-09T00:00:00Z\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"name\",\n                          \"engine\",\n                          \"num_nodes\",\n                          \"size\",\n                          \"region\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `databases`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Database Clusters\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    clusters, _, err := client.Databases.List(ctx, opt)\\n}\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a database cluster, send a POST request to `/v2/databases`.\\nThe response will be a JSON object with a key called `database`. The value of this will be an object that contains the standard attributes associated with a database cluster. The initial value of the database cluster's `status` attribute will be `creating`. When the cluster is ready to receive traffic, this will transition to `online`.\\nThe embedded `connection` and `private_connection` objects will contain the information needed to access the database cluster.\\nDigitalOcean managed PostgreSQL and MySQL database clusters take automated daily backups. To create a new database cluster based on a backup of an existing cluster, send a POST request to `/v2/databases`. In addition to the standard database cluster attributes, the JSON body must include a key named `backup_restore` with the name of the original database cluster and the timestamp of the backup to be restored. Creating a database from a backup is the same as forking a database in the control panel.\\nNote: Backups are not supported for Redis clusters.\",\n        \"operationId\": \"databases_create_cluster\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"examples\": {\n                \"Create a New Database Cluster\": {\n                  \"value\": {\n                    \"engine\": \"pg\",\n                    \"name\": \"backend\",\n                    \"num_nodes\": 2,\n                    \"region\": \"nyc3\",\n                    \"size\": \"db-s-2vcpu-4gb\",\n                    \"tags\": [\n                      \"production\"\n                    ],\n                    \"version\": \"14\"\n                  }\n                },\n                \"Create a New Database Cluster with trusted sources\": {\n                  \"value\": {\n                    \"engine\": \"pg\",\n                    \"name\": \"backend\",\n                    \"num_nodes\": 2,\n                    \"region\": \"nyc3\",\n                    \"rules\": [\n                      {\n                        \"type\": \"ip_addr\",\n                        \"value\": \"192.168.1.1\"\n                      },\n                      {\n                        \"type\": \"k8s\",\n                        \"value\": \"ff2a6c52-5a44-4b63-b99c-0e98e7a63d61\"\n                      },\n                      {\n                        \"type\": \"droplet\",\n                        \"value\": \"163973392\"\n                      },\n                      {\n                        \"type\": \"tag\",\n                        \"value\": \"test\"\n                      }\n                    ],\n                    \"size\": \"db-s-2vcpu-4gb\",\n                    \"tags\": [\n                      \"production\"\n                    ],\n                    \"version\": \"14\"\n                  }\n                },\n                \"Restore from a Database Cluster Backup\": {\n                  \"value\": {\n                    \"backup_restore\": {\n                      \"backup_created_at\": \"2019-01-31T19:25:22Z\",\n                      \"database_name\": \"backend\"\n                    },\n                    \"engine\": \"pg\",\n                    \"name\": \"backend-restored\",\n                    \"num_nodes\": 2,\n                    \"region\": \"nyc3\",\n                    \"size\": \"db-s-2vcpu-4gb\",\n                    \"version\": \"14\"\n                  }\n                }\n              },\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"connection\": {\n                        \"allOf\": [\n                          {\n                            \"properties\": {\n                              \"database\": {\n                                \"description\": \"The name of the default database.\",\n                                \"example\": \"defaultdb\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"host\": {\n                                \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"password\": {\n                                \"description\": \"The randomly generated password for the default user.\",\n                                \"example\": \"wv78n3zpz42xezdk\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"port\": {\n                                \"description\": \"The port on which the database cluster is listening.\",\n                                \"example\": 25060,\n                                \"readOnly\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"ssl\": {\n                                \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                \"example\": true,\n                                \"readOnly\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"uri\": {\n                                \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"user\": {\n                                \"description\": \"The default user for the database.\",\n                                \"example\": \"doadmin\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          {\n                            \"readOnly\": true\n                          }\n                        ]\n                      },\n                      \"created_at\": {\n                        \"description\": \"A time value given in ISO8601 combined date and time format that represents when the database cluster was created.\",\n                        \"example\": \"2019-01-11T18:37:36Z\",\n                        \"format\": \"date-time\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"db_names\": {\n                        \"description\": \"An array of strings containing the names of databases created in the database cluster.\",\n                        \"example\": [\n                          \"doadmin\"\n                        ],\n                        \"items\": {\n                          \"type\": \"string\"\n                        },\n                        \"nullable\": true,\n                        \"readOnly\": true,\n                        \"type\": \"array\"\n                      },\n                      \"engine\": {\n                        \"description\": \"A slug representing the database engine used for the cluster. The possible values are: \\\"pg\\\" for PostgreSQL, \\\"mysql\\\" for MySQL, \\\"redis\\\" for Redis, and \\\"mongodb\\\" for MongoDB.\",\n                        \"enum\": [\n                          \"pg\",\n                          \"mysql\",\n                          \"redis\",\n                          \"mongodb\"\n                        ],\n                        \"example\": \"pg\",\n                        \"type\": \"string\"\n                      },\n                      \"id\": {\n                        \"description\": \"A unique ID that can be used to identify and reference a database cluster.\",\n                        \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                        \"format\": \"uuid\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"maintenance_window\": {\n                        \"allOf\": [\n                          {\n                            \"nullable\": true,\n                            \"properties\": {\n                              \"day\": {\n                                \"description\": \"The day of the week on which to apply maintenance updates.\",\n                                \"example\": \"tuesday\",\n                                \"type\": \"string\"\n                              },\n                              \"description\": {\n                                \"description\": \"A list of strings, each containing information about a pending maintenance update.\",\n                                \"example\": [\n                                  \"Update TimescaleDB to version 1.2.1\",\n                                  \"Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"readOnly\": true,\n                                \"type\": \"array\"\n                              },\n                              \"hour\": {\n                                \"description\": \"The hour in UTC at which maintenance updates will be applied in 24 hour format.\",\n                                \"example\": \"14:00\",\n                                \"type\": \"string\"\n                              },\n                              \"pending\": {\n                                \"description\": \"A boolean value indicating whether any maintenance is scheduled to be performed in the next window.\",\n                                \"example\": true,\n                                \"readOnly\": true,\n                                \"type\": \"boolean\"\n                              }\n                            },\n                            \"required\": [\n                              \"day\",\n                              \"hour\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          {\n                            \"readOnly\": true\n                          }\n                        ]\n                      },\n                      \"name\": {\n                        \"description\": \"A unique, human-readable name referring to a database cluster.\",\n                        \"example\": \"backend\",\n                        \"type\": \"string\"\n                      },\n                      \"num_nodes\": {\n                        \"description\": \"The number of nodes in the database cluster.\",\n                        \"example\": 2,\n                        \"type\": \"integer\"\n                      },\n                      \"private_connection\": {\n                        \"allOf\": [\n                          {\n                            \"properties\": {\n                              \"database\": {\n                                \"description\": \"The name of the default database.\",\n                                \"example\": \"defaultdb\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"host\": {\n                                \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"password\": {\n                                \"description\": \"The randomly generated password for the default user.\",\n                                \"example\": \"wv78n3zpz42xezdk\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"port\": {\n                                \"description\": \"The port on which the database cluster is listening.\",\n                                \"example\": 25060,\n                                \"readOnly\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"ssl\": {\n                                \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                \"example\": true,\n                                \"readOnly\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"uri\": {\n                                \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"user\": {\n                                \"description\": \"The default user for the database.\",\n                                \"example\": \"doadmin\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          {\n                            \"readOnly\": true\n                          }\n                        ]\n                      },\n                      \"private_network_uuid\": {\n                        \"description\": \"A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region.\",\n                        \"example\": \"d455e75d-4858-4eec-8c95-da2f0a5f93a7\",\n                        \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                        \"type\": \"string\"\n                      },\n                      \"project_id\": {\n                        \"description\": \"The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project.\",\n                        \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                        \"format\": \"uuid\",\n                        \"type\": \"string\"\n                      },\n                      \"region\": {\n                        \"description\": \"The slug identifier for the region where the database cluster is located.\",\n                        \"example\": \"nyc3\",\n                        \"type\": \"string\"\n                      },\n                      \"rules\": {\n                        \"items\": {\n                          \"properties\": {\n                            \"cluster_uuid\": {\n                              \"description\": \"A unique ID for the database cluster to which the rule is applied.\",\n                              \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                              \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                              \"type\": \"string\"\n                            },\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall rule was created.\",\n                              \"example\": \"2019-01-11T18:37:36Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"description\": \"The type of resource that the firewall rule allows to access the database cluster.\",\n                              \"enum\": [\n                                \"droplet\",\n                                \"k8s\",\n                                \"ip_addr\",\n                                \"tag\",\n                                \"app\"\n                              ],\n                              \"example\": \"droplet\",\n                              \"type\": \"string\"\n                            },\n                            \"uuid\": {\n                              \"description\": \"A unique ID for the firewall rule itself.\",\n                              \"example\": \"79f26d28-ea8a-41f2-8ad8-8cfcdd020095\",\n                              \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                              \"type\": \"string\"\n                            },\n                            \"value\": {\n                              \"description\": \"The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.\",\n                              \"example\": \"ff2a6c52-5a44-4b63-b99c-0e98e7a63d61\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"type\",\n                            \"value\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"size\": {\n                        \"description\": \"The slug identifier representing the size of the nodes in the database cluster.\",\n                        \"example\": \"db-s-2vcpu-4gb\",\n                        \"type\": \"string\"\n                      },\n                      \"status\": {\n                        \"description\": \"A string representing the current status of the database cluster.\",\n                        \"enum\": [\n                          \"creating\",\n                          \"online\",\n                          \"resizing\",\n                          \"migrating\",\n                          \"forking\"\n                        ],\n                        \"example\": \"creating\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"tags\": {\n                        \"description\": \"An array of tags that have been applied to the database cluster.\",\n                        \"example\": [\n                          \"production\"\n                        ],\n                        \"items\": {\n                          \"type\": \"string\"\n                        },\n                        \"nullable\": true,\n                        \"type\": \"array\"\n                      },\n                      \"users\": {\n                        \"items\": {\n                          \"properties\": {\n                            \"mysql_settings\": {\n                              \"properties\": {\n                                \"auth_plugin\": {\n                                  \"description\": \"A string specifying the authentication method to be used for connections\\nto the MySQL user account. The valid values are `mysql_native_password`\\nor `caching_sha2_password`. If excluded when creating a new user, the\\ndefault for the version of MySQL in use will be used. As of MySQL 8.0, the\\ndefault is `caching_sha2_password`.\\n\",\n                                  \"enum\": [\n                                    \"mysql_native_password\",\n                                    \"caching_sha2_password\"\n                                  ],\n                                  \"example\": \"mysql_native_password\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"auth_plugin\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of a database user.\",\n                              \"example\": \"app-01\",\n                              \"type\": \"string\"\n                            },\n                            \"password\": {\n                              \"description\": \"A randomly generated password for the database user.\",\n                              \"example\": \"jge5lfxtzhx42iff\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"role\": {\n                              \"description\": \"A string representing the database user's role. The value will be either\\n\\\"primary\\\" or \\\"normal\\\".\\n\",\n                              \"enum\": [\n                                \"primary\",\n                                \"normal\"\n                              ],\n                              \"example\": \"normal\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"nullable\": true,\n                        \"readOnly\": true,\n                        \"type\": \"array\"\n                      },\n                      \"version\": {\n                        \"description\": \"A string representing the version of the database engine in use for the cluster.\",\n                        \"example\": \"10\",\n                        \"type\": \"string\"\n                      },\n                      \"version_end_of_availability\": {\n                        \"description\": \"A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline.\",\n                        \"example\": \"2023-05-09T00:00:00Z\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"version_end_of_life\": {\n                        \"description\": \"A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline.\",\n                        \"example\": \"2023-11-09T00:00:00Z\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"required\": [\n                      \"name\",\n                      \"engine\",\n                      \"num_nodes\",\n                      \"size\",\n                      \"region\"\n                    ],\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"properties\": {\n                      \"backup_restore\": {\n                        \"properties\": {\n                          \"backup_created_at\": {\n                            \"description\": \"The timestamp of an existing database cluster backup in ISO8601 combined date and time format. The most recent backup will be used if excluded.\",\n                            \"example\": \"2019-01-31T19:25:22Z\",\n                            \"format\": \"date-time\",\n                            \"type\": \"string\"\n                          },\n                          \"database_name\": {\n                            \"description\": \"The name of an existing database cluster from which the backup will be restored.\",\n                            \"example\": \"backend\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"database_name\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  }\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"database\": {\n                    \"connection\": {\n                      \"database\": \"\",\n                      \"host\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                      \"password\": \"wv78n3zpz42xezdk\",\n                      \"port\": 25060,\n                      \"ssl\": true,\n                      \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                      \"user\": \"doadmin\"\n                    },\n                    \"created_at\": \"2019-01-11T18:37:36Z\",\n                    \"db_names\": [\n                      \"defaultdb\"\n                    ],\n                    \"engine\": \"pg\",\n                    \"id\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                    \"maintenance_window\": {\n                      \"day\": \"saturday\",\n                      \"description\": [\n                        \"Update TimescaleDB to version 1.2.1\",\n                        \"Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases\"\n                      ],\n                      \"hour\": \"08:45:12\",\n                      \"pending\": true\n                    },\n                    \"name\": \"backend\",\n                    \"num_nodes\": 2,\n                    \"private_connection\": {\n                      \"database\": \"\",\n                      \"host\": \"private-backend-do-user-19081923-0.db.ondigitalocean.com\",\n                      \"password\": \"wv78n3zpz42xezdk\",\n                      \"port\": 25060,\n                      \"ssl\": true,\n                      \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@private-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                      \"user\": \"doadmin\"\n                    },\n                    \"private_network_uuid\": \"d455e75d-4858-4eec-8c95-da2f0a5f93a7\",\n                    \"region\": \"nyc3\",\n                    \"size\": \"db-s-2vcpu-4gb\",\n                    \"status\": \"creating\",\n                    \"tags\": [\n                      \"production\"\n                    ],\n                    \"users\": [\n                      {\n                        \"name\": \"doadmin\",\n                        \"password\": \"wv78n3zpz42xezdk\",\n                        \"role\": \"primary\"\n                      }\n                    ],\n                    \"version\": \"14\",\n                    \"version_end_of_availability\": \"2023-05-09T00:00:00Z\",\n                    \"version_end_of_life\": \"2023-11-09T00:00:00Z\"\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"database\": {\n                      \"properties\": {\n                        \"connection\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"database\": {\n                                  \"description\": \"The name of the default database.\",\n                                  \"example\": \"defaultdb\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"host\": {\n                                  \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                  \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"The randomly generated password for the default user.\",\n                                  \"example\": \"wv78n3zpz42xezdk\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"description\": \"The port on which the database cluster is listening.\",\n                                  \"example\": 25060,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"ssl\": {\n                                  \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"uri\": {\n                                  \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                  \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"user\": {\n                                  \"description\": \"The default user for the database.\",\n                                  \"example\": \"doadmin\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"readOnly\": true\n                            }\n                          ]\n                        },\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the database cluster was created.\",\n                          \"example\": \"2019-01-11T18:37:36Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"db_names\": {\n                          \"description\": \"An array of strings containing the names of databases created in the database cluster.\",\n                          \"example\": [\n                            \"doadmin\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"nullable\": true,\n                          \"readOnly\": true,\n                          \"type\": \"array\"\n                        },\n                        \"engine\": {\n                          \"description\": \"A slug representing the database engine used for the cluster. The possible values are: \\\"pg\\\" for PostgreSQL, \\\"mysql\\\" for MySQL, \\\"redis\\\" for Redis, and \\\"mongodb\\\" for MongoDB.\",\n                          \"enum\": [\n                            \"pg\",\n                            \"mysql\",\n                            \"redis\",\n                            \"mongodb\"\n                          ],\n                          \"example\": \"pg\",\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique ID that can be used to identify and reference a database cluster.\",\n                          \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                          \"format\": \"uuid\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"maintenance_window\": {\n                          \"allOf\": [\n                            {\n                              \"nullable\": true,\n                              \"properties\": {\n                                \"day\": {\n                                  \"description\": \"The day of the week on which to apply maintenance updates.\",\n                                  \"example\": \"tuesday\",\n                                  \"type\": \"string\"\n                                },\n                                \"description\": {\n                                  \"description\": \"A list of strings, each containing information about a pending maintenance update.\",\n                                  \"example\": [\n                                    \"Update TimescaleDB to version 1.2.1\",\n                                    \"Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                },\n                                \"hour\": {\n                                  \"description\": \"The hour in UTC at which maintenance updates will be applied in 24 hour format.\",\n                                  \"example\": \"14:00\",\n                                  \"type\": \"string\"\n                                },\n                                \"pending\": {\n                                  \"description\": \"A boolean value indicating whether any maintenance is scheduled to be performed in the next window.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                }\n                              },\n                              \"required\": [\n                                \"day\",\n                                \"hour\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"readOnly\": true\n                            }\n                          ]\n                        },\n                        \"name\": {\n                          \"description\": \"A unique, human-readable name referring to a database cluster.\",\n                          \"example\": \"backend\",\n                          \"type\": \"string\"\n                        },\n                        \"num_nodes\": {\n                          \"description\": \"The number of nodes in the database cluster.\",\n                          \"example\": 2,\n                          \"type\": \"integer\"\n                        },\n                        \"private_connection\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"database\": {\n                                  \"description\": \"The name of the default database.\",\n                                  \"example\": \"defaultdb\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"host\": {\n                                  \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                  \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"The randomly generated password for the default user.\",\n                                  \"example\": \"wv78n3zpz42xezdk\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"description\": \"The port on which the database cluster is listening.\",\n                                  \"example\": 25060,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"ssl\": {\n                                  \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"uri\": {\n                                  \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                  \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"user\": {\n                                  \"description\": \"The default user for the database.\",\n                                  \"example\": \"doadmin\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"readOnly\": true\n                            }\n                          ]\n                        },\n                        \"private_network_uuid\": {\n                          \"description\": \"A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region.\",\n                          \"example\": \"d455e75d-4858-4eec-8c95-da2f0a5f93a7\",\n                          \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                          \"type\": \"string\"\n                        },\n                        \"project_id\": {\n                          \"description\": \"The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project.\",\n                          \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                          \"format\": \"uuid\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"description\": \"The slug identifier for the region where the database cluster is located.\",\n                          \"example\": \"nyc3\",\n                          \"type\": \"string\"\n                        },\n                        \"rules\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"cluster_uuid\": {\n                                \"description\": \"A unique ID for the database cluster to which the rule is applied.\",\n                                \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                                \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                                \"type\": \"string\"\n                              },\n                              \"created_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall rule was created.\",\n                                \"example\": \"2019-01-11T18:37:36Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"type\": {\n                                \"description\": \"The type of resource that the firewall rule allows to access the database cluster.\",\n                                \"enum\": [\n                                  \"droplet\",\n                                  \"k8s\",\n                                  \"ip_addr\",\n                                  \"tag\",\n                                  \"app\"\n                                ],\n                                \"example\": \"droplet\",\n                                \"type\": \"string\"\n                              },\n                              \"uuid\": {\n                                \"description\": \"A unique ID for the firewall rule itself.\",\n                                \"example\": \"79f26d28-ea8a-41f2-8ad8-8cfcdd020095\",\n                                \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                                \"type\": \"string\"\n                              },\n                              \"value\": {\n                                \"description\": \"The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.\",\n                                \"example\": \"ff2a6c52-5a44-4b63-b99c-0e98e7a63d61\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"type\",\n                              \"value\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"size\": {\n                          \"description\": \"The slug identifier representing the size of the nodes in the database cluster.\",\n                          \"example\": \"db-s-2vcpu-4gb\",\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"description\": \"A string representing the current status of the database cluster.\",\n                          \"enum\": [\n                            \"creating\",\n                            \"online\",\n                            \"resizing\",\n                            \"migrating\",\n                            \"forking\"\n                          ],\n                          \"example\": \"creating\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"tags\": {\n                          \"description\": \"An array of tags that have been applied to the database cluster.\",\n                          \"example\": [\n                            \"production\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"nullable\": true,\n                          \"type\": \"array\"\n                        },\n                        \"users\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"mysql_settings\": {\n                                \"properties\": {\n                                  \"auth_plugin\": {\n                                    \"description\": \"A string specifying the authentication method to be used for connections\\nto the MySQL user account. The valid values are `mysql_native_password`\\nor `caching_sha2_password`. If excluded when creating a new user, the\\ndefault for the version of MySQL in use will be used. As of MySQL 8.0, the\\ndefault is `caching_sha2_password`.\\n\",\n                                    \"enum\": [\n                                      \"mysql_native_password\",\n                                      \"caching_sha2_password\"\n                                    ],\n                                    \"example\": \"mysql_native_password\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"auth_plugin\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of a database user.\",\n                                \"example\": \"app-01\",\n                                \"type\": \"string\"\n                              },\n                              \"password\": {\n                                \"description\": \"A randomly generated password for the database user.\",\n                                \"example\": \"jge5lfxtzhx42iff\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"role\": {\n                                \"description\": \"A string representing the database user's role. The value will be either\\n\\\"primary\\\" or \\\"normal\\\".\\n\",\n                                \"enum\": [\n                                  \"primary\",\n                                  \"normal\"\n                                ],\n                                \"example\": \"normal\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"name\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"nullable\": true,\n                          \"readOnly\": true,\n                          \"type\": \"array\"\n                        },\n                        \"version\": {\n                          \"description\": \"A string representing the version of the database engine in use for the cluster.\",\n                          \"example\": \"10\",\n                          \"type\": \"string\"\n                        },\n                        \"version_end_of_availability\": {\n                          \"description\": \"A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline.\",\n                          \"example\": \"2023-05-09T00:00:00Z\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"version_end_of_life\": {\n                          \"description\": \"A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline.\",\n                          \"example\": \"2023-11-09T00:00:00Z\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\",\n                        \"engine\",\n                        \"num_nodes\",\n                        \"size\",\n                        \"region\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"required\": [\n                    \"database\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `database`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Database Cluster\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"backend\\\", \\\"engine\\\": \\\"pg\\\", \\\"version\\\": \\\"14\\\", \\\"region\\\": \\\"nyc3\\\", \\\"size\\\": \\\"db-s-2vcpu-4gb\\\", \\\"num_nodes\\\": 2, \\\"tags\\\": [\\\"production\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/databases\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &godo.DatabaseCreateRequest{\\n        Name:       \\\"backend\\\",\\n        EngineSlug: \\\"pg\\\",\\n        Version:    \\\"14\\\",\\n        Region:     \\\"nyc3\\\",\\n        SizeSlug:   \\\"db-s-2vcpu-4gb\\\",\\n        NumNodes:   2,\\n    }\\n\\n    cluster, _, err := client.Databases.Create(ctx, createRequest)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/options\": {\n      \"get\": {\n        \"description\": \"To list all of the options available for the offered database engines, send a GET request to `/v2/databases/options`.\\nThe result will be a JSON object with an `options` key.\",\n        \"operationId\": \"databases_list_options\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"options\": {\n                    \"mongodb\": {\n                      \"layouts\": [\n                        {\n                          \"num_nodes\": 1,\n                          \"sizes\": [\n                            \"db-s-1vcpu-1gb\",\n                            \"db-s-1vcpu-2gb\"\n                          ]\n                        },\n                        {\n                          \"num_nodes\": 3,\n                          \"sizes\": [\n                            \"db-s-1vcpu-1gb\",\n                            \"db-s-1vcpu-2gb\",\n                            \"db-s-2vcpu-4gb\",\n                            \"db-s-4vcpu-8gb\"\n                          ]\n                        }\n                      ],\n                      \"regions\": [\n                        \"ams3\",\n                        \"blr1\"\n                      ],\n                      \"versions\": [\n                        \"4.4\",\n                        \"5.0\"\n                      ]\n                    },\n                    \"mysql\": {\n                      \"layouts\": [\n                        {\n                          \"num_nodes\": 1,\n                          \"sizes\": [\n                            \"db-s-1vcpu-1gb\",\n                            \"db-s-1vcpu-2gb\"\n                          ]\n                        },\n                        {\n                          \"num_nodes\": 2,\n                          \"sizes\": [\n                            \"db-s-1vcpu-1gb\",\n                            \"db-s-1vcpu-2gb\",\n                            \"db-s-2vcpu-4gb\",\n                            \"db-s-4vcpu-8gb\"\n                          ]\n                        },\n                        {\n                          \"num_nodes\": 3,\n                          \"sizes\": [\n                            \"db-s-1vcpu-1gb\",\n                            \"db-s-1vcpu-2gb\",\n                            \"db-s-2vcpu-4gb\",\n                            \"db-s-4vcpu-8gb\"\n                          ]\n                        }\n                      ],\n                      \"regions\": [\n                        \"ams3\",\n                        \"blr1\"\n                      ],\n                      \"versions\": [\n                        \"8\"\n                      ]\n                    },\n                    \"pg\": {\n                      \"layouts\": [\n                        {\n                          \"num_nodes\": 1,\n                          \"sizes\": [\n                            \"db-s-1vcpu-1gb\",\n                            \"db-s-1vcpu-2gb\"\n                          ]\n                        },\n                        {\n                          \"num_nodes\": 2,\n                          \"sizes\": [\n                            \"db-s-1vcpu-1gb\",\n                            \"db-s-1vcpu-2gb\",\n                            \"db-s-2vcpu-4gb\",\n                            \"db-s-4vcpu-8gb\"\n                          ]\n                        }\n                      ],\n                      \"regions\": [\n                        \"ams3\",\n                        \"blr1\"\n                      ],\n                      \"versions\": [\n                        \"11\",\n                        \"12\",\n                        \"13\",\n                        \"14\"\n                      ]\n                    },\n                    \"redis\": {\n                      \"layouts\": [\n                        {\n                          \"num_nodes\": 1,\n                          \"sizes\": [\n                            \"db-s-1vcpu-1gb\",\n                            \"db-s-1vcpu-2gb\"\n                          ]\n                        },\n                        {\n                          \"num_nodes\": 2,\n                          \"sizes\": [\n                            \"db-s-1vcpu-1gb\",\n                            \"db-s-1vcpu-2gb\",\n                            \"db-s-2vcpu-4gb\",\n                            \"db-s-4vcpu-8gb\"\n                          ]\n                        }\n                      ],\n                      \"regions\": [\n                        \"ams3\",\n                        \"blr1\"\n                      ],\n                      \"versions\": [\n                        \"6\"\n                      ]\n                    }\n                  },\n                  \"version_availability\": {\n                    \"mongodb\": [\n                      {\n                        \"end_of_availability\": \"null\",\n                        \"end_of_life\": \"2024-02-01T08:00:00Z\",\n                        \"version\": \"4.4\"\n                      },\n                      {\n                        \"end_of_availability\": \"null\",\n                        \"end_of_life\": \"2024-10-01T07:00:00Z\",\n                        \"version\": \"5.0\"\n                      }\n                    ],\n                    \"mysql\": [\n                      {\n                        \"end_of_availability\": \"null\",\n                        \"end_of_life\": \"null\",\n                        \"version\": \"8\"\n                      }\n                    ],\n                    \"pg\": [\n                      {\n                        \"end_of_availability\": \"2023-05-09T00:00:00Z\",\n                        \"end_of_life\": \"2023-11-09T00:00:00Z\",\n                        \"version\": \"11\"\n                      },\n                      {\n                        \"end_of_availability\": \"2024-05-14T00:00:00Z\",\n                        \"end_of_life\": \"2024-11-14T00:00:00Z\",\n                        \"version\": \"12\"\n                      },\n                      {\n                        \"end_of_availability\": \"2025-05-13T00:00:00Z\",\n                        \"end_of_life\": \"2025-11-13T00:00:00Z\",\n                        \"version\": \"13\"\n                      },\n                      {\n                        \"end_of_availability\": \"2026-05-12T00:00:00Z\",\n                        \"end_of_life\": \"2026-11-12T00:00:00Z\",\n                        \"version\": \"14\"\n                      }\n                    ],\n                    \"redis\": [\n                      {\n                        \"end_of_availability\": \"null\",\n                        \"end_of_life\": \"null\",\n                        \"version\": \"7\"\n                      }\n                    ]\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"options\": {\n                      \"properties\": {\n                        \"mongodb\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"regions\": {\n                                  \"description\": \"An array of strings containing the names of available regions\",\n                                  \"example\": [\n                                    \"ams3\",\n                                    \"blr1\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"versions\": {\n                                  \"description\": \"An array of strings containing the names of available regions\",\n                                  \"example\": [\n                                    \"4.4\",\n                                    \"5.0\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"layouts\": {\n                                  \"description\": \"An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order).\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"num_nodes\": {\n                                        \"example\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"sizes\": {\n                                        \"description\": \"An array of objects containing the slugs available with various node counts\",\n                                        \"example\": [\n                                          \"db-s-1vcpu-1gb\",\n                                          \"db-s-1vcpu-2gb\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"readOnly\": true,\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"mysql\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"regions\": {\n                                  \"description\": \"An array of strings containing the names of available regions\",\n                                  \"example\": [\n                                    \"ams3\",\n                                    \"blr1\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"versions\": {\n                                  \"description\": \"An array of strings containing the names of available regions\",\n                                  \"example\": [\n                                    \"4.4\",\n                                    \"5.0\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"layouts\": {\n                                  \"description\": \"An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order).\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"num_nodes\": {\n                                        \"example\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"sizes\": {\n                                        \"description\": \"An array of objects containing the slugs available with various node counts\",\n                                        \"example\": [\n                                          \"db-s-1vcpu-1gb\",\n                                          \"db-s-1vcpu-2gb\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"readOnly\": true,\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"pg\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"regions\": {\n                                  \"description\": \"An array of strings containing the names of available regions\",\n                                  \"example\": [\n                                    \"ams3\",\n                                    \"blr1\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"versions\": {\n                                  \"description\": \"An array of strings containing the names of available regions\",\n                                  \"example\": [\n                                    \"4.4\",\n                                    \"5.0\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"layouts\": {\n                                  \"description\": \"An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order).\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"num_nodes\": {\n                                        \"example\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"sizes\": {\n                                        \"description\": \"An array of objects containing the slugs available with various node counts\",\n                                        \"example\": [\n                                          \"db-s-1vcpu-1gb\",\n                                          \"db-s-1vcpu-2gb\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"readOnly\": true,\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"redis\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"regions\": {\n                                  \"description\": \"An array of strings containing the names of available regions\",\n                                  \"example\": [\n                                    \"ams3\",\n                                    \"blr1\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"versions\": {\n                                  \"description\": \"An array of strings containing the names of available regions\",\n                                  \"example\": [\n                                    \"4.4\",\n                                    \"5.0\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"layouts\": {\n                                  \"description\": \"An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order).\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"num_nodes\": {\n                                        \"example\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"sizes\": {\n                                        \"description\": \"An array of objects containing the slugs available with various node counts\",\n                                        \"example\": [\n                                          \"db-s-1vcpu-1gb\",\n                                          \"db-s-1vcpu-2gb\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"readOnly\": true,\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ]\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    \"version_availability\": {\n                      \"properties\": {\n                        \"mongodb\": {\n                          \"description\": \"An array of objects, each indicating the version end-of-life, end-of-availability for various database engines\",\n                          \"items\": {\n                            \"properties\": {\n                              \"end_of_availability\": {\n                                \"description\": \"A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline.\",\n                                \"example\": \"2023-05-09T00:00:00Z\",\n                                \"type\": \"string\"\n                              },\n                              \"end_of_life\": {\n                                \"description\": \"A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline.\",\n                                \"example\": \"2023-11-09T00:00:00Z\",\n                                \"type\": \"string\"\n                              },\n                              \"version\": {\n                                \"description\": \"The engine version.\",\n                                \"example\": \"8\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"mysql\": {\n                          \"description\": \"An array of objects, each indicating the version end-of-life, end-of-availability for various database engines\",\n                          \"items\": {\n                            \"properties\": {\n                              \"end_of_availability\": {\n                                \"description\": \"A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline.\",\n                                \"example\": \"2023-05-09T00:00:00Z\",\n                                \"type\": \"string\"\n                              },\n                              \"end_of_life\": {\n                                \"description\": \"A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline.\",\n                                \"example\": \"2023-11-09T00:00:00Z\",\n                                \"type\": \"string\"\n                              },\n                              \"version\": {\n                                \"description\": \"The engine version.\",\n                                \"example\": \"8\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"pg\": {\n                          \"description\": \"An array of objects, each indicating the version end-of-life, end-of-availability for various database engines\",\n                          \"items\": {\n                            \"properties\": {\n                              \"end_of_availability\": {\n                                \"description\": \"A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline.\",\n                                \"example\": \"2023-05-09T00:00:00Z\",\n                                \"type\": \"string\"\n                              },\n                              \"end_of_life\": {\n                                \"description\": \"A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline.\",\n                                \"example\": \"2023-11-09T00:00:00Z\",\n                                \"type\": \"string\"\n                              },\n                              \"version\": {\n                                \"description\": \"The engine version.\",\n                                \"example\": \"8\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"redis\": {\n                          \"description\": \"An array of objects, each indicating the version end-of-life, end-of-availability for various database engines\",\n                          \"items\": {\n                            \"properties\": {\n                              \"end_of_availability\": {\n                                \"description\": \"A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline.\",\n                                \"example\": \"2023-05-09T00:00:00Z\",\n                                \"type\": \"string\"\n                              },\n                              \"end_of_life\": {\n                                \"description\": \"A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline.\",\n                                \"example\": \"2023-11-09T00:00:00Z\",\n                                \"type\": \"string\"\n                              },\n                              \"version\": {\n                                \"description\": \"The engine version.\",\n                                \"example\": \"8\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON string with a key of `options`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Database Options\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/options\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    options, _, err := client.Databases.ListOptions(ctx)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}\": {\n      \"delete\": {\n        \"description\": \"To destroy a specific database, send a DELETE request to `/v2/databases/$DATABASE_ID`.\\nA status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed.\",\n        \"operationId\": \"databases_destroy_cluster\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Destroy a Database Cluster\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n-H \\\"Content-Type: application/json\\\" \\\\\\n-H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n\\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    pat := \\\"mytoken\\\"\\n\\n    client := godo.NewFromToken(pat)\\n    ctx := context.TODO()\\n\\n    _, err := client.Databases.Delete(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\")\\n}\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an existing database cluster, send a GET request to `/v2/databases/$DATABASE_ID`.\\nThe response will be a JSON object with a database key. This will be set to an object containing the standard database cluster attributes.\\nThe embedded connection and private_connection objects will contain the information needed to access the database cluster.\\nThe embedded maintenance_window object will contain information about any scheduled maintenance for the database cluster.\",\n        \"operationId\": \"databases_get_cluster\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"database\": {\n                    \"connection\": {\n                      \"database\": \"\",\n                      \"host\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                      \"password\": \"wv78n3zpz42xezdk\",\n                      \"port\": 25060,\n                      \"ssl\": true,\n                      \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                      \"user\": \"doadmin\"\n                    },\n                    \"created_at\": \"2019-01-11T18:37:36Z\",\n                    \"db_names\": [\n                      \"defaultdb\"\n                    ],\n                    \"engine\": \"pg\",\n                    \"id\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                    \"maintenance_window\": {\n                      \"day\": \"saturday\",\n                      \"description\": [\n                        \"Update TimescaleDB to version 1.2.1\",\n                        \"Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases\"\n                      ],\n                      \"hour\": \"08:45:12\",\n                      \"pending\": true\n                    },\n                    \"name\": \"backend\",\n                    \"num_nodes\": 2,\n                    \"private_connection\": {\n                      \"database\": \"\",\n                      \"host\": \"private-backend-do-user-19081923-0.db.ondigitalocean.com\",\n                      \"password\": \"wv78n3zpz42xezdk\",\n                      \"port\": 25060,\n                      \"ssl\": true,\n                      \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@private-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                      \"user\": \"doadmin\"\n                    },\n                    \"private_network_uuid\": \"d455e75d-4858-4eec-8c95-da2f0a5f93a7\",\n                    \"region\": \"nyc3\",\n                    \"size\": \"db-s-2vcpu-4gb\",\n                    \"status\": \"creating\",\n                    \"tags\": [\n                      \"production\"\n                    ],\n                    \"users\": [\n                      {\n                        \"name\": \"doadmin\",\n                        \"password\": \"wv78n3zpz42xezdk\",\n                        \"role\": \"primary\"\n                      }\n                    ],\n                    \"version\": \"14\",\n                    \"version_end_of_availability\": \"2023-05-09T00:00:00Z\",\n                    \"version_end_of_life\": \"2023-11-09T00:00:00Z\"\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"database\": {\n                      \"properties\": {\n                        \"connection\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"database\": {\n                                  \"description\": \"The name of the default database.\",\n                                  \"example\": \"defaultdb\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"host\": {\n                                  \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                  \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"The randomly generated password for the default user.\",\n                                  \"example\": \"wv78n3zpz42xezdk\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"description\": \"The port on which the database cluster is listening.\",\n                                  \"example\": 25060,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"ssl\": {\n                                  \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"uri\": {\n                                  \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                  \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"user\": {\n                                  \"description\": \"The default user for the database.\",\n                                  \"example\": \"doadmin\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"readOnly\": true\n                            }\n                          ]\n                        },\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the database cluster was created.\",\n                          \"example\": \"2019-01-11T18:37:36Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"db_names\": {\n                          \"description\": \"An array of strings containing the names of databases created in the database cluster.\",\n                          \"example\": [\n                            \"doadmin\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"nullable\": true,\n                          \"readOnly\": true,\n                          \"type\": \"array\"\n                        },\n                        \"engine\": {\n                          \"description\": \"A slug representing the database engine used for the cluster. The possible values are: \\\"pg\\\" for PostgreSQL, \\\"mysql\\\" for MySQL, \\\"redis\\\" for Redis, and \\\"mongodb\\\" for MongoDB.\",\n                          \"enum\": [\n                            \"pg\",\n                            \"mysql\",\n                            \"redis\",\n                            \"mongodb\"\n                          ],\n                          \"example\": \"pg\",\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique ID that can be used to identify and reference a database cluster.\",\n                          \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                          \"format\": \"uuid\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"maintenance_window\": {\n                          \"allOf\": [\n                            {\n                              \"nullable\": true,\n                              \"properties\": {\n                                \"day\": {\n                                  \"description\": \"The day of the week on which to apply maintenance updates.\",\n                                  \"example\": \"tuesday\",\n                                  \"type\": \"string\"\n                                },\n                                \"description\": {\n                                  \"description\": \"A list of strings, each containing information about a pending maintenance update.\",\n                                  \"example\": [\n                                    \"Update TimescaleDB to version 1.2.1\",\n                                    \"Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"readOnly\": true,\n                                  \"type\": \"array\"\n                                },\n                                \"hour\": {\n                                  \"description\": \"The hour in UTC at which maintenance updates will be applied in 24 hour format.\",\n                                  \"example\": \"14:00\",\n                                  \"type\": \"string\"\n                                },\n                                \"pending\": {\n                                  \"description\": \"A boolean value indicating whether any maintenance is scheduled to be performed in the next window.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                }\n                              },\n                              \"required\": [\n                                \"day\",\n                                \"hour\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"readOnly\": true\n                            }\n                          ]\n                        },\n                        \"name\": {\n                          \"description\": \"A unique, human-readable name referring to a database cluster.\",\n                          \"example\": \"backend\",\n                          \"type\": \"string\"\n                        },\n                        \"num_nodes\": {\n                          \"description\": \"The number of nodes in the database cluster.\",\n                          \"example\": 2,\n                          \"type\": \"integer\"\n                        },\n                        \"private_connection\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"database\": {\n                                  \"description\": \"The name of the default database.\",\n                                  \"example\": \"defaultdb\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"host\": {\n                                  \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                  \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"The randomly generated password for the default user.\",\n                                  \"example\": \"wv78n3zpz42xezdk\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"description\": \"The port on which the database cluster is listening.\",\n                                  \"example\": 25060,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"ssl\": {\n                                  \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"uri\": {\n                                  \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                  \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"user\": {\n                                  \"description\": \"The default user for the database.\",\n                                  \"example\": \"doadmin\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"readOnly\": true\n                            }\n                          ]\n                        },\n                        \"private_network_uuid\": {\n                          \"description\": \"A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region.\",\n                          \"example\": \"d455e75d-4858-4eec-8c95-da2f0a5f93a7\",\n                          \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                          \"type\": \"string\"\n                        },\n                        \"project_id\": {\n                          \"description\": \"The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project.\",\n                          \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                          \"format\": \"uuid\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"description\": \"The slug identifier for the region where the database cluster is located.\",\n                          \"example\": \"nyc3\",\n                          \"type\": \"string\"\n                        },\n                        \"rules\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"cluster_uuid\": {\n                                \"description\": \"A unique ID for the database cluster to which the rule is applied.\",\n                                \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                                \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                                \"type\": \"string\"\n                              },\n                              \"created_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall rule was created.\",\n                                \"example\": \"2019-01-11T18:37:36Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"type\": {\n                                \"description\": \"The type of resource that the firewall rule allows to access the database cluster.\",\n                                \"enum\": [\n                                  \"droplet\",\n                                  \"k8s\",\n                                  \"ip_addr\",\n                                  \"tag\",\n                                  \"app\"\n                                ],\n                                \"example\": \"droplet\",\n                                \"type\": \"string\"\n                              },\n                              \"uuid\": {\n                                \"description\": \"A unique ID for the firewall rule itself.\",\n                                \"example\": \"79f26d28-ea8a-41f2-8ad8-8cfcdd020095\",\n                                \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                                \"type\": \"string\"\n                              },\n                              \"value\": {\n                                \"description\": \"The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.\",\n                                \"example\": \"ff2a6c52-5a44-4b63-b99c-0e98e7a63d61\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"type\",\n                              \"value\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"size\": {\n                          \"description\": \"The slug identifier representing the size of the nodes in the database cluster.\",\n                          \"example\": \"db-s-2vcpu-4gb\",\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"description\": \"A string representing the current status of the database cluster.\",\n                          \"enum\": [\n                            \"creating\",\n                            \"online\",\n                            \"resizing\",\n                            \"migrating\",\n                            \"forking\"\n                          ],\n                          \"example\": \"creating\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"tags\": {\n                          \"description\": \"An array of tags that have been applied to the database cluster.\",\n                          \"example\": [\n                            \"production\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"nullable\": true,\n                          \"type\": \"array\"\n                        },\n                        \"users\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"mysql_settings\": {\n                                \"properties\": {\n                                  \"auth_plugin\": {\n                                    \"description\": \"A string specifying the authentication method to be used for connections\\nto the MySQL user account. The valid values are `mysql_native_password`\\nor `caching_sha2_password`. If excluded when creating a new user, the\\ndefault for the version of MySQL in use will be used. As of MySQL 8.0, the\\ndefault is `caching_sha2_password`.\\n\",\n                                    \"enum\": [\n                                      \"mysql_native_password\",\n                                      \"caching_sha2_password\"\n                                    ],\n                                    \"example\": \"mysql_native_password\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"auth_plugin\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of a database user.\",\n                                \"example\": \"app-01\",\n                                \"type\": \"string\"\n                              },\n                              \"password\": {\n                                \"description\": \"A randomly generated password for the database user.\",\n                                \"example\": \"jge5lfxtzhx42iff\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"role\": {\n                                \"description\": \"A string representing the database user's role. The value will be either\\n\\\"primary\\\" or \\\"normal\\\".\\n\",\n                                \"enum\": [\n                                  \"primary\",\n                                  \"normal\"\n                                ],\n                                \"example\": \"normal\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"name\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"nullable\": true,\n                          \"readOnly\": true,\n                          \"type\": \"array\"\n                        },\n                        \"version\": {\n                          \"description\": \"A string representing the version of the database engine in use for the cluster.\",\n                          \"example\": \"10\",\n                          \"type\": \"string\"\n                        },\n                        \"version_end_of_availability\": {\n                          \"description\": \"A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline.\",\n                          \"example\": \"2023-05-09T00:00:00Z\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"version_end_of_life\": {\n                          \"description\": \"A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline.\",\n                          \"example\": \"2023-11-09T00:00:00Z\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\",\n                        \"engine\",\n                        \"num_nodes\",\n                        \"size\",\n                        \"region\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"required\": [\n                    \"database\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `database`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Database Cluster\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    cluster, _, err := client.Databases.Get(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\")\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/backups\": {\n      \"get\": {\n        \"description\": \"To list all of the available backups of a PostgreSQL or MySQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/backups`.\\n**Note**: Backups are not supported for Redis clusters.\\nThe result will be a JSON object with a `backups key`. This will be set to an array of backup objects, each of which will contain the size of the backup and the timestamp at which it was created.\",\n        \"operationId\": \"databases_list_backups\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"backups\": [\n                    {\n                      \"created_at\": \"2019-01-11T18:42:27Z\",\n                      \"size_gigabytes\": 0.03357696\n                    },\n                    {\n                      \"created_at\": \"2019-01-12T18:42:29Z\",\n                      \"size_gigabytes\": 0.03364864\n                    }\n                  ]\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"backups\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format at which the backup was created.\",\n                            \"example\": \"2019-01-31T19:25:22Z\",\n                            \"format\": \"date-time\",\n                            \"type\": \"string\"\n                          },\n                          \"size_gigabytes\": {\n                            \"description\": \"The size of the database backup in GBs.\",\n                            \"example\": 0.03364864,\n                            \"type\": \"number\"\n                          }\n                        },\n                        \"required\": [\n                          \"created_at\",\n                          \"size_gigabytes\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"required\": [\n                    \"backups\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `database_backups`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Backups for a Database Cluster\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/backups\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    backups, _, err := client.Databases.ListBackups(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", nil)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/ca\": {\n      \"get\": {\n        \"description\": \"To retrieve the public certificate used to secure the connection to the database cluster send a GET request to\\n`/v2/databases/$DATABASE_ID/ca`.\\n\\nThe response will be a JSON object with a `ca` key. This will be set to an object\\ncontaining the base64 encoding of the public key certificate.\\n\",\n        \"operationId\": \"databases_get_ca\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"ca\": {\n                    \"certificate\": \"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVRUZZWTdBWFZQS0Raam9jb1lpMk00Y0dvcU0wd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZOek0zT1RaaE1XRXRaamhrTUMwME9HSmpMV0V4Wm1NdFpqbGhNVFZsWXprdwpORGhsSUZCeWIycGxZM1FnUTBFd0hoY05NakF3TnpFM01UVTFNREEyV2hjTk16QXdOekUxTVRVMU1EQTJXakE2Ck1UZ3dOZ1lEVlFRRERDODNNemM1Tm1FeFlTMW1PR1F3TFRRNFltTXRZVEZtWXkxbU9XRXhOV1ZqT1RBME9HVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTVdScXhycwpMZnpNdHZyUmxKVEw4MldYMVBLZkhKbitvYjNYcmVBY3FZd1dBUUp2Q3IycmhxSXZieVZzMGlaU0NzOHI4c3RGClljQ0R1bkxJNmUwTy9laERZYTBIT2RrMkFFRzE1ckVOVmNha2NSczcyQWlHVHNrdkNXS2VkUjFTUWswVWt0WCsKQUg4S1ExS3F5bzNtZ2Y2cVV1WUpzc3JNTXFselk3YTN1RVpEb2ZqTjN5Q3MvM21pTVJKcVcyNm1JV0IrUUlEbAo5YzdLRVF5MTZvdCtjeHVnd0lLMm9oZHMzaFY1bjBKMFVBM0I3QWRBdXY5aUl5L3JHaHlTNm5CNTdaWm9JZnAyCnFybXdOY0UrVjlIdXhQSGtRVjFOQjUwOFFudWZ4Z0E5VCtqU2VrdGVUbWFORkxqNjFXL3BtcndrTytOaWFXUTIKaGgzVXBKOEozY1BoNkErbHRnUmpSV2NEb2lsYVNwRVVpU09WemNNYVFvalZKYVJlNk9NbnZYc29NaSs3ZzdneApWcittQ0lUcGcvck9DaXpBWWQ2UFAxLzdYTjk1ZXNmU2tBQnM5c3hJakpjTUFqbDBYTEFzRmtGZVdyeHNIajlVCmJnaDNWYXdtcnpUeXhZT0RQcXV1cS9JcGlwc0RRT3Fpb2ZsUStkWEJJL3NUT0NNbVp6K0pNcG5HYXdJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVSekdDRlE3WEtUdHRDN3JzNS8ydFlQcExTZGN3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSWFKQ0dSVVNxUExtcmcvCmk3MW10b0NHUDdzeG1BVXVCek1oOEdrU25uaVdaZnZGMTRwSUtqTlkwbzVkWmpHKzZqK1VjalZtK0RIdGE1RjYKOWJPeEk5S0NFeEI1blBjRXpMWjNZYitNOTcrellxbm9zUm85S21DVFJBb2JrNTZ0WU1FS1h1aVJja2tkMm1yUQo4cGw2N2xxdThjM1V4c0dHZEZVT01wMkk3ZTNpdUdWVm5UR0ZWM3JQZUdaQ0J3WGVyUUQyY0F4UjkzS3BnWVZ2ClhUUzk5dnpSbm1HOHhhUm9EVy9FbEdXZ2xWd0Q5a1JrbXhUUkdoYTdDWVZCcjFQVWY2dVVFVjhmVFIxc1hFZnIKLytMR1JoSVVsSUhWT3l2Yzk3YnZYQURPbWF1MWZDVE5lWGtRdTNyZnZFSlBmaFlLeVIwT0V3eWVvdlhRNzl0LwpTV2ZGTjBreU1Pc1UrNVNIdHJKSEh1eWNWcU0yQlVVK083VjM1UnNwOU9MZGRZMFFVbTZldFpEVEhhSUhYYzRRCnl1Rm1OL1NhSFZtNE0wL3BTVlJQdVd6TmpxMnZyRllvSDRtbGhIZk95TUNJMjc2elE2aWhGNkdDSHlkOUJqajcKUm1UWGEyNHM3NWhmSi9YTDV2bnJSdEtpVHJlVHF6V21EOVhnUmNMQ0gyS1hJaVRtSWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==\"\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"ca\": {\n                      \"properties\": {\n                        \"certificate\": {\n                          \"description\": \"base64 encoding of the certificate used to secure database connections\",\n                          \"example\": \"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVRUZZWTdBWFZQS0Raam9jb1lpMk00Y0dvcU0wd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZOek0zT1RaaE1XRXRaamhrTUMwME9HSmpMV0V4Wm1NdFpqbGhNVFZsWXprdwpORGhsSUZCeWIycGxZM1FnUTBFd0hoY05NakF3TnpFM01UVTFNREEyV2hjTk16QXdOekUxTVRVMU1EQTJXakE2Ck1UZ3dOZ1lEVlFRRERDODNNemM1Tm1FeFlTMW1PR1F3TFRRNFltTXRZVEZtWXkxbU9XRXhOV1ZqT1RBME9HVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTVdScXhycwpMZnpNdHZyUmxKVEw4MldYMVBLZkhKbitvYjNYcmVBY3FZd1dBUUp2Q3IycmhxSXZieVZzMGlaU0NzOHI4c3RGClljQ0R1bkxJNmUwTy9laERZYTBIT2RrMkFFRzE1ckVOVmNha2NSczcyQWlHVHNrdkNXS2VkUjFTUWswVWt0WCsKQUg4S1ExS3F5bzNtZ2Y2cVV1WUpzc3JNTXFselk3YTN1RVpEb2ZqTjN5Q3MvM21pTVJKcVcyNm1JV0IrUUlEbAo5YzdLRVF5MTZvdCtjeHVnd0lLMm9oZHMzaFY1bjBKMFVBM0I3QWRBdXY5aUl5L3JHaHlTNm5CNTdaWm9JZnAyCnFybXdOY0UrVjlIdXhQSGtRVjFOQjUwOFFudWZ4Z0E5VCtqU2VrdGVUbWFORkxqNjFXL3BtcndrTytOaWFXUTIKaGgzVXBKOEozY1BoNkErbHRnUmpSV2NEb2lsYVNwRVVpU09WemNNYVFvalZKYVJlNk9NbnZYc29NaSs3ZzdneApWcittQ0lUcGcvck9DaXpBWWQ2UFAxLzdYTjk1ZXNmU2tBQnM5c3hJakpjTUFqbDBYTEFzRmtGZVdyeHNIajlVCmJnaDNWYXdtcnpUeXhZT0RQcXV1cS9JcGlwc0RRT3Fpb2ZsUStkWEJJL3NUT0NNbVp6K0pNcG5HYXdJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVSekdDRlE3WEtUdHRDN3JzNS8ydFlQcExTZGN3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSWFKQ0dSVVNxUExtcmcvCmk3MW10b0NHUDdzeG1BVXVCek1oOEdrU25uaVdaZnZGMTRwSUtqTlkwbzVkWmpHKzZqK1VjalZtK0RIdGE1RjYKOWJPeEk5S0NFeEI1blBjRXpMWjNZYitNOTcrellxbm9zUm85S21DVFJBb2JrNTZ0WU1FS1h1aVJja2tkMm1yUQo4cGw2N2xxdThjM1V4c0dHZEZVT01wMkk3ZTNpdUdWVm5UR0ZWM3JQZUdaQ0J3WGVyUUQyY0F4UjkzS3BnWVZ2ClhUUzk5dnpSbm1HOHhhUm9EVy9FbEdXZ2xWd0Q5a1JrbXhUUkdoYTdDWVZCcjFQVWY2dVVFVjhmVFIxc1hFZnIKLytMR1JoSVVsSUhWT3l2Yzk3YnZYQURPbWF1MWZDVE5lWGtRdTNyZnZFSlBmaFlLeVIwT0V3eWVvdlhRNzl0LwpTV2ZGTjBreU1Pc1UrNVNIdHJKSEh1eWNWcU0yQlVVK083VjM1UnNwOU9MZGRZMFFVbTZldFpEVEhhSUhYYzRRCnl1Rm1OL1NhSFZtNE0wL3BTVlJQdVd6TmpxMnZyRllvSDRtbGhIZk95TUNJMjc2elE2aWhGNkdDSHlkOUJqajcKUm1UWGEyNHM3NWhmSi9YTDV2bnJSdEtpVHJlVHF6V21EOVhnUmNMQ0gyS1hJaVRtSWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"certificate\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"required\": [\n                    \"ca\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `ca`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve the Public Certificate\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/ca\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    ca, _, err := client.Databases.GetCA(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\")\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/config\": {\n      \"get\": {\n        \"description\": \"Shows configuration parameters for an existing database cluster by sending a GET request to\\n`/v2/databases/$DATABASE_ID/config`.\\nThe response is a JSON object with a `config` key, which is set to an object\\ncontaining any database configuration parameters.\\n\",\n        \"operationId\": \"databases_get_config\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"config\": {\n                    \"sql_mode\": \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\",\n                    \"sql_require_primary_key\": true\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"config\": {\n                      \"anyOf\": [\n                        {\n                          \"properties\": {\n                            \"backup_hour\": {\n                              \"description\": \"The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed.\",\n                              \"example\": 3,\n                              \"maximum\": 23,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"backup_minute\": {\n                              \"description\": \"The minute of the backup hour when backup for the service starts. New backup  only starts if previous backup has already completed.\",\n                              \"example\": 30,\n                              \"maximum\": 59,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"binlog_retention_period\": {\n                              \"description\": \"The minimum amount of time, in seconds, to keep binlog entries before deletion.  This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector.\",\n                              \"example\": 600,\n                              \"maximum\": 86400,\n                              \"minimum\": 600,\n                              \"type\": \"number\"\n                            },\n                            \"connect_timeout\": {\n                              \"description\": \"The number of seconds that the mysqld server waits for a connect packet before responding with bad handshake.\",\n                              \"example\": 10,\n                              \"maximum\": 3600,\n                              \"minimum\": 2,\n                              \"type\": \"integer\"\n                            },\n                            \"default_time_zone\": {\n                              \"description\": \"Default server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or 'SYSTEM' to use the MySQL server default.\",\n                              \"example\": \"+03:00\",\n                              \"maxLength\": 100,\n                              \"minLength\": 2,\n                              \"type\": \"string\"\n                            },\n                            \"group_concat_max_len\": {\n                              \"description\": \"The maximum permitted result length, in bytes, for the GROUP_CONCAT() function.\",\n                              \"example\": 1024,\n                              \"maximum\": 18446744073709552000,\n                              \"minimum\": 4,\n                              \"type\": \"integer\"\n                            },\n                            \"information_schema_stats_expiry\": {\n                              \"description\": \"The time, in seconds, before cached statistics expire.\",\n                              \"example\": 86400,\n                              \"maximum\": 31536000,\n                              \"minimum\": 900,\n                              \"type\": \"integer\"\n                            },\n                            \"innodb_ft_min_token_size\": {\n                              \"description\": \"The minimum length of words that an InnoDB FULLTEXT index stores.\",\n                              \"example\": 3,\n                              \"maximum\": 16,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"innodb_ft_server_stopword_table\": {\n                              \"description\": \"The InnoDB FULLTEXT index stopword list for all InnoDB tables.\",\n                              \"example\": \"db_name/table_name\",\n                              \"maxLength\": 1024,\n                              \"pattern\": \"^.+/.+$\",\n                              \"type\": \"string\"\n                            },\n                            \"innodb_lock_wait_timeout\": {\n                              \"description\": \"The time, in seconds, that an InnoDB transaction waits for a row lock. before giving up.\",\n                              \"example\": 50,\n                              \"maximum\": 3600,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"innodb_log_buffer_size\": {\n                              \"description\": \"The size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk.\",\n                              \"example\": 16777216,\n                              \"maximum\": 4294967295,\n                              \"minimum\": 1048576,\n                              \"type\": \"integer\"\n                            },\n                            \"innodb_online_alter_log_max_size\": {\n                              \"description\": \"The upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables.\",\n                              \"example\": 134217728,\n                              \"maximum\": 1099511627776,\n                              \"minimum\": 65536,\n                              \"type\": \"integer\"\n                            },\n                            \"innodb_print_all_deadlocks\": {\n                              \"description\": \"When enabled, records information about all deadlocks in InnoDB user transactions  in the error log. Disabled by default.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"innodb_rollback_on_timeout\": {\n                              \"description\": \"When enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"interactive_timeout\": {\n                              \"description\": \"The time, in seconds, the server waits for activity on an interactive. connection before closing it.\",\n                              \"example\": 3600,\n                              \"maximum\": 604800,\n                              \"minimum\": 30,\n                              \"type\": \"integer\"\n                            },\n                            \"internal_tmp_mem_storage_engine\": {\n                              \"description\": \"The storage engine for in-memory internal temporary tables.\",\n                              \"enum\": [\n                                \"TempTable\",\n                                \"MEMORY\"\n                              ],\n                              \"example\": \"TempTable\",\n                              \"type\": \"string\"\n                            },\n                            \"long_query_time\": {\n                              \"description\": \"The time, in seconds, for a query to take to execute before  being captured by slow_query_logs. Default is 10 seconds.\",\n                              \"example\": 10,\n                              \"maximum\": 3600,\n                              \"minimum\": 0,\n                              \"type\": \"number\"\n                            },\n                            \"max_allowed_packet\": {\n                              \"description\": \"The size of the largest message, in bytes, that can be received by the server. Default is 67108864 (64M).\",\n                              \"example\": 67108864,\n                              \"maximum\": 1073741824,\n                              \"minimum\": 102400,\n                              \"type\": \"integer\"\n                            },\n                            \"max_heap_table_size\": {\n                              \"description\": \"The maximum size, in bytes, of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M)\",\n                              \"example\": 16777216,\n                              \"maximum\": 1073741824,\n                              \"minimum\": 1048576,\n                              \"type\": \"integer\"\n                            },\n                            \"net_read_timeout\": {\n                              \"description\": \"The time, in seconds, to wait for more data from an existing connection. aborting the read.\",\n                              \"example\": 30,\n                              \"maximum\": 3600,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"net_write_timeout\": {\n                              \"description\": \"The number of seconds to wait for a block to be written to a connection before aborting the write.\",\n                              \"example\": 30,\n                              \"maximum\": 3600,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"slow_query_log\": {\n                              \"description\": \"When enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"sort_buffer_size\": {\n                              \"description\": \"The sort buffer size, in bytes, for ORDER BY optimization. Default is 262144. (256K).\",\n                              \"example\": 262144,\n                              \"maximum\": 1073741824,\n                              \"minimum\": 32768,\n                              \"type\": \"integer\"\n                            },\n                            \"sql_mode\": {\n                              \"description\": \"Global SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas.\",\n                              \"example\": \"ANSI,TRADITIONAL\",\n                              \"maxLength\": 1024,\n                              \"pattern\": \"^[A-Z_]*(,[A-Z_]+)*$\",\n                              \"type\": \"string\"\n                            },\n                            \"sql_require_primary_key\": {\n                              \"description\": \"Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"tmp_table_size\": {\n                              \"description\": \"The maximum size, in bytes, of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M).\",\n                              \"example\": 16777216,\n                              \"maximum\": 1073741824,\n                              \"minimum\": 1048576,\n                              \"type\": \"integer\"\n                            },\n                            \"wait_timeout\": {\n                              \"description\": \"The number of seconds the server waits for activity on a noninteractive connection before closing it.\",\n                              \"example\": 28800,\n                              \"maximum\": 2147483,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"autovacuum_analyze_scale_factor\": {\n                              \"description\": \"Specifies a fraction, in a decimal value, of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size).\",\n                              \"example\": 0.2,\n                              \"maximum\": 1,\n                              \"minimum\": 0,\n                              \"type\": \"number\"\n                            },\n                            \"autovacuum_analyze_threshold\": {\n                              \"description\": \"Specifies the minimum number of inserted, updated, or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples.\",\n                              \"example\": 50,\n                              \"maximum\": 2147483647,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"autovacuum_freeze_max_age\": {\n                              \"description\": \"Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted.\",\n                              \"example\": 200000000,\n                              \"maximum\": 1500000000,\n                              \"minimum\": 200000000,\n                              \"type\": \"integer\"\n                            },\n                            \"autovacuum_max_workers\": {\n                              \"description\": \"Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start.\",\n                              \"example\": 5,\n                              \"maximum\": 20,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"autovacuum_naptime\": {\n                              \"description\": \"Specifies the minimum delay, in seconds, between autovacuum runs on any given database. The default is one minute.\",\n                              \"example\": 43200,\n                              \"maximum\": 86400,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"autovacuum_vacuum_cost_delay\": {\n                              \"description\": \"Specifies the cost delay value, in milliseconds, that will be used in automatic VACUUM operations. If -1, uses the regular vacuum_cost_delay value, which is 20 milliseconds.\",\n                              \"example\": 20,\n                              \"maximum\": 100,\n                              \"minimum\": -1,\n                              \"type\": \"integer\"\n                            },\n                            \"autovacuum_vacuum_cost_limit\": {\n                              \"description\": \"Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used.\",\n                              \"example\": -1,\n                              \"maximum\": 10000,\n                              \"minimum\": -1,\n                              \"type\": \"integer\"\n                            },\n                            \"autovacuum_vacuum_scale_factor\": {\n                              \"description\": \"Specifies a fraction, in a decimal value, of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size).\",\n                              \"example\": 0.2,\n                              \"maximum\": 1,\n                              \"minimum\": 0,\n                              \"type\": \"number\"\n                            },\n                            \"autovacuum_vacuum_threshold\": {\n                              \"description\": \"Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples.\",\n                              \"example\": 50,\n                              \"maximum\": 2147483647,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"backup_hour\": {\n                              \"description\": \"The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed.\",\n                              \"example\": 3,\n                              \"maximum\": 23,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"backup_minute\": {\n                              \"description\": \"The minute of the backup hour when backup for the service starts. New backup is only started if previous backup has already completed.\",\n                              \"example\": 30,\n                              \"maximum\": 59,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"bgwriter_delay\": {\n                              \"description\": \"Specifies the delay, in milliseconds, between activity rounds for the background writer. Default is 200 ms.\",\n                              \"example\": 200,\n                              \"maximum\": 10000,\n                              \"minimum\": 10,\n                              \"type\": \"integer\"\n                            },\n                            \"bgwriter_flush_after\": {\n                              \"description\": \"The amount of kilobytes that need to be written by the background writer before attempting to force the OS to issue these writes to underlying storage. Specified in kilobytes, default is 512.  Setting of 0 disables forced writeback.\",\n                              \"example\": 512,\n                              \"maximum\": 2048,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"bgwriter_lru_maxpages\": {\n                              \"description\": \"The maximum number of buffers that the background writer can write. Setting this to zero disables background writing. Default is 100.\",\n                              \"example\": 100,\n                              \"maximum\": 1073741823,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"bgwriter_lru_multiplier\": {\n                              \"description\": \"The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0.\",\n                              \"example\": 2,\n                              \"maximum\": 10,\n                              \"minimum\": 0,\n                              \"type\": \"number\"\n                            },\n                            \"deadlock_timeout\": {\n                              \"description\": \"The amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition.\",\n                              \"example\": 1000,\n                              \"maximum\": 1800000,\n                              \"minimum\": 500,\n                              \"type\": \"integer\"\n                            },\n                            \"default_toast_compression\": {\n                              \"description\": \"Specifies the default TOAST compression method for values of compressible columns (the default is lz4).\",\n                              \"enum\": [\n                                \"lz4\",\n                                \"pglz\"\n                              ],\n                              \"example\": \"lz4\",\n                              \"type\": \"string\"\n                            },\n                            \"idle_in_transaction_session_timeout\": {\n                              \"description\": \"Time out sessions with open transactions after this number of milliseconds\",\n                              \"example\": 10000,\n                              \"maximum\": 604800000,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"jit\": {\n                              \"description\": \"Activates, in a boolean, the system-wide use of Just-in-Time Compilation (JIT).\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"log_autovacuum_min_duration\": {\n                              \"description\": \"Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions.\",\n                              \"example\": -1,\n                              \"maximum\": 2147483647,\n                              \"minimum\": -1,\n                              \"type\": \"integer\"\n                            },\n                            \"log_error_verbosity\": {\n                              \"description\": \"Controls the amount of detail written in the server log for each message that is logged.\",\n                              \"enum\": [\n                                \"TERSE\",\n                                \"DEFAULT\",\n                                \"VERBOSE\"\n                              ],\n                              \"example\": \"VERBOSE\",\n                              \"type\": \"string\"\n                            },\n                            \"log_line_prefix\": {\n                              \"description\": \"Selects one of the available log-formats. These can support popular log analyzers like pgbadger, pganalyze, etc.\",\n                              \"enum\": [\n                                \"pid=%p,user=%u,db=%d,app=%a,client=%h\",\n                                \"%m [%p] %q[user=%u,db=%d,app=%a]\",\n                                \"%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h\"\n                              ],\n                              \"example\": \"pid=%p,user=%u,db=%d,app=%a,client=%h\",\n                              \"type\": \"string\"\n                            },\n                            \"log_min_duration_statement\": {\n                              \"description\": \"Log statements that take more than this number of milliseconds to run. If -1, disables.\",\n                              \"example\": -1,\n                              \"maximum\": 86400000,\n                              \"minimum\": -1,\n                              \"type\": \"integer\"\n                            },\n                            \"max_files_per_process\": {\n                              \"description\": \"PostgreSQL maximum number of files that can be open per process.\",\n                              \"example\": 2048,\n                              \"maximum\": 4096,\n                              \"minimum\": 1000,\n                              \"type\": \"integer\"\n                            },\n                            \"max_locks_per_transaction\": {\n                              \"description\": \"PostgreSQL maximum locks per transaction. Once increased, this parameter cannot be lowered from its set value.\",\n                              \"example\": 128,\n                              \"maximum\": 6400,\n                              \"minimum\": 64,\n                              \"type\": \"integer\"\n                            },\n                            \"max_logical_replication_workers\": {\n                              \"description\": \"PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers).\",\n                              \"example\": 16,\n                              \"maximum\": 64,\n                              \"minimum\": 4,\n                              \"type\": \"integer\"\n                            },\n                            \"max_parallel_workers\": {\n                              \"description\": \"Sets the maximum number of workers that the system can support for parallel queries.\",\n                              \"example\": 12,\n                              \"maximum\": 96,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"max_parallel_workers_per_gather\": {\n                              \"description\": \"Sets the maximum number of workers that can be started by a single Gather or Gather Merge node.\",\n                              \"example\": 16,\n                              \"maximum\": 96,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"max_pred_locks_per_transaction\": {\n                              \"description\": \"PostgreSQL maximum predicate locks per transaction.\",\n                              \"example\": 128,\n                              \"maximum\": 640,\n                              \"minimum\": 64,\n                              \"type\": \"integer\"\n                            },\n                            \"max_prepared_transactions\": {\n                              \"description\": \"PostgreSQL maximum prepared transactions. Once increased, this parameter cannot be lowered from its set value.\",\n                              \"example\": 20,\n                              \"maximum\": 10000,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"max_replication_slots\": {\n                              \"description\": \"PostgreSQL maximum replication slots.\",\n                              \"example\": 16,\n                              \"maximum\": 64,\n                              \"minimum\": 8,\n                              \"type\": \"integer\"\n                            },\n                            \"max_stack_depth\": {\n                              \"description\": \"Maximum depth of the stack in bytes.\",\n                              \"example\": 2097152,\n                              \"maximum\": 6291456,\n                              \"minimum\": 2097152,\n                              \"type\": \"integer\"\n                            },\n                            \"max_standby_archive_delay\": {\n                              \"description\": \"Max standby archive delay in milliseconds.\",\n                              \"example\": 43200,\n                              \"maximum\": 43200000,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"max_standby_streaming_delay\": {\n                              \"description\": \"Max standby streaming delay in milliseconds.\",\n                              \"example\": 43200,\n                              \"maximum\": 43200000,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"max_wal_senders\": {\n                              \"description\": \"PostgreSQL maximum WAL senders. Once increased, this parameter cannot be lowered from its set value.\",\n                              \"example\": 32,\n                              \"maximum\": 64,\n                              \"minimum\": 20,\n                              \"type\": \"integer\"\n                            },\n                            \"max_worker_processes\": {\n                              \"description\": \"Sets the maximum number of background processes that the system can support. Once increased, this parameter cannot be lowered from its set value.\",\n                              \"example\": 16,\n                              \"maximum\": 96,\n                              \"minimum\": 8,\n                              \"type\": \"integer\"\n                            },\n                            \"pg_partman_bgw.interval\": {\n                              \"description\": \"Sets the time interval to run pg_partman's scheduled tasks.\",\n                              \"example\": 3600,\n                              \"maximum\": 604800,\n                              \"minimum\": 3600,\n                              \"type\": \"integer\"\n                            },\n                            \"pg_partman_bgw.role\": {\n                              \"description\": \"Controls which role to use for pg_partman's scheduled background tasks. Must consist of alpha-numeric characters, dots, underscores, or dashes. May not start with dash or dot. Maximum of 64 characters.\",\n                              \"example\": \"myrolename\",\n                              \"maxLength\": 64,\n                              \"pattern\": \"^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$\",\n                              \"type\": \"string\"\n                            },\n                            \"pg_stat_statements.track\": {\n                              \"description\": \"Controls which statements are counted. Specify 'top' to track top-level statements (those issued directly by clients), 'all' to also track nested statements (such as statements invoked within functions), or 'none' to disable statement statistics collection. The default value is top.\",\n                              \"enum\": [\n                                \"all\",\n                                \"top\",\n                                \"none\"\n                              ],\n                              \"example\": \"all\",\n                              \"type\": \"string\"\n                            },\n                            \"pgbouncer\": {\n                              \"description\": \"PGBouncer connection pooling settings\",\n                              \"properties\": {\n                                \"autodb_idle_timeout\": {\n                                  \"description\": \"If the automatically-created database pools have been unused this many seconds, they are freed. If 0, timeout is disabled.\",\n                                  \"example\": 3600,\n                                  \"maximum\": 86400,\n                                  \"minimum\": 0,\n                                  \"type\": \"integer\"\n                                },\n                                \"autodb_max_db_connections\": {\n                                  \"description\": \"Only allows a maximum this many server connections per database (regardless of user). If 0, allows unlimited connections.\",\n                                  \"example\": 1,\n                                  \"maximum\": 2147483647,\n                                  \"minimum\": 0,\n                                  \"type\": \"integer\"\n                                },\n                                \"autodb_pool_mode\": {\n                                  \"description\": \"PGBouncer pool mode\",\n                                  \"enum\": [\n                                    \"session\",\n                                    \"transaction\",\n                                    \"statement\"\n                                  ],\n                                  \"example\": \"session\",\n                                  \"type\": \"string\"\n                                },\n                                \"autodb_pool_size\": {\n                                  \"description\": \"If non-zero, automatically creates a pool of that size per user when a pool doesn't exist.\",\n                                  \"example\": 1,\n                                  \"maximum\": 10000,\n                                  \"minimum\": 0,\n                                  \"type\": \"integer\"\n                                },\n                                \"ignore_startup_parameters\": {\n                                  \"description\": \"List of parameters to ignore when given in startup packet.\",\n                                  \"example\": [\n                                    \"extra_float_digits\",\n                                    \"search_path\"\n                                  ],\n                                  \"items\": {\n                                    \"description\": \"Enum of parameters to ignore when given in startup packet.\",\n                                    \"enum\": [\n                                      \"extra_float_digits\",\n                                      \"search_path\"\n                                    ],\n                                    \"type\": \"string\"\n                                  },\n                                  \"maxItems\": 32,\n                                  \"type\": \"array\"\n                                },\n                                \"min_pool_size\": {\n                                  \"description\": \"If current server connections are below this number, adds more. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size.\",\n                                  \"example\": 1,\n                                  \"maximum\": 10000,\n                                  \"minimum\": 0,\n                                  \"type\": \"integer\"\n                                },\n                                \"server_idle_timeout\": {\n                                  \"description\": \"Drops server connections if they have been idle more than this many seconds.  If 0, timeout is disabled. \",\n                                  \"example\": 600,\n                                  \"maximum\": 86400,\n                                  \"minimum\": 0,\n                                  \"type\": \"integer\"\n                                },\n                                \"server_lifetime\": {\n                                  \"description\": \"The pooler closes any unused server connection that has been connected longer than this amount of seconds.\",\n                                  \"example\": 3600,\n                                  \"maximum\": 86400,\n                                  \"minimum\": 60,\n                                  \"type\": \"integer\"\n                                },\n                                \"server_reset_query_always\": {\n                                  \"description\": \"Run server_reset_query (DISCARD ALL) in all pooling modes.\",\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"shared_buffers_percentage\": {\n                              \"description\": \"Percentage of total RAM that the database server uses for shared memory buffers.  Valid range is 20-60 (float), which corresponds to 20% - 60%.  This setting adjusts the shared_buffers configuration value.\",\n                              \"example\": 41.5,\n                              \"maximum\": 60,\n                              \"minimum\": 20,\n                              \"type\": \"number\"\n                            },\n                            \"stat_monitor_enable\": {\n                              \"description\": \"Enable the pg_stat_monitor extension. <b>Enabling this extension will cause the cluster to be restarted.</b> When this extension is enabled, pg_stat_statements results for utility commands are unreliable.\",\n                              \"example\": false,\n                              \"type\": \"boolean\"\n                            },\n                            \"synchronous_replication\": {\n                              \"description\": \"Synchronous replication type. Note that the service plan also needs to support synchronous replication.\",\n                              \"enum\": [\n                                \"off\",\n                                \"quorum\"\n                              ],\n                              \"example\": \"off\",\n                              \"type\": \"string\"\n                            },\n                            \"temp_file_limit\": {\n                              \"description\": \"PostgreSQL temporary file limit in KiB. If -1, sets to unlimited.\",\n                              \"example\": 5000000,\n                              \"maximum\": 2147483647,\n                              \"minimum\": -1,\n                              \"type\": \"integer\"\n                            },\n                            \"timescaledb\": {\n                              \"description\": \"TimescaleDB extension configuration values\",\n                              \"properties\": {\n                                \"max_background_workers\": {\n                                  \"description\": \"The number of background workers for timescaledb operations.  Set to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time.\",\n                                  \"example\": 8,\n                                  \"maximum\": 4096,\n                                  \"minimum\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"timezone\": {\n                              \"description\": \"PostgreSQL service timezone\",\n                              \"example\": \"Europe/Helsinki\",\n                              \"maxLength\": 64,\n                              \"type\": \"string\"\n                            },\n                            \"track_activity_query_size\": {\n                              \"description\": \"Specifies the number of bytes reserved to track the currently executing command for each active session.\",\n                              \"example\": 1024,\n                              \"maximum\": 10240,\n                              \"minimum\": 1024,\n                              \"type\": \"integer\"\n                            },\n                            \"track_commit_timestamp\": {\n                              \"description\": \"Record commit time of transactions.\",\n                              \"enum\": [\n                                \"off\",\n                                \"on\"\n                              ],\n                              \"example\": \"off\",\n                              \"type\": \"string\"\n                            },\n                            \"track_functions\": {\n                              \"description\": \"Enables tracking of function call counts and time used.\",\n                              \"enum\": [\n                                \"all\",\n                                \"pl\",\n                                \"none\"\n                              ],\n                              \"example\": \"all\",\n                              \"type\": \"string\"\n                            },\n                            \"track_io_timing\": {\n                              \"description\": \"Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.\",\n                              \"enum\": [\n                                \"off\",\n                                \"on\"\n                              ],\n                              \"example\": \"off\",\n                              \"type\": \"string\"\n                            },\n                            \"wal_sender_timeout\": {\n                              \"description\": \"Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Must be either 0 or between 5000 and 10800000.\",\n                              \"example\": 60000,\n                              \"maximum\": 10800000,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"wal_writer_delay\": {\n                              \"description\": \"WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance\",\n                              \"example\": 50,\n                              \"maximum\": 200,\n                              \"minimum\": 10,\n                              \"type\": \"integer\"\n                            },\n                            \"work_mem\": {\n                              \"description\": \"The maximum amount of memory, in MB, used by a query operation (such as a sort or hash table) before writing to temporary disk files. Default is 1MB + 0.075% of total RAM (up to 32MB).\",\n                              \"example\": 4,\n                              \"maximum\": 1024,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"redis_acl_channels_default\": {\n                              \"description\": \"Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default.\",\n                              \"enum\": [\n                                \"allchannels\",\n                                \"resetchannels\"\n                              ],\n                              \"example\": \"allchannels\",\n                              \"type\": \"string\"\n                            },\n                            \"redis_io_threads\": {\n                              \"description\": \"Redis IO thread count\",\n                              \"example\": 1,\n                              \"maximum\": 32,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"redis_lfu_decay_time\": {\n                              \"default\": 1,\n                              \"description\": \"LFU maxmemory-policy counter decay time in minutes\",\n                              \"example\": 1,\n                              \"maximum\": 120,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"redis_lfu_log_factor\": {\n                              \"default\": 10,\n                              \"description\": \"Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies\",\n                              \"example\": 10,\n                              \"maximum\": 100,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            },\n                            \"redis_maxmemory_policy\": {\n                              \"description\": \"A string specifying the desired eviction policy for the Redis cluster.\\n\\n- `noeviction`: Don't evict any data, returns error when memory limit is reached.\\n- `allkeys_lru:` Evict any key, least recently used (LRU) first.\\n- `allkeys_random`: Evict keys in a random order.\\n- `volatile_lru`: Evict keys with expiration only, least recently used (LRU) first.\\n- `volatile_random`: Evict keys with expiration only in a random order.\\n- `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first.\",\n                              \"enum\": [\n                                \"noeviction\",\n                                \"allkeys_lru\",\n                                \"allkeys_random\",\n                                \"volatile_lru\",\n                                \"volatile_random\",\n                                \"volatile_ttl\"\n                              ],\n                              \"example\": \"allkeys_lru\",\n                              \"type\": \"string\"\n                            },\n                            \"redis_notify_keyspace_events\": {\n                              \"default\": \"\",\n                              \"description\": \"Set notify-keyspace-events option\",\n                              \"example\": \"K\",\n                              \"maxLength\": 32,\n                              \"pattern\": \"^[KEg\\\\$lshzxeA]*$\",\n                              \"type\": \"string\"\n                            },\n                            \"redis_number_of_databases\": {\n                              \"description\": \"Set number of redis databases. Changing this will cause a restart of redis service.\",\n                              \"example\": 16,\n                              \"maximum\": 128,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"redis_persistence\": {\n                              \"description\": \"When persistence is 'rdb', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.\",\n                              \"enum\": [\n                                \"off\",\n                                \"rdb\"\n                              ],\n                              \"example\": \"rdb\",\n                              \"type\": \"string\"\n                            },\n                            \"redis_pubsub_client_output_buffer_limit\": {\n                              \"description\": \"Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.\",\n                              \"example\": 64,\n                              \"maximum\": 512,\n                              \"minimum\": 32,\n                              \"type\": \"integer\"\n                            },\n                            \"redis_ssl\": {\n                              \"default\": true,\n                              \"description\": \"Require SSL to access Redis\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"redis_timeout\": {\n                              \"default\": 300,\n                              \"description\": \"Redis idle connection timeout in seconds\",\n                              \"example\": 300,\n                              \"maximum\": 31536000,\n                              \"minimum\": 0,\n                              \"type\": \"integer\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  },\n                  \"required\": [\n                    \"config\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `config`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Database Cluster Configuration\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/config\\\"\"\n          }\n        ]\n      },\n      \"patch\": {\n        \"description\": \"To update the configuration for an existing database cluster, send a PATCH request to\\n`/v2/databases/$DATABASE_ID/config`.\\n\",\n        \"operationId\": \"databases_patch_config\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"config\": {\n                  \"sql_mode\": \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\",\n                  \"sql_require_primary_key\": true\n                }\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"config\": {\n                    \"anyOf\": [\n                      {\n                        \"properties\": {\n                          \"backup_hour\": {\n                            \"description\": \"The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed.\",\n                            \"example\": 3,\n                            \"maximum\": 23,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"backup_minute\": {\n                            \"description\": \"The minute of the backup hour when backup for the service starts. New backup  only starts if previous backup has already completed.\",\n                            \"example\": 30,\n                            \"maximum\": 59,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"binlog_retention_period\": {\n                            \"description\": \"The minimum amount of time, in seconds, to keep binlog entries before deletion.  This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector.\",\n                            \"example\": 600,\n                            \"maximum\": 86400,\n                            \"minimum\": 600,\n                            \"type\": \"number\"\n                          },\n                          \"connect_timeout\": {\n                            \"description\": \"The number of seconds that the mysqld server waits for a connect packet before responding with bad handshake.\",\n                            \"example\": 10,\n                            \"maximum\": 3600,\n                            \"minimum\": 2,\n                            \"type\": \"integer\"\n                          },\n                          \"default_time_zone\": {\n                            \"description\": \"Default server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or 'SYSTEM' to use the MySQL server default.\",\n                            \"example\": \"+03:00\",\n                            \"maxLength\": 100,\n                            \"minLength\": 2,\n                            \"type\": \"string\"\n                          },\n                          \"group_concat_max_len\": {\n                            \"description\": \"The maximum permitted result length, in bytes, for the GROUP_CONCAT() function.\",\n                            \"example\": 1024,\n                            \"maximum\": 18446744073709552000,\n                            \"minimum\": 4,\n                            \"type\": \"integer\"\n                          },\n                          \"information_schema_stats_expiry\": {\n                            \"description\": \"The time, in seconds, before cached statistics expire.\",\n                            \"example\": 86400,\n                            \"maximum\": 31536000,\n                            \"minimum\": 900,\n                            \"type\": \"integer\"\n                          },\n                          \"innodb_ft_min_token_size\": {\n                            \"description\": \"The minimum length of words that an InnoDB FULLTEXT index stores.\",\n                            \"example\": 3,\n                            \"maximum\": 16,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"innodb_ft_server_stopword_table\": {\n                            \"description\": \"The InnoDB FULLTEXT index stopword list for all InnoDB tables.\",\n                            \"example\": \"db_name/table_name\",\n                            \"maxLength\": 1024,\n                            \"pattern\": \"^.+/.+$\",\n                            \"type\": \"string\"\n                          },\n                          \"innodb_lock_wait_timeout\": {\n                            \"description\": \"The time, in seconds, that an InnoDB transaction waits for a row lock. before giving up.\",\n                            \"example\": 50,\n                            \"maximum\": 3600,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"innodb_log_buffer_size\": {\n                            \"description\": \"The size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk.\",\n                            \"example\": 16777216,\n                            \"maximum\": 4294967295,\n                            \"minimum\": 1048576,\n                            \"type\": \"integer\"\n                          },\n                          \"innodb_online_alter_log_max_size\": {\n                            \"description\": \"The upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables.\",\n                            \"example\": 134217728,\n                            \"maximum\": 1099511627776,\n                            \"minimum\": 65536,\n                            \"type\": \"integer\"\n                          },\n                          \"innodb_print_all_deadlocks\": {\n                            \"description\": \"When enabled, records information about all deadlocks in InnoDB user transactions  in the error log. Disabled by default.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"innodb_rollback_on_timeout\": {\n                            \"description\": \"When enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"interactive_timeout\": {\n                            \"description\": \"The time, in seconds, the server waits for activity on an interactive. connection before closing it.\",\n                            \"example\": 3600,\n                            \"maximum\": 604800,\n                            \"minimum\": 30,\n                            \"type\": \"integer\"\n                          },\n                          \"internal_tmp_mem_storage_engine\": {\n                            \"description\": \"The storage engine for in-memory internal temporary tables.\",\n                            \"enum\": [\n                              \"TempTable\",\n                              \"MEMORY\"\n                            ],\n                            \"example\": \"TempTable\",\n                            \"type\": \"string\"\n                          },\n                          \"long_query_time\": {\n                            \"description\": \"The time, in seconds, for a query to take to execute before  being captured by slow_query_logs. Default is 10 seconds.\",\n                            \"example\": 10,\n                            \"maximum\": 3600,\n                            \"minimum\": 0,\n                            \"type\": \"number\"\n                          },\n                          \"max_allowed_packet\": {\n                            \"description\": \"The size of the largest message, in bytes, that can be received by the server. Default is 67108864 (64M).\",\n                            \"example\": 67108864,\n                            \"maximum\": 1073741824,\n                            \"minimum\": 102400,\n                            \"type\": \"integer\"\n                          },\n                          \"max_heap_table_size\": {\n                            \"description\": \"The maximum size, in bytes, of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M)\",\n                            \"example\": 16777216,\n                            \"maximum\": 1073741824,\n                            \"minimum\": 1048576,\n                            \"type\": \"integer\"\n                          },\n                          \"net_read_timeout\": {\n                            \"description\": \"The time, in seconds, to wait for more data from an existing connection. aborting the read.\",\n                            \"example\": 30,\n                            \"maximum\": 3600,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"net_write_timeout\": {\n                            \"description\": \"The number of seconds to wait for a block to be written to a connection before aborting the write.\",\n                            \"example\": 30,\n                            \"maximum\": 3600,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"slow_query_log\": {\n                            \"description\": \"When enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"sort_buffer_size\": {\n                            \"description\": \"The sort buffer size, in bytes, for ORDER BY optimization. Default is 262144. (256K).\",\n                            \"example\": 262144,\n                            \"maximum\": 1073741824,\n                            \"minimum\": 32768,\n                            \"type\": \"integer\"\n                          },\n                          \"sql_mode\": {\n                            \"description\": \"Global SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas.\",\n                            \"example\": \"ANSI,TRADITIONAL\",\n                            \"maxLength\": 1024,\n                            \"pattern\": \"^[A-Z_]*(,[A-Z_]+)*$\",\n                            \"type\": \"string\"\n                          },\n                          \"sql_require_primary_key\": {\n                            \"description\": \"Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"tmp_table_size\": {\n                            \"description\": \"The maximum size, in bytes, of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M).\",\n                            \"example\": 16777216,\n                            \"maximum\": 1073741824,\n                            \"minimum\": 1048576,\n                            \"type\": \"integer\"\n                          },\n                          \"wait_timeout\": {\n                            \"description\": \"The number of seconds the server waits for activity on a noninteractive connection before closing it.\",\n                            \"example\": 28800,\n                            \"maximum\": 2147483,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"autovacuum_analyze_scale_factor\": {\n                            \"description\": \"Specifies a fraction, in a decimal value, of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size).\",\n                            \"example\": 0.2,\n                            \"maximum\": 1,\n                            \"minimum\": 0,\n                            \"type\": \"number\"\n                          },\n                          \"autovacuum_analyze_threshold\": {\n                            \"description\": \"Specifies the minimum number of inserted, updated, or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples.\",\n                            \"example\": 50,\n                            \"maximum\": 2147483647,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"autovacuum_freeze_max_age\": {\n                            \"description\": \"Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted.\",\n                            \"example\": 200000000,\n                            \"maximum\": 1500000000,\n                            \"minimum\": 200000000,\n                            \"type\": \"integer\"\n                          },\n                          \"autovacuum_max_workers\": {\n                            \"description\": \"Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start.\",\n                            \"example\": 5,\n                            \"maximum\": 20,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"autovacuum_naptime\": {\n                            \"description\": \"Specifies the minimum delay, in seconds, between autovacuum runs on any given database. The default is one minute.\",\n                            \"example\": 43200,\n                            \"maximum\": 86400,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"autovacuum_vacuum_cost_delay\": {\n                            \"description\": \"Specifies the cost delay value, in milliseconds, that will be used in automatic VACUUM operations. If -1, uses the regular vacuum_cost_delay value, which is 20 milliseconds.\",\n                            \"example\": 20,\n                            \"maximum\": 100,\n                            \"minimum\": -1,\n                            \"type\": \"integer\"\n                          },\n                          \"autovacuum_vacuum_cost_limit\": {\n                            \"description\": \"Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used.\",\n                            \"example\": -1,\n                            \"maximum\": 10000,\n                            \"minimum\": -1,\n                            \"type\": \"integer\"\n                          },\n                          \"autovacuum_vacuum_scale_factor\": {\n                            \"description\": \"Specifies a fraction, in a decimal value, of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size).\",\n                            \"example\": 0.2,\n                            \"maximum\": 1,\n                            \"minimum\": 0,\n                            \"type\": \"number\"\n                          },\n                          \"autovacuum_vacuum_threshold\": {\n                            \"description\": \"Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples.\",\n                            \"example\": 50,\n                            \"maximum\": 2147483647,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"backup_hour\": {\n                            \"description\": \"The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed.\",\n                            \"example\": 3,\n                            \"maximum\": 23,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"backup_minute\": {\n                            \"description\": \"The minute of the backup hour when backup for the service starts. New backup is only started if previous backup has already completed.\",\n                            \"example\": 30,\n                            \"maximum\": 59,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"bgwriter_delay\": {\n                            \"description\": \"Specifies the delay, in milliseconds, between activity rounds for the background writer. Default is 200 ms.\",\n                            \"example\": 200,\n                            \"maximum\": 10000,\n                            \"minimum\": 10,\n                            \"type\": \"integer\"\n                          },\n                          \"bgwriter_flush_after\": {\n                            \"description\": \"The amount of kilobytes that need to be written by the background writer before attempting to force the OS to issue these writes to underlying storage. Specified in kilobytes, default is 512.  Setting of 0 disables forced writeback.\",\n                            \"example\": 512,\n                            \"maximum\": 2048,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"bgwriter_lru_maxpages\": {\n                            \"description\": \"The maximum number of buffers that the background writer can write. Setting this to zero disables background writing. Default is 100.\",\n                            \"example\": 100,\n                            \"maximum\": 1073741823,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"bgwriter_lru_multiplier\": {\n                            \"description\": \"The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0.\",\n                            \"example\": 2,\n                            \"maximum\": 10,\n                            \"minimum\": 0,\n                            \"type\": \"number\"\n                          },\n                          \"deadlock_timeout\": {\n                            \"description\": \"The amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition.\",\n                            \"example\": 1000,\n                            \"maximum\": 1800000,\n                            \"minimum\": 500,\n                            \"type\": \"integer\"\n                          },\n                          \"default_toast_compression\": {\n                            \"description\": \"Specifies the default TOAST compression method for values of compressible columns (the default is lz4).\",\n                            \"enum\": [\n                              \"lz4\",\n                              \"pglz\"\n                            ],\n                            \"example\": \"lz4\",\n                            \"type\": \"string\"\n                          },\n                          \"idle_in_transaction_session_timeout\": {\n                            \"description\": \"Time out sessions with open transactions after this number of milliseconds\",\n                            \"example\": 10000,\n                            \"maximum\": 604800000,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"jit\": {\n                            \"description\": \"Activates, in a boolean, the system-wide use of Just-in-Time Compilation (JIT).\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"log_autovacuum_min_duration\": {\n                            \"description\": \"Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions.\",\n                            \"example\": -1,\n                            \"maximum\": 2147483647,\n                            \"minimum\": -1,\n                            \"type\": \"integer\"\n                          },\n                          \"log_error_verbosity\": {\n                            \"description\": \"Controls the amount of detail written in the server log for each message that is logged.\",\n                            \"enum\": [\n                              \"TERSE\",\n                              \"DEFAULT\",\n                              \"VERBOSE\"\n                            ],\n                            \"example\": \"VERBOSE\",\n                            \"type\": \"string\"\n                          },\n                          \"log_line_prefix\": {\n                            \"description\": \"Selects one of the available log-formats. These can support popular log analyzers like pgbadger, pganalyze, etc.\",\n                            \"enum\": [\n                              \"pid=%p,user=%u,db=%d,app=%a,client=%h\",\n                              \"%m [%p] %q[user=%u,db=%d,app=%a]\",\n                              \"%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h\"\n                            ],\n                            \"example\": \"pid=%p,user=%u,db=%d,app=%a,client=%h\",\n                            \"type\": \"string\"\n                          },\n                          \"log_min_duration_statement\": {\n                            \"description\": \"Log statements that take more than this number of milliseconds to run. If -1, disables.\",\n                            \"example\": -1,\n                            \"maximum\": 86400000,\n                            \"minimum\": -1,\n                            \"type\": \"integer\"\n                          },\n                          \"max_files_per_process\": {\n                            \"description\": \"PostgreSQL maximum number of files that can be open per process.\",\n                            \"example\": 2048,\n                            \"maximum\": 4096,\n                            \"minimum\": 1000,\n                            \"type\": \"integer\"\n                          },\n                          \"max_locks_per_transaction\": {\n                            \"description\": \"PostgreSQL maximum locks per transaction. Once increased, this parameter cannot be lowered from its set value.\",\n                            \"example\": 128,\n                            \"maximum\": 6400,\n                            \"minimum\": 64,\n                            \"type\": \"integer\"\n                          },\n                          \"max_logical_replication_workers\": {\n                            \"description\": \"PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers).\",\n                            \"example\": 16,\n                            \"maximum\": 64,\n                            \"minimum\": 4,\n                            \"type\": \"integer\"\n                          },\n                          \"max_parallel_workers\": {\n                            \"description\": \"Sets the maximum number of workers that the system can support for parallel queries.\",\n                            \"example\": 12,\n                            \"maximum\": 96,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"max_parallel_workers_per_gather\": {\n                            \"description\": \"Sets the maximum number of workers that can be started by a single Gather or Gather Merge node.\",\n                            \"example\": 16,\n                            \"maximum\": 96,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"max_pred_locks_per_transaction\": {\n                            \"description\": \"PostgreSQL maximum predicate locks per transaction.\",\n                            \"example\": 128,\n                            \"maximum\": 640,\n                            \"minimum\": 64,\n                            \"type\": \"integer\"\n                          },\n                          \"max_prepared_transactions\": {\n                            \"description\": \"PostgreSQL maximum prepared transactions. Once increased, this parameter cannot be lowered from its set value.\",\n                            \"example\": 20,\n                            \"maximum\": 10000,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"max_replication_slots\": {\n                            \"description\": \"PostgreSQL maximum replication slots.\",\n                            \"example\": 16,\n                            \"maximum\": 64,\n                            \"minimum\": 8,\n                            \"type\": \"integer\"\n                          },\n                          \"max_stack_depth\": {\n                            \"description\": \"Maximum depth of the stack in bytes.\",\n                            \"example\": 2097152,\n                            \"maximum\": 6291456,\n                            \"minimum\": 2097152,\n                            \"type\": \"integer\"\n                          },\n                          \"max_standby_archive_delay\": {\n                            \"description\": \"Max standby archive delay in milliseconds.\",\n                            \"example\": 43200,\n                            \"maximum\": 43200000,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"max_standby_streaming_delay\": {\n                            \"description\": \"Max standby streaming delay in milliseconds.\",\n                            \"example\": 43200,\n                            \"maximum\": 43200000,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"max_wal_senders\": {\n                            \"description\": \"PostgreSQL maximum WAL senders. Once increased, this parameter cannot be lowered from its set value.\",\n                            \"example\": 32,\n                            \"maximum\": 64,\n                            \"minimum\": 20,\n                            \"type\": \"integer\"\n                          },\n                          \"max_worker_processes\": {\n                            \"description\": \"Sets the maximum number of background processes that the system can support. Once increased, this parameter cannot be lowered from its set value.\",\n                            \"example\": 16,\n                            \"maximum\": 96,\n                            \"minimum\": 8,\n                            \"type\": \"integer\"\n                          },\n                          \"pg_partman_bgw.interval\": {\n                            \"description\": \"Sets the time interval to run pg_partman's scheduled tasks.\",\n                            \"example\": 3600,\n                            \"maximum\": 604800,\n                            \"minimum\": 3600,\n                            \"type\": \"integer\"\n                          },\n                          \"pg_partman_bgw.role\": {\n                            \"description\": \"Controls which role to use for pg_partman's scheduled background tasks. Must consist of alpha-numeric characters, dots, underscores, or dashes. May not start with dash or dot. Maximum of 64 characters.\",\n                            \"example\": \"myrolename\",\n                            \"maxLength\": 64,\n                            \"pattern\": \"^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$\",\n                            \"type\": \"string\"\n                          },\n                          \"pg_stat_statements.track\": {\n                            \"description\": \"Controls which statements are counted. Specify 'top' to track top-level statements (those issued directly by clients), 'all' to also track nested statements (such as statements invoked within functions), or 'none' to disable statement statistics collection. The default value is top.\",\n                            \"enum\": [\n                              \"all\",\n                              \"top\",\n                              \"none\"\n                            ],\n                            \"example\": \"all\",\n                            \"type\": \"string\"\n                          },\n                          \"pgbouncer\": {\n                            \"description\": \"PGBouncer connection pooling settings\",\n                            \"properties\": {\n                              \"autodb_idle_timeout\": {\n                                \"description\": \"If the automatically-created database pools have been unused this many seconds, they are freed. If 0, timeout is disabled.\",\n                                \"example\": 3600,\n                                \"maximum\": 86400,\n                                \"minimum\": 0,\n                                \"type\": \"integer\"\n                              },\n                              \"autodb_max_db_connections\": {\n                                \"description\": \"Only allows a maximum this many server connections per database (regardless of user). If 0, allows unlimited connections.\",\n                                \"example\": 1,\n                                \"maximum\": 2147483647,\n                                \"minimum\": 0,\n                                \"type\": \"integer\"\n                              },\n                              \"autodb_pool_mode\": {\n                                \"description\": \"PGBouncer pool mode\",\n                                \"enum\": [\n                                  \"session\",\n                                  \"transaction\",\n                                  \"statement\"\n                                ],\n                                \"example\": \"session\",\n                                \"type\": \"string\"\n                              },\n                              \"autodb_pool_size\": {\n                                \"description\": \"If non-zero, automatically creates a pool of that size per user when a pool doesn't exist.\",\n                                \"example\": 1,\n                                \"maximum\": 10000,\n                                \"minimum\": 0,\n                                \"type\": \"integer\"\n                              },\n                              \"ignore_startup_parameters\": {\n                                \"description\": \"List of parameters to ignore when given in startup packet.\",\n                                \"example\": [\n                                  \"extra_float_digits\",\n                                  \"search_path\"\n                                ],\n                                \"items\": {\n                                  \"description\": \"Enum of parameters to ignore when given in startup packet.\",\n                                  \"enum\": [\n                                    \"extra_float_digits\",\n                                    \"search_path\"\n                                  ],\n                                  \"type\": \"string\"\n                                },\n                                \"maxItems\": 32,\n                                \"type\": \"array\"\n                              },\n                              \"min_pool_size\": {\n                                \"description\": \"If current server connections are below this number, adds more. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size.\",\n                                \"example\": 1,\n                                \"maximum\": 10000,\n                                \"minimum\": 0,\n                                \"type\": \"integer\"\n                              },\n                              \"server_idle_timeout\": {\n                                \"description\": \"Drops server connections if they have been idle more than this many seconds.  If 0, timeout is disabled. \",\n                                \"example\": 600,\n                                \"maximum\": 86400,\n                                \"minimum\": 0,\n                                \"type\": \"integer\"\n                              },\n                              \"server_lifetime\": {\n                                \"description\": \"The pooler closes any unused server connection that has been connected longer than this amount of seconds.\",\n                                \"example\": 3600,\n                                \"maximum\": 86400,\n                                \"minimum\": 60,\n                                \"type\": \"integer\"\n                              },\n                              \"server_reset_query_always\": {\n                                \"description\": \"Run server_reset_query (DISCARD ALL) in all pooling modes.\",\n                                \"example\": false,\n                                \"type\": \"boolean\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"shared_buffers_percentage\": {\n                            \"description\": \"Percentage of total RAM that the database server uses for shared memory buffers.  Valid range is 20-60 (float), which corresponds to 20% - 60%.  This setting adjusts the shared_buffers configuration value.\",\n                            \"example\": 41.5,\n                            \"maximum\": 60,\n                            \"minimum\": 20,\n                            \"type\": \"number\"\n                          },\n                          \"stat_monitor_enable\": {\n                            \"description\": \"Enable the pg_stat_monitor extension. <b>Enabling this extension will cause the cluster to be restarted.</b> When this extension is enabled, pg_stat_statements results for utility commands are unreliable.\",\n                            \"example\": false,\n                            \"type\": \"boolean\"\n                          },\n                          \"synchronous_replication\": {\n                            \"description\": \"Synchronous replication type. Note that the service plan also needs to support synchronous replication.\",\n                            \"enum\": [\n                              \"off\",\n                              \"quorum\"\n                            ],\n                            \"example\": \"off\",\n                            \"type\": \"string\"\n                          },\n                          \"temp_file_limit\": {\n                            \"description\": \"PostgreSQL temporary file limit in KiB. If -1, sets to unlimited.\",\n                            \"example\": 5000000,\n                            \"maximum\": 2147483647,\n                            \"minimum\": -1,\n                            \"type\": \"integer\"\n                          },\n                          \"timescaledb\": {\n                            \"description\": \"TimescaleDB extension configuration values\",\n                            \"properties\": {\n                              \"max_background_workers\": {\n                                \"description\": \"The number of background workers for timescaledb operations.  Set to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time.\",\n                                \"example\": 8,\n                                \"maximum\": 4096,\n                                \"minimum\": 1,\n                                \"type\": \"integer\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"timezone\": {\n                            \"description\": \"PostgreSQL service timezone\",\n                            \"example\": \"Europe/Helsinki\",\n                            \"maxLength\": 64,\n                            \"type\": \"string\"\n                          },\n                          \"track_activity_query_size\": {\n                            \"description\": \"Specifies the number of bytes reserved to track the currently executing command for each active session.\",\n                            \"example\": 1024,\n                            \"maximum\": 10240,\n                            \"minimum\": 1024,\n                            \"type\": \"integer\"\n                          },\n                          \"track_commit_timestamp\": {\n                            \"description\": \"Record commit time of transactions.\",\n                            \"enum\": [\n                              \"off\",\n                              \"on\"\n                            ],\n                            \"example\": \"off\",\n                            \"type\": \"string\"\n                          },\n                          \"track_functions\": {\n                            \"description\": \"Enables tracking of function call counts and time used.\",\n                            \"enum\": [\n                              \"all\",\n                              \"pl\",\n                              \"none\"\n                            ],\n                            \"example\": \"all\",\n                            \"type\": \"string\"\n                          },\n                          \"track_io_timing\": {\n                            \"description\": \"Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.\",\n                            \"enum\": [\n                              \"off\",\n                              \"on\"\n                            ],\n                            \"example\": \"off\",\n                            \"type\": \"string\"\n                          },\n                          \"wal_sender_timeout\": {\n                            \"description\": \"Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Must be either 0 or between 5000 and 10800000.\",\n                            \"example\": 60000,\n                            \"maximum\": 10800000,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"wal_writer_delay\": {\n                            \"description\": \"WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance\",\n                            \"example\": 50,\n                            \"maximum\": 200,\n                            \"minimum\": 10,\n                            \"type\": \"integer\"\n                          },\n                          \"work_mem\": {\n                            \"description\": \"The maximum amount of memory, in MB, used by a query operation (such as a sort or hash table) before writing to temporary disk files. Default is 1MB + 0.075% of total RAM (up to 32MB).\",\n                            \"example\": 4,\n                            \"maximum\": 1024,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"redis_acl_channels_default\": {\n                            \"description\": \"Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default.\",\n                            \"enum\": [\n                              \"allchannels\",\n                              \"resetchannels\"\n                            ],\n                            \"example\": \"allchannels\",\n                            \"type\": \"string\"\n                          },\n                          \"redis_io_threads\": {\n                            \"description\": \"Redis IO thread count\",\n                            \"example\": 1,\n                            \"maximum\": 32,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"redis_lfu_decay_time\": {\n                            \"default\": 1,\n                            \"description\": \"LFU maxmemory-policy counter decay time in minutes\",\n                            \"example\": 1,\n                            \"maximum\": 120,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"redis_lfu_log_factor\": {\n                            \"default\": 10,\n                            \"description\": \"Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies\",\n                            \"example\": 10,\n                            \"maximum\": 100,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"redis_maxmemory_policy\": {\n                            \"description\": \"A string specifying the desired eviction policy for the Redis cluster.\\n\\n- `noeviction`: Don't evict any data, returns error when memory limit is reached.\\n- `allkeys_lru:` Evict any key, least recently used (LRU) first.\\n- `allkeys_random`: Evict keys in a random order.\\n- `volatile_lru`: Evict keys with expiration only, least recently used (LRU) first.\\n- `volatile_random`: Evict keys with expiration only in a random order.\\n- `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first.\",\n                            \"enum\": [\n                              \"noeviction\",\n                              \"allkeys_lru\",\n                              \"allkeys_random\",\n                              \"volatile_lru\",\n                              \"volatile_random\",\n                              \"volatile_ttl\"\n                            ],\n                            \"example\": \"allkeys_lru\",\n                            \"type\": \"string\"\n                          },\n                          \"redis_notify_keyspace_events\": {\n                            \"default\": \"\",\n                            \"description\": \"Set notify-keyspace-events option\",\n                            \"example\": \"K\",\n                            \"maxLength\": 32,\n                            \"pattern\": \"^[KEg\\\\$lshzxeA]*$\",\n                            \"type\": \"string\"\n                          },\n                          \"redis_number_of_databases\": {\n                            \"description\": \"Set number of redis databases. Changing this will cause a restart of redis service.\",\n                            \"example\": 16,\n                            \"maximum\": 128,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"redis_persistence\": {\n                            \"description\": \"When persistence is 'rdb', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.\",\n                            \"enum\": [\n                              \"off\",\n                              \"rdb\"\n                            ],\n                            \"example\": \"rdb\",\n                            \"type\": \"string\"\n                          },\n                          \"redis_pubsub_client_output_buffer_limit\": {\n                            \"description\": \"Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.\",\n                            \"example\": 64,\n                            \"maximum\": 512,\n                            \"minimum\": 32,\n                            \"type\": \"integer\"\n                          },\n                          \"redis_ssl\": {\n                            \"default\": true,\n                            \"description\": \"Require SSL to access Redis\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"redis_timeout\": {\n                            \"default\": 300,\n                            \"description\": \"Redis idle connection timeout in seconds\",\n                            \"example\": 300,\n                            \"maximum\": 31536000,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ]\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update the Database Configuration for an Existing Database\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PATCH \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"config\\\": {\\\"sql_mode\\\": \\\"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\\\",\\\"sql_require_primary_key\\\": true}}' \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/config\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/dbs\": {\n      \"get\": {\n        \"description\": \"To list all of the databases in a clusters, send a GET request to\\n`/v2/databases/$DATABASE_ID/dbs`.\\n\\nThe result will be a JSON object with a `dbs` key. This will be set to an array\\nof database objects, each of which will contain the standard database attributes.\\n\\nNote: Database management is not supported for Redis clusters.\\n\",\n        \"operationId\": \"databases_list\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"dbs\": [\n                    {\n                      \"name\": \"alpha\"\n                    },\n                    {\n                      \"name\": \"defaultdb\"\n                    }\n                  ]\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"dbs\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"name\": {\n                            \"description\": \"The name of the database.\",\n                            \"example\": \"alpha\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"name\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `databases`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Databases\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/dbs\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    dbs, _, err := client.Databases.ListDBs(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", nil)\\n}\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To add a new database to an existing cluster, send a POST request to\\n`/v2/databases/$DATABASE_ID/dbs`.\\n\\nNote: Database management is not supported for Redis clusters.\\n\\nThe response will be a JSON object with a key called `db`. The value of this will be\\nan object that contains the standard attributes associated with a database.\\n\",\n        \"operationId\": \"databases_add\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"name\": \"alpha\"\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"name\": {\n                    \"description\": \"The name of the database.\",\n                    \"example\": \"alpha\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"name\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"db\": {\n                    \"name\": \"alpha\"\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"db\": {\n                      \"properties\": {\n                        \"name\": {\n                          \"description\": \"The name of the database.\",\n                          \"example\": \"alpha\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"required\": [\n                    \"db\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `db`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Add a New Database\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"alpha\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/dbs\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createDBReq := &godo.DatabaseCreateDBRequest{\\n        Name: \\\"alpha\\\",\\n    }\\n\\n    db, _, err := client.Databases.CreateDB(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", createDBReq)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/dbs/{database_name}\": {\n      \"delete\": {\n        \"description\": \"To delete a specific database, send a DELETE request to\\n`/v2/databases/$DATABASE_ID/dbs/$DB_NAME`.\\n\\nA status of 204 will be given. This indicates that the request was processed\\nsuccessfully, but that no response body is needed.\\n\\nNote: Database management is not supported for Redis clusters.\\n\",\n        \"operationId\": \"databases_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of the database.\",\n            \"example\": \"alpha\",\n            \"in\": \"path\",\n            \"name\": \"database_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Database\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/dbs/alpha\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Databases.DeleteDB(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", \\\"alpha\\\")\\n}\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an existing database cluster, send a GET request to\\n`/v2/databases/$DATABASE_ID/dbs/$DB_NAME`.\\n\\nNote: Database management is not supported for Redis clusters.\\n\\nThe response will be a JSON object with a `db` key. This will be set to an object\\ncontaining the standard database attributes.\\n\",\n        \"operationId\": \"databases_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of the database.\",\n            \"example\": \"alpha\",\n            \"in\": \"path\",\n            \"name\": \"database_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"db\": {\n                    \"name\": \"alpha\"\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"db\": {\n                      \"properties\": {\n                        \"name\": {\n                          \"description\": \"The name of the database.\",\n                          \"example\": \"alpha\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"required\": [\n                    \"db\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `db`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Database\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/dbs/alpha\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    db, _, err := client.Databases.GetDB(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", \\\"alpha\\\")\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/eviction_policy\": {\n      \"get\": {\n        \"description\": \"To retrieve the configured eviction policy for an existing Redis cluster, send a GET request to `/v2/databases/$DATABASE_ID/eviction_policy`.\\nThe response will be a JSON object with an `eviction_policy` key. This will be set to a string representing the eviction policy.\",\n        \"operationId\": \"databases_get_evictionPolicy\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"eviction_policy\": {\n                      \"description\": \"A string specifying the desired eviction policy for the Redis cluster.\\n\\n- `noeviction`: Don't evict any data, returns error when memory limit is reached.\\n- `allkeys_lru:` Evict any key, least recently used (LRU) first.\\n- `allkeys_random`: Evict keys in a random order.\\n- `volatile_lru`: Evict keys with expiration only, least recently used (LRU) first.\\n- `volatile_random`: Evict keys with expiration only in a random order.\\n- `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first.\",\n                      \"enum\": [\n                        \"noeviction\",\n                        \"allkeys_lru\",\n                        \"allkeys_random\",\n                        \"volatile_lru\",\n                        \"volatile_random\",\n                        \"volatile_ttl\"\n                      ],\n                      \"example\": \"allkeys_lru\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"eviction_policy\"\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON string with a key of `eviction_policy`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve the Eviction Policy for a Redis Cluster\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/eviction_policy\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    db, _, err := client.Databases.GetEvictionPolicy(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\")\\n}\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To configure an eviction policy for an existing Redis cluster, send a PUT request to `/v2/databases/$DATABASE_ID/eviction_policy` specifying the desired policy.\",\n        \"operationId\": \"databases_update_evictionPolicy\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"eviction_policy\": \"allkeys_lru\"\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"eviction_policy\": {\n                    \"description\": \"A string specifying the desired eviction policy for the Redis cluster.\\n\\n- `noeviction`: Don't evict any data, returns error when memory limit is reached.\\n- `allkeys_lru:` Evict any key, least recently used (LRU) first.\\n- `allkeys_random`: Evict keys in a random order.\\n- `volatile_lru`: Evict keys with expiration only, least recently used (LRU) first.\\n- `volatile_random`: Evict keys with expiration only in a random order.\\n- `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first.\",\n                    \"enum\": [\n                      \"noeviction\",\n                      \"allkeys_lru\",\n                      \"allkeys_random\",\n                      \"volatile_lru\",\n                      \"volatile_random\",\n                      \"volatile_ttl\"\n                    ],\n                    \"example\": \"allkeys_lru\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"eviction_policy\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Configure the Eviction Policy for a Redis Cluster\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"eviction_policy\\\":\\\"allkeys_lru\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/eviction_policy\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    db, _, err := client.Databases.SetEvictionPolicy(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", \\\"allkeys_lru\\\")\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/firewall\": {\n      \"get\": {\n        \"description\": \"To list all of a database cluster's firewall rules (known as \\\"trusted sources\\\" in the control panel), send a GET request to `/v2/databases/$DATABASE_ID/firewall`.\\nThe result will be a JSON object with a `rules` key.\",\n        \"operationId\": \"databases_list_firewall_rules\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"rules\": [\n                    {\n                      \"cluster_uuid\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                      \"created_at\": \"2019-11-14T20:30:28Z\",\n                      \"type\": \"k8s\",\n                      \"uuid\": \"79f26d28-ea8a-41f2-8ad8-8cfcdd020095\",\n                      \"value\": \"ff2a6c52-5a44-4b63-b99c-0e98e7a63d61\"\n                    },\n                    {\n                      \"cluster_uuid\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                      \"created_at\": \"2019-11-14T20:30:28Z\",\n                      \"type\": \"ip_addr\",\n                      \"uuid\": \"adfe81a8-0fa1-4e2d-973f-06aa5af19b44\",\n                      \"value\": \"192.168.1.1\"\n                    },\n                    {\n                      \"cluster_uuid\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                      \"created_at\": \"2019-11-14T20:30:28Z\",\n                      \"type\": \"droplet\",\n                      \"uuid\": \"b9b42276-8295-4313-b40f-74173a7f46e6\",\n                      \"value\": \"163973392\"\n                    },\n                    {\n                      \"cluster_uuid\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                      \"created_at\": \"2019-11-14T20:30:28Z\",\n                      \"type\": \"tag\",\n                      \"uuid\": \"718d23e0-13d7-4129-8a00-47fb72ee0deb\",\n                      \"value\": \"backend\"\n                    }\n                  ]\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"rules\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"cluster_uuid\": {\n                            \"description\": \"A unique ID for the database cluster to which the rule is applied.\",\n                            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                            \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                            \"type\": \"string\"\n                          },\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall rule was created.\",\n                            \"example\": \"2019-01-11T18:37:36Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"type\": {\n                            \"description\": \"The type of resource that the firewall rule allows to access the database cluster.\",\n                            \"enum\": [\n                              \"droplet\",\n                              \"k8s\",\n                              \"ip_addr\",\n                              \"tag\",\n                              \"app\"\n                            ],\n                            \"example\": \"droplet\",\n                            \"type\": \"string\"\n                          },\n                          \"uuid\": {\n                            \"description\": \"A unique ID for the firewall rule itself.\",\n                            \"example\": \"79f26d28-ea8a-41f2-8ad8-8cfcdd020095\",\n                            \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                            \"type\": \"string\"\n                          },\n                          \"value\": {\n                            \"description\": \"The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.\",\n                            \"example\": \"ff2a6c52-5a44-4b63-b99c-0e98e7a63d61\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\",\n                          \"value\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `rules`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Firewall Rules (Trusted Sources) for a Database Cluster\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/firewall\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    rules, _, err := client.Databases.GetFirewallRules(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\")\\n}\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update a database cluster's firewall rules (known as \\\"trusted sources\\\" in the control panel), send a PUT request to `/v2/databases/$DATABASE_ID/firewall` specifying which resources should be able to open connections to the database. You may limit connections to specific Droplets, Kubernetes clusters, or IP addresses. When a tag is provided, any Droplet or Kubernetes node with that tag applied to it will have access. The firewall is limited to 100 rules (or trusted sources). When possible, we recommend [placing your databases into a VPC network](https://www.digitalocean.com/docs/networking/vpc/) to limit access to them instead of using a firewall.\\nA successful\",\n        \"operationId\": \"databases_update_firewall_rules\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"rules\": [\n                  {\n                    \"type\": \"ip_addr\",\n                    \"value\": \"192.168.1.1\"\n                  },\n                  {\n                    \"type\": \"k8s\",\n                    \"value\": \"ff2a6c52-5a44-4b63-b99c-0e98e7a63d61\"\n                  },\n                  {\n                    \"type\": \"droplet\",\n                    \"value\": \"163973392\"\n                  },\n                  {\n                    \"type\": \"tag\",\n                    \"value\": \"backend\"\n                  }\n                ]\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"rules\": {\n                    \"items\": {\n                      \"properties\": {\n                        \"cluster_uuid\": {\n                          \"description\": \"A unique ID for the database cluster to which the rule is applied.\",\n                          \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                          \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall rule was created.\",\n                          \"example\": \"2019-01-11T18:37:36Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"type\": {\n                          \"description\": \"The type of resource that the firewall rule allows to access the database cluster.\",\n                          \"enum\": [\n                            \"droplet\",\n                            \"k8s\",\n                            \"ip_addr\",\n                            \"tag\",\n                            \"app\"\n                          ],\n                          \"example\": \"droplet\",\n                          \"type\": \"string\"\n                        },\n                        \"uuid\": {\n                          \"description\": \"A unique ID for the firewall rule itself.\",\n                          \"example\": \"79f26d28-ea8a-41f2-8ad8-8cfcdd020095\",\n                          \"pattern\": \"^$|[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\",\n                          \"type\": \"string\"\n                        },\n                        \"value\": {\n                          \"description\": \"The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.\",\n                          \"example\": \"ff2a6c52-5a44-4b63-b99c-0e98e7a63d61\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"type\",\n                        \"value\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update Firewall Rules (Trusted Sources) for a Database\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"rules\\\": [{\\\"type\\\": \\\"ip_addr\\\",\\\"value\\\": \\\"192.168.1.1\\\"},{\\\"type\\\": \\\"droplet\\\",\\\"value\\\": \\\"163973392\\\"},{\\\"type\\\": \\\"k8s\\\",\\\"value\\\": \\\"ff2a6c52-5a44-4b63-b99c-0e98e7a63d61\\\"},{\\\"type\\\": \\\"tag\\\",\\\"value\\\": \\\"backend\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/firewall\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    req := godo.DatabaseUpdateFirewallRulesRequest{\\n      Rules: []*godo.DatabaseFirewallRule{\\n        {\\n         Type:  \\\"ip_addr\\\",\\n         Value: \\\"192.168.1.1\\\",\\n       },\\n        {\\n         Type:  \\\"droplet\\\",\\n         Value: \\\"163973392\\\",\\n       },\\n        {\\n         Type:  \\\"k8s\\\",\\n         Value: \\\"ff2a6c52-5a44-4b63-b99c-0e98e7a63d61\\\",\\n        },\\n      },\\n    }\\n    _, err := client.Databases.UpdateFirewallRules(ctx, dbID, &req)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/maintenance\": {\n      \"put\": {\n        \"description\": \"To configure the window when automatic maintenance should be performed for a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/maintenance`.\\nA successful request will receive a 204 No Content status code with no body in response.\",\n        \"operationId\": \"databases_update_maintenanceWindow\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"day\": \"tuesday\",\n                \"hour\": \"14:00\"\n              },\n              \"schema\": {\n                \"nullable\": true,\n                \"properties\": {\n                  \"day\": {\n                    \"description\": \"The day of the week on which to apply maintenance updates.\",\n                    \"example\": \"tuesday\",\n                    \"type\": \"string\"\n                  },\n                  \"description\": {\n                    \"description\": \"A list of strings, each containing information about a pending maintenance update.\",\n                    \"example\": [\n                      \"Update TimescaleDB to version 1.2.1\",\n                      \"Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"readOnly\": true,\n                    \"type\": \"array\"\n                  },\n                  \"hour\": {\n                    \"description\": \"The hour in UTC at which maintenance updates will be applied in 24 hour format.\",\n                    \"example\": \"14:00\",\n                    \"type\": \"string\"\n                  },\n                  \"pending\": {\n                    \"description\": \"A boolean value indicating whether any maintenance is scheduled to be performed in the next window.\",\n                    \"example\": true,\n                    \"readOnly\": true,\n                    \"type\": \"boolean\"\n                  }\n                },\n                \"required\": [\n                  \"day\",\n                  \"hour\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Configure a Database Cluster's Maintenance Window\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"day\\\": \\\"tuesday\\\", \\\"hour\\\": \\\"14:00\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/maintenance\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    maintenanceRequest := &godo.DatabaseUpdateMaintenanceRequest{\\n        Day:  \\\"thursday\\\",\\n        Hour: \\\"16:00\\\",\\n    }\\n\\n    _, err := client.Databases.UpdateMaintenance(ctx, \\\"88055188-9e54-4f21-ab11-8a918ed79ee2\\\", maintenanceRequest)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/migrate\": {\n      \"put\": {\n        \"description\": \"To migrate a database cluster to a new region, send a `PUT` request to\\n`/v2/databases/$DATABASE_ID/migrate`. The body of the request must specify a\\n`region` attribute.\\n\\nA successful request will receive a 202 Accepted status code with no body in\\nresponse. Querying the database cluster will show that its `status` attribute\\nwill now be set to `migrating`. This will transition back to `online` when the\\nmigration has completed.\\n\",\n        \"operationId\": \"databases_update_region\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"example\": {\n                  \"region\": \"lon1\"\n                },\n                \"properties\": {\n                  \"region\": {\n                    \"description\": \"A slug identifier for the region to which the database cluster will be migrated.\",\n                    \"example\": \"lon1\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"region\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"202\": {\n            \"description\": \"The does not indicate the success or failure of any operation, just that the request has been accepted for processing.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Migrate a Database Cluster to a New Region\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"region\\\":\\\"lon1\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/migrate\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    migrateRequest := &godo.DatabaseMigrateRequest{\\n        Region: \\\"lon1\\\",\\n    }\\n\\n    _, err := client.Databases.Migrate(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", migrateRequest)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/online-migration\": {\n      \"get\": {\n        \"description\": \"To retrieve the status of the most recent online migration, send a GET request to `/v2/databases/$DATABASE_ID/online-migration`. \",\n        \"operationId\": \"databases_get_migrationStatus\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"created_at\": \"2020-10-29T15:57:38Z\",\n                  \"id\": \"77b28fc8-19ff-11eb-8c9c-c68e24557488\",\n                  \"status\": \"running\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"created_at\": {\n                      \"description\": \"The time the migration was initiated, in ISO 8601 format.\",\n                      \"example\": \"2020-10-29T15:57:38Z\",\n                      \"type\": \"string\"\n                    },\n                    \"id\": {\n                      \"description\": \"The ID of the most recent migration.\",\n                      \"example\": \"77b28fc8-19ff-11eb-8c9c-c68e24557488\",\n                      \"type\": \"string\"\n                    },\n                    \"status\": {\n                      \"description\": \"The current status of the migration.\",\n                      \"enum\": [\n                        \"running\",\n                        \"canceled\",\n                        \"error\",\n                        \"done\"\n                      ],\n                      \"example\": \"running\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve the Status of an Online Migration\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n-H \\\"Content-Type: application/json\\\" \\\\\\n-H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n-d '{\\\"source\\\":{\\\"host\\\":\\\"source-do-user-6607903-0.b.db.ondigitalocean.com\\\",\\\"dbname\\\":\\\"defaultdb\\\",\\\"port\\\":25060,\\\"username\\\":\\\"doadmin\\\",\\\"password\\\":\\\"paakjnfe10rsrsmf\\\"},\\\"disable_ssl\\\":false}' \\\\\\n\\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration\\\"\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To start an online migration, send a PUT request to `/v2/databases/$DATABASE_ID/online-migration` endpoint. Migrating a cluster establishes a connection with an existing cluster and replicates its contents to the target cluster. Online migration is only available for MySQL, PostgreSQL, and Redis clusters.\",\n        \"operationId\": \"databases_update_onlineMigration\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"disable_ssl\": false,\n                \"source\": {\n                  \"dbname\": \"defaultdb\",\n                  \"host\": \"source-do-user-6607903-0.b.db.ondigitalocean.com\",\n                  \"password\": \"paakjnfe10rsrsmf\",\n                  \"port\": 25060,\n                  \"username\": \"doadmin\"\n                }\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"disable_ssl\": {\n                    \"description\": \"Enables SSL encryption when connecting to the source database.\",\n                    \"example\": false,\n                    \"type\": \"boolean\"\n                  },\n                  \"source\": {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"database\": {\n                            \"description\": \"The name of the default database.\",\n                            \"example\": \"defaultdb\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"host\": {\n                            \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                            \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"password\": {\n                            \"description\": \"The randomly generated password for the default user.\",\n                            \"example\": \"wv78n3zpz42xezdk\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"port\": {\n                            \"description\": \"The port on which the database cluster is listening.\",\n                            \"example\": 25060,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"ssl\": {\n                            \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                            \"example\": true,\n                            \"readOnly\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"uri\": {\n                            \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                            \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"user\": {\n                            \"description\": \"The default user for the database.\",\n                            \"example\": \"doadmin\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ]\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"created_at\": \"2020-10-29T15:57:38Z\",\n                  \"id\": \"77b28fc8-19ff-11eb-8c9c-c68e24557488\",\n                  \"status\": \"running\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"created_at\": {\n                      \"description\": \"The time the migration was initiated, in ISO 8601 format.\",\n                      \"example\": \"2020-10-29T15:57:38Z\",\n                      \"type\": \"string\"\n                    },\n                    \"id\": {\n                      \"description\": \"The ID of the most recent migration.\",\n                      \"example\": \"77b28fc8-19ff-11eb-8c9c-c68e24557488\",\n                      \"type\": \"string\"\n                    },\n                    \"status\": {\n                      \"description\": \"The current status of the migration.\",\n                      \"enum\": [\n                        \"running\",\n                        \"canceled\",\n                        \"error\",\n                        \"done\"\n                      ],\n                      \"example\": \"running\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Start an Online Migration\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n-H \\\"Content-Type: application/json\\\" \\\\\\n-H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n-d '{\\\"source\\\":{\\\"host\\\":\\\"source-do-user-6607903-0.b.db.ondigitalocean.com\\\",\\\"dbname\\\":\\\"defaultdb\\\",\\\"port\\\":25060,\\\"username\\\":\\\"doadmin\\\",\\\"password\\\":\\\"paakjnfe10rsrsmf\\\"},\\\"disable_ssl\\\":false}' \\\\\\n\\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration\\\" \"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}\": {\n      \"delete\": {\n        \"description\": \"To stop an online migration, send a DELETE request to `/v2/databases/$DATABASE_ID/online-migration/$MIGRATION_ID`.\\n\\nA status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed.\\n\",\n        \"operationId\": \"databases_delete_onlineMigration\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique identifier assigned to the online migration.\",\n            \"example\": \"77b28fc8-19ff-11eb-8c9c-c68e24557488\",\n            \"in\": \"path\",\n            \"name\": \"migration_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Stop an Online Migration\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n-H \\\"Content-Type: application/json\\\" \\\\\\n-H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n\\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration/77b28fc8-19ff-11eb-8c9c-c68e24557488\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/pools\": {\n      \"get\": {\n        \"description\": \"To list all of the connection pools available to a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools`.\\nThe result will be a JSON object with a `pools` key. This will be set to an array of connection pool objects.\",\n        \"operationId\": \"databases_list_connectionPools\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"pools\": [\n                    {\n                      \"connection\": {\n                        \"database\": \"foo\",\n                        \"host\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                        \"password\": \"wv78n3zpz42xezdk\",\n                        \"port\": 25061,\n                        \"ssl\": true,\n                        \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/foo?sslmode=require\",\n                        \"user\": \"doadmin\"\n                      },\n                      \"db\": \"defaultdb\",\n                      \"mode\": \"session\",\n                      \"name\": \"reporting-pool\",\n                      \"size\": 10,\n                      \"user\": \"doadmin\"\n                    },\n                    {\n                      \"connection\": {\n                        \"database\": \"backend-pool\",\n                        \"host\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                        \"password\": \"wv78n3zpz42xezdk\",\n                        \"port\": 25061,\n                        \"ssl\": true,\n                        \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/backend-pool?sslmode=require\",\n                        \"user\": \"doadmin\"\n                      },\n                      \"db\": \"defaultdb\",\n                      \"mode\": \"transaction\",\n                      \"name\": \"backend-pool\",\n                      \"size\": 10,\n                      \"user\": \"doadmin\"\n                    }\n                  ]\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"pools\": {\n                      \"description\": \"An array of connection pool objects.\",\n                      \"items\": {\n                        \"properties\": {\n                          \"connection\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"database\": {\n                                    \"description\": \"The name of the default database.\",\n                                    \"example\": \"defaultdb\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"host\": {\n                                    \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                    \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"password\": {\n                                    \"description\": \"The randomly generated password for the default user.\",\n                                    \"example\": \"wv78n3zpz42xezdk\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"port\": {\n                                    \"description\": \"The port on which the database cluster is listening.\",\n                                    \"example\": 25060,\n                                    \"readOnly\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"ssl\": {\n                                    \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                    \"example\": true,\n                                    \"readOnly\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"uri\": {\n                                    \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                    \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"user\": {\n                                    \"description\": \"The default user for the database.\",\n                                    \"example\": \"doadmin\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"readOnly\": true\n                              }\n                            ]\n                          },\n                          \"db\": {\n                            \"description\": \"The database for use with the connection pool.\",\n                            \"example\": \"defaultdb\",\n                            \"type\": \"string\"\n                          },\n                          \"mode\": {\n                            \"description\": \"The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement.\",\n                            \"example\": \"transaction\",\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"A unique name for the connection pool. Must be between 3 and 60 characters.\",\n                            \"example\": \"backend-pool\",\n                            \"type\": \"string\"\n                          },\n                          \"private_connection\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"database\": {\n                                    \"description\": \"The name of the default database.\",\n                                    \"example\": \"defaultdb\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"host\": {\n                                    \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                    \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"password\": {\n                                    \"description\": \"The randomly generated password for the default user.\",\n                                    \"example\": \"wv78n3zpz42xezdk\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"port\": {\n                                    \"description\": \"The port on which the database cluster is listening.\",\n                                    \"example\": 25060,\n                                    \"readOnly\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"ssl\": {\n                                    \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                    \"example\": true,\n                                    \"readOnly\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"uri\": {\n                                    \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                    \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"user\": {\n                                    \"description\": \"The default user for the database.\",\n                                    \"example\": \"doadmin\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"readOnly\": true\n                              }\n                            ]\n                          },\n                          \"size\": {\n                            \"description\": \"The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster.\",\n                            \"example\": 10,\n                            \"format\": \"int32\",\n                            \"type\": \"integer\"\n                          },\n                          \"user\": {\n                            \"description\": \"The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user.\",\n                            \"example\": \"doadmin\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"name\",\n                          \"mode\",\n                          \"size\",\n                          \"db\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      \"readOnly\": true,\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `pools`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Connection Pools (PostgreSQL)\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET /\\n-H \\\"Content-Type: application/json\\\" /\\n-H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" /\\n\\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    pat := \\\"mytoken\\\"\\n\\n    client := godo.NewFromToken(pat)\\n    ctx := context.TODO()\\n\\n    pools, _, err := client.Databases.ListPools(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", nil)\\n}\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"For PostgreSQL database clusters, connection pools can be used to allow a\\ndatabase to share its idle connections. The popular PostgreSQL connection\\npooling utility PgBouncer is used to provide this service. [See here for more information](https://www.digitalocean.com/docs/databases/postgresql/how-to/manage-connection-pools/)\\nabout how and why to use PgBouncer connection pooling including\\ndetails about the available transaction modes.\\n\\nTo add a new connection pool to a PostgreSQL database cluster, send a POST\\nrequest to `/v2/databases/$DATABASE_ID/pools` specifying a name for the pool,\\nthe user to connect with, the database to connect to, as well as its desired\\nsize and transaction mode.\\n\",\n        \"operationId\": \"databases_add_connectionPool\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"db\": \"defaultdb\",\n                \"mode\": \"transaction\",\n                \"name\": \"backend-pool\",\n                \"size\": 10,\n                \"user\": \"doadmin\"\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"connection\": {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"database\": {\n                            \"description\": \"The name of the default database.\",\n                            \"example\": \"defaultdb\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"host\": {\n                            \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                            \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"password\": {\n                            \"description\": \"The randomly generated password for the default user.\",\n                            \"example\": \"wv78n3zpz42xezdk\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"port\": {\n                            \"description\": \"The port on which the database cluster is listening.\",\n                            \"example\": 25060,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"ssl\": {\n                            \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                            \"example\": true,\n                            \"readOnly\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"uri\": {\n                            \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                            \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"user\": {\n                            \"description\": \"The default user for the database.\",\n                            \"example\": \"doadmin\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"readOnly\": true\n                      }\n                    ]\n                  },\n                  \"db\": {\n                    \"description\": \"The database for use with the connection pool.\",\n                    \"example\": \"defaultdb\",\n                    \"type\": \"string\"\n                  },\n                  \"mode\": {\n                    \"description\": \"The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement.\",\n                    \"example\": \"transaction\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"A unique name for the connection pool. Must be between 3 and 60 characters.\",\n                    \"example\": \"backend-pool\",\n                    \"type\": \"string\"\n                  },\n                  \"private_connection\": {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"database\": {\n                            \"description\": \"The name of the default database.\",\n                            \"example\": \"defaultdb\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"host\": {\n                            \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                            \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"password\": {\n                            \"description\": \"The randomly generated password for the default user.\",\n                            \"example\": \"wv78n3zpz42xezdk\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"port\": {\n                            \"description\": \"The port on which the database cluster is listening.\",\n                            \"example\": 25060,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"ssl\": {\n                            \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                            \"example\": true,\n                            \"readOnly\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"uri\": {\n                            \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                            \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"user\": {\n                            \"description\": \"The default user for the database.\",\n                            \"example\": \"doadmin\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"readOnly\": true\n                      }\n                    ]\n                  },\n                  \"size\": {\n                    \"description\": \"The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster.\",\n                    \"example\": 10,\n                    \"format\": \"int32\",\n                    \"type\": \"integer\"\n                  },\n                  \"user\": {\n                    \"description\": \"The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user.\",\n                    \"example\": \"doadmin\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"name\",\n                  \"mode\",\n                  \"size\",\n                  \"db\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"pool\": {\n                    \"connection\": {\n                      \"database\": \"backend-pool\",\n                      \"host\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                      \"password\": \"wv78n3zpz42xezdk\",\n                      \"port\": 25061,\n                      \"ssl\": true,\n                      \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/backend-pool?sslmode=require\",\n                      \"user\": \"doadmin\"\n                    },\n                    \"db\": \"defaultdb\",\n                    \"mode\": \"transaction\",\n                    \"name\": \"backend-pool\",\n                    \"size\": 10,\n                    \"user\": \"doadmin\"\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"pool\": {\n                      \"properties\": {\n                        \"connection\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"database\": {\n                                  \"description\": \"The name of the default database.\",\n                                  \"example\": \"defaultdb\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"host\": {\n                                  \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                  \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"The randomly generated password for the default user.\",\n                                  \"example\": \"wv78n3zpz42xezdk\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"description\": \"The port on which the database cluster is listening.\",\n                                  \"example\": 25060,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"ssl\": {\n                                  \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"uri\": {\n                                  \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                  \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"user\": {\n                                  \"description\": \"The default user for the database.\",\n                                  \"example\": \"doadmin\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"readOnly\": true\n                            }\n                          ]\n                        },\n                        \"db\": {\n                          \"description\": \"The database for use with the connection pool.\",\n                          \"example\": \"defaultdb\",\n                          \"type\": \"string\"\n                        },\n                        \"mode\": {\n                          \"description\": \"The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement.\",\n                          \"example\": \"transaction\",\n                          \"type\": \"string\"\n                        },\n                        \"name\": {\n                          \"description\": \"A unique name for the connection pool. Must be between 3 and 60 characters.\",\n                          \"example\": \"backend-pool\",\n                          \"type\": \"string\"\n                        },\n                        \"private_connection\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"database\": {\n                                  \"description\": \"The name of the default database.\",\n                                  \"example\": \"defaultdb\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"host\": {\n                                  \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                  \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"The randomly generated password for the default user.\",\n                                  \"example\": \"wv78n3zpz42xezdk\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"description\": \"The port on which the database cluster is listening.\",\n                                  \"example\": 25060,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"ssl\": {\n                                  \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"uri\": {\n                                  \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                  \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"user\": {\n                                  \"description\": \"The default user for the database.\",\n                                  \"example\": \"doadmin\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"readOnly\": true\n                            }\n                          ]\n                        },\n                        \"size\": {\n                          \"description\": \"The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster.\",\n                          \"example\": 10,\n                          \"format\": \"int32\",\n                          \"type\": \"integer\"\n                        },\n                        \"user\": {\n                          \"description\": \"The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user.\",\n                          \"example\": \"doadmin\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\",\n                        \"mode\",\n                        \"size\",\n                        \"db\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"required\": [\n                    \"pool\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `pool`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Add a New Connection Pool (PostgreSQL)\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n-H \\\"Content-Type: application/json\\\" \\\\\\n-H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n-d '{\\\"name\\\": \\\"backend-pool\\\",\\\"mode\\\": \\\"transaction\\\",\\\"size\\\": 10,\\\"db\\\": \\\"defaultdb\\\",\\\"user\\\": \\\"doadmin\\\"}' \\\\\\n\\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    pat := \\\"mytoken\\\"\\n\\n    client := godo.NewFromToken(pat)\\n    ctx := context.TODO()\\n\\n    createPoolReq := &godo.DatabaseCreatePoolRequest{\\n        Name:     \\\"backend-pool\\\",\\n        Database: \\\"defaultdb\\\",\\n        Size:     10,\\n        User:     \\\"doadmin\\\",\\n        Mode:     \\\"transaction\\\",\\n    }\\n\\n    pool, _, err := client.Databases.CreatePool(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", createPoolReq)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/pools/{pool_name}\": {\n      \"delete\": {\n        \"description\": \"To delete a specific connection pool for a PostgreSQL database cluster, send\\na DELETE request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`.\\n\\nA status of 204 will be given. This indicates that the request was processed\\nsuccessfully, but that no response body is needed.\\n\",\n        \"operationId\": \"databases_delete_connectionPool\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name used to identify the connection pool.\",\n            \"example\": \"backend-pool\",\n            \"in\": \"path\",\n            \"name\": \"pool_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Connection Pool (PostgreSQL)\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n-H \\\"Content-Type: application/json\\\" \\\\\\n-H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n\\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools/backend-pool\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    pat := \\\"mytoken\\\"\\n\\n    client := godo.NewFromToken(pat)\\n    ctx := context.TODO()\\n\\n    _, err := client.Databases.DeletePool(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", \\\"backend-pool\\\")\\n}\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an existing connection pool for a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`.\\nThe response will be a JSON object with a `pool` key.\",\n        \"operationId\": \"databases_get_connectionPool\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name used to identify the connection pool.\",\n            \"example\": \"backend-pool\",\n            \"in\": \"path\",\n            \"name\": \"pool_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"pool\": {\n                    \"connection\": {\n                      \"database\": \"backend-pool\",\n                      \"host\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                      \"password\": \"wv78n3zpz42xezdk\",\n                      \"port\": 25061,\n                      \"ssl\": true,\n                      \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/backend-pool?sslmode=require\",\n                      \"user\": \"doadmin\"\n                    },\n                    \"db\": \"defaultdb\",\n                    \"mode\": \"transaction\",\n                    \"name\": \"backend-pool\",\n                    \"size\": 10,\n                    \"user\": \"doadmin\"\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"pool\": {\n                      \"properties\": {\n                        \"connection\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"database\": {\n                                  \"description\": \"The name of the default database.\",\n                                  \"example\": \"defaultdb\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"host\": {\n                                  \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                  \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"The randomly generated password for the default user.\",\n                                  \"example\": \"wv78n3zpz42xezdk\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"description\": \"The port on which the database cluster is listening.\",\n                                  \"example\": 25060,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"ssl\": {\n                                  \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"uri\": {\n                                  \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                  \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"user\": {\n                                  \"description\": \"The default user for the database.\",\n                                  \"example\": \"doadmin\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"readOnly\": true\n                            }\n                          ]\n                        },\n                        \"db\": {\n                          \"description\": \"The database for use with the connection pool.\",\n                          \"example\": \"defaultdb\",\n                          \"type\": \"string\"\n                        },\n                        \"mode\": {\n                          \"description\": \"The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement.\",\n                          \"example\": \"transaction\",\n                          \"type\": \"string\"\n                        },\n                        \"name\": {\n                          \"description\": \"A unique name for the connection pool. Must be between 3 and 60 characters.\",\n                          \"example\": \"backend-pool\",\n                          \"type\": \"string\"\n                        },\n                        \"private_connection\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"database\": {\n                                  \"description\": \"The name of the default database.\",\n                                  \"example\": \"defaultdb\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"host\": {\n                                  \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                  \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"The randomly generated password for the default user.\",\n                                  \"example\": \"wv78n3zpz42xezdk\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"description\": \"The port on which the database cluster is listening.\",\n                                  \"example\": 25060,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"ssl\": {\n                                  \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"uri\": {\n                                  \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                  \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"user\": {\n                                  \"description\": \"The default user for the database.\",\n                                  \"example\": \"doadmin\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"readOnly\": true\n                            }\n                          ]\n                        },\n                        \"size\": {\n                          \"description\": \"The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster.\",\n                          \"example\": 10,\n                          \"format\": \"int32\",\n                          \"type\": \"integer\"\n                        },\n                        \"user\": {\n                          \"description\": \"The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user.\",\n                          \"example\": \"doadmin\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\",\n                        \"mode\",\n                        \"size\",\n                        \"db\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"required\": [\n                    \"pool\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `pool`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve Existing Connection Pool (PostgreSQL)\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET /\\n-H \\\"Content-Type: application/json\\\" /\\n-H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" /\\n\\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools/backend-pool\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    pat := \\\"mytoken\\\"\\n\\n    client := godo.NewFromToken(pat)\\n    ctx := context.TODO()\\n\\n    pool, _, err := client.Databases.GetPool(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", \\\"backend-pool\\\")\\n}\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update a connection pool for a PostgreSQL database cluster, send a PUT request to  `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`.\",\n        \"operationId\": \"databases_update_connectionPool\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name used to identify the connection pool.\",\n            \"example\": \"backend-pool\",\n            \"in\": \"path\",\n            \"name\": \"pool_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"db\": \"defaultdb\",\n                \"mode\": \"transaction\",\n                \"size\": 10,\n                \"user\": \"doadmin\"\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"db\": {\n                    \"description\": \"The database for use with the connection pool.\",\n                    \"example\": \"defaultdb\",\n                    \"type\": \"string\"\n                  },\n                  \"mode\": {\n                    \"description\": \"The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement.\",\n                    \"example\": \"transaction\",\n                    \"type\": \"string\"\n                  },\n                  \"size\": {\n                    \"description\": \"The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster.\",\n                    \"example\": 10,\n                    \"format\": \"int32\",\n                    \"type\": \"integer\"\n                  },\n                  \"user\": {\n                    \"description\": \"The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user.\",\n                    \"example\": \"doadmin\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"mode\",\n                  \"size\",\n                  \"db\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update Connection Pools (PostgreSQL)\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n-H \\\"Content-Type: application/json\\\" \\\\\\n-H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n-d '{\\\"mode\\\": \\\"transaction\\\", \\\"size\\\": 15, \\\"db\\\": \\\"defaultdb\\\", \\\"user\\\": \\\"doadmin\\\"}' \\\\\\n\\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools/backend-pool\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    pat := \\\"mytoken\\\"\\n\\n    client := godo.NewFromToken(pat)\\n    ctx := context.TODO()\\n\\n    updateReq := &godo.DatabaseUpdatePoolRequest{\\n        User:     \\\"doadmin\\\",\\n        Size:     15,\\n        Database: \\\"defaultdb\\\",\\n        Mode:     \\\"transaction\\\",\\n    }\\n\\n    _, err := client.Databases.UpdatePool(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", \\\"backend-pool\\\", updateReq)\\n\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/replicas\": {\n      \"get\": {\n        \"description\": \"To list all of the read-only replicas associated with a database cluster, send a GET request to `/v2/databases/$DATABASE_ID/replicas`.\\n\\n**Note**: Read-only replicas are not supported for Redis clusters.\\n\\nThe result will be a JSON object with a `replicas` key. This will be set to an array of database replica objects, each of which will contain the standard database replica attributes.\",\n        \"operationId\": \"databases_list_replicas\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"replicas\": [\n                    {\n                      \"connection\": {\n                        \"database\": \"defaultdb\",\n                        \"host\": \"read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com\",\n                        \"password\": \"wv78n3zpz42xezdk\",\n                        \"port\": 25060,\n                        \"ssl\": true,\n                        \"uri\": \"\",\n                        \"user\": \"doadmin\"\n                      },\n                      \"created_at\": \"2019-01-11T18:37:36Z\",\n                      \"name\": \"read-nyc3-01\",\n                      \"private_connection\": {\n                        \"database\": \"\",\n                        \"host\": \"private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com\",\n                        \"password\": \"wv78n3zpz42xezdk\",\n                        \"port\": 25060,\n                        \"ssl\": true,\n                        \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                        \"user\": \"doadmin\"\n                      },\n                      \"region\": \"nyc3\",\n                      \"status\": \"online\"\n                    }\n                  ]\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"replicas\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"connection\": {\n                            \"allOf\": [\n                              {\n                                \"readOnly\": true\n                              },\n                              {\n                                \"properties\": {\n                                  \"database\": {\n                                    \"description\": \"The name of the default database.\",\n                                    \"example\": \"defaultdb\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"host\": {\n                                    \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                    \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"password\": {\n                                    \"description\": \"The randomly generated password for the default user.\",\n                                    \"example\": \"wv78n3zpz42xezdk\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"port\": {\n                                    \"description\": \"The port on which the database cluster is listening.\",\n                                    \"example\": 25060,\n                                    \"readOnly\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"ssl\": {\n                                    \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                    \"example\": true,\n                                    \"readOnly\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"uri\": {\n                                    \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                    \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"user\": {\n                                    \"description\": \"The default user for the database.\",\n                                    \"example\": \"doadmin\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ]\n                          },\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the database cluster was created.\",\n                            \"example\": \"2019-01-11T18:37:36Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique ID that can be used to identify and reference a database replica.\",\n                            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"The name to give the read-only replicating\",\n                            \"example\": \"read-nyc3-01\",\n                            \"type\": \"string\"\n                          },\n                          \"private_connection\": {\n                            \"allOf\": [\n                              {\n                                \"readOnly\": true\n                              },\n                              {\n                                \"properties\": {\n                                  \"database\": {\n                                    \"description\": \"The name of the default database.\",\n                                    \"example\": \"defaultdb\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"host\": {\n                                    \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                    \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"password\": {\n                                    \"description\": \"The randomly generated password for the default user.\",\n                                    \"example\": \"wv78n3zpz42xezdk\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"port\": {\n                                    \"description\": \"The port on which the database cluster is listening.\",\n                                    \"example\": 25060,\n                                    \"readOnly\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"ssl\": {\n                                    \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                    \"example\": true,\n                                    \"readOnly\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"uri\": {\n                                    \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                    \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"user\": {\n                                    \"description\": \"The default user for the database.\",\n                                    \"example\": \"doadmin\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ]\n                          },\n                          \"private_network_uuid\": {\n                            \"description\": \"A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region.\",\n                            \"example\": \"9423cbad-9211-442f-820b-ef6915e99b5f\",\n                            \"type\": \"string\"\n                          },\n                          \"region\": {\n                            \"description\": \"A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster.\",\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          },\n                          \"size\": {\n                            \"description\": \"A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating.\",\n                            \"example\": \"db-s-2vcpu-4gb\",\n                            \"type\": \"string\",\n                            \"writeOnly\": true\n                          },\n                          \"status\": {\n                            \"description\": \"A string representing the current status of the database cluster.\",\n                            \"enum\": [\n                              \"creating\",\n                              \"online\",\n                              \"resizing\",\n                              \"migrating\",\n                              \"forking\"\n                            ],\n                            \"example\": \"creating\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"tags\": {\n                            \"description\": \"A flat array of tag names as strings to apply to the read-only replica after it is created. Tag names can either be existing or new tags.\",\n                            \"example\": [\n                              \"production\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"required\": [\n                          \"name\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `replicas`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Read-only Replicas\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    replicas, _, err := client.Databases.ListReplicas(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", nil)\\n}\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a read-only replica for a PostgreSQL or MySQL database cluster, send a POST request to `/v2/databases/$DATABASE_ID/replicas` specifying the name it should be given, the size of the node to be used, and the region where it will be located.\\n\\n**Note**: Read-only replicas are not supported for Redis clusters.\\n\\nThe response will be a JSON object with a key called `replica`. The value of this will be an object that contains the standard attributes associated with a database replica. The initial value of the read-only replica's `status` attribute will be `forking`. When the replica is ready to receive traffic, this will transition to `active`.\",\n        \"operationId\": \"databases_create_replica\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"name\": \"read-nyc3-01\",\n                \"region\": \"nyc3\",\n                \"size\": \"db-s-2vcpu-4gb\"\n              },\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"connection\": {\n                        \"allOf\": [\n                          {\n                            \"readOnly\": true\n                          },\n                          {\n                            \"properties\": {\n                              \"database\": {\n                                \"description\": \"The name of the default database.\",\n                                \"example\": \"defaultdb\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"host\": {\n                                \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"password\": {\n                                \"description\": \"The randomly generated password for the default user.\",\n                                \"example\": \"wv78n3zpz42xezdk\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"port\": {\n                                \"description\": \"The port on which the database cluster is listening.\",\n                                \"example\": 25060,\n                                \"readOnly\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"ssl\": {\n                                \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                \"example\": true,\n                                \"readOnly\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"uri\": {\n                                \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"user\": {\n                                \"description\": \"The default user for the database.\",\n                                \"example\": \"doadmin\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          }\n                        ]\n                      },\n                      \"created_at\": {\n                        \"description\": \"A time value given in ISO8601 combined date and time format that represents when the database cluster was created.\",\n                        \"example\": \"2019-01-11T18:37:36Z\",\n                        \"format\": \"date-time\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"id\": {\n                        \"description\": \"A unique ID that can be used to identify and reference a database replica.\",\n                        \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                        \"format\": \"uuid\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"name\": {\n                        \"description\": \"The name to give the read-only replicating\",\n                        \"example\": \"read-nyc3-01\",\n                        \"type\": \"string\"\n                      },\n                      \"private_connection\": {\n                        \"allOf\": [\n                          {\n                            \"readOnly\": true\n                          },\n                          {\n                            \"properties\": {\n                              \"database\": {\n                                \"description\": \"The name of the default database.\",\n                                \"example\": \"defaultdb\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"host\": {\n                                \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"password\": {\n                                \"description\": \"The randomly generated password for the default user.\",\n                                \"example\": \"wv78n3zpz42xezdk\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"port\": {\n                                \"description\": \"The port on which the database cluster is listening.\",\n                                \"example\": 25060,\n                                \"readOnly\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"ssl\": {\n                                \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                \"example\": true,\n                                \"readOnly\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"uri\": {\n                                \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"user\": {\n                                \"description\": \"The default user for the database.\",\n                                \"example\": \"doadmin\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          }\n                        ]\n                      },\n                      \"private_network_uuid\": {\n                        \"description\": \"A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region.\",\n                        \"example\": \"9423cbad-9211-442f-820b-ef6915e99b5f\",\n                        \"type\": \"string\"\n                      },\n                      \"region\": {\n                        \"description\": \"A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster.\",\n                        \"example\": \"nyc3\",\n                        \"type\": \"string\"\n                      },\n                      \"size\": {\n                        \"description\": \"A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating.\",\n                        \"example\": \"db-s-2vcpu-4gb\",\n                        \"type\": \"string\",\n                        \"writeOnly\": true\n                      },\n                      \"status\": {\n                        \"description\": \"A string representing the current status of the database cluster.\",\n                        \"enum\": [\n                          \"creating\",\n                          \"online\",\n                          \"resizing\",\n                          \"migrating\",\n                          \"forking\"\n                        ],\n                        \"example\": \"creating\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"tags\": {\n                        \"description\": \"A flat array of tag names as strings to apply to the read-only replica after it is created. Tag names can either be existing or new tags.\",\n                        \"example\": [\n                          \"production\"\n                        ],\n                        \"items\": {\n                          \"type\": \"string\"\n                        },\n                        \"type\": \"array\"\n                      }\n                    },\n                    \"required\": [\n                      \"name\"\n                    ],\n                    \"type\": \"object\"\n                  }\n                ],\n                \"required\": [\n                  \"name\",\n                  \"size\"\n                ]\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"replica\": {\n                    \"connection\": {\n                      \"database\": \"defaultdb\",\n                      \"host\": \"read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com\",\n                      \"password\": \"wv78n3zpz42xezdk\",\n                      \"port\": 25060,\n                      \"ssl\": true,\n                      \"uri\": \"\",\n                      \"user\": \"doadmin\"\n                    },\n                    \"created_at\": \"2019-01-11T18:37:36Z\",\n                    \"name\": \"read-nyc3-01\",\n                    \"private_connection\": {\n                      \"database\": \"\",\n                      \"host\": \"private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com\",\n                      \"password\": \"wv78n3zpz42xezdk\",\n                      \"port\": 25060,\n                      \"ssl\": true,\n                      \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                      \"user\": \"doadmin\"\n                    },\n                    \"region\": \"nyc3\",\n                    \"status\": \"online\"\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"replica\": {\n                      \"properties\": {\n                        \"connection\": {\n                          \"allOf\": [\n                            {\n                              \"readOnly\": true\n                            },\n                            {\n                              \"properties\": {\n                                \"database\": {\n                                  \"description\": \"The name of the default database.\",\n                                  \"example\": \"defaultdb\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"host\": {\n                                  \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                  \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"The randomly generated password for the default user.\",\n                                  \"example\": \"wv78n3zpz42xezdk\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"description\": \"The port on which the database cluster is listening.\",\n                                  \"example\": 25060,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"ssl\": {\n                                  \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"uri\": {\n                                  \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                  \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"user\": {\n                                  \"description\": \"The default user for the database.\",\n                                  \"example\": \"doadmin\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the database cluster was created.\",\n                          \"example\": \"2019-01-11T18:37:36Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique ID that can be used to identify and reference a database replica.\",\n                          \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                          \"format\": \"uuid\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"name\": {\n                          \"description\": \"The name to give the read-only replicating\",\n                          \"example\": \"read-nyc3-01\",\n                          \"type\": \"string\"\n                        },\n                        \"private_connection\": {\n                          \"allOf\": [\n                            {\n                              \"readOnly\": true\n                            },\n                            {\n                              \"properties\": {\n                                \"database\": {\n                                  \"description\": \"The name of the default database.\",\n                                  \"example\": \"defaultdb\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"host\": {\n                                  \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                  \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"The randomly generated password for the default user.\",\n                                  \"example\": \"wv78n3zpz42xezdk\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"description\": \"The port on which the database cluster is listening.\",\n                                  \"example\": 25060,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"ssl\": {\n                                  \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"uri\": {\n                                  \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                  \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"user\": {\n                                  \"description\": \"The default user for the database.\",\n                                  \"example\": \"doadmin\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"private_network_uuid\": {\n                          \"description\": \"A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region.\",\n                          \"example\": \"9423cbad-9211-442f-820b-ef6915e99b5f\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"description\": \"A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster.\",\n                          \"example\": \"nyc3\",\n                          \"type\": \"string\"\n                        },\n                        \"size\": {\n                          \"description\": \"A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating.\",\n                          \"example\": \"db-s-2vcpu-4gb\",\n                          \"type\": \"string\",\n                          \"writeOnly\": true\n                        },\n                        \"status\": {\n                          \"description\": \"A string representing the current status of the database cluster.\",\n                          \"enum\": [\n                            \"creating\",\n                            \"online\",\n                            \"resizing\",\n                            \"migrating\",\n                            \"forking\"\n                          ],\n                          \"example\": \"creating\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"tags\": {\n                          \"description\": \"A flat array of tag names as strings to apply to the read-only replica after it is created. Tag names can either be existing or new tags.\",\n                          \"example\": [\n                            \"production\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `replica`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a Read-only Replica\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"read-nyc3-01\\\", \\\"region\\\":\\\"nyc3\\\", \\\"size\\\": \\\"db-s-2vcpu-4gb\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    replicaRequest := &godo.DatabaseCreateReplicaRequest{\\n\\n        Name:   \\\"read-nyc3-01\\\",\\n        Region: \\\"nyc3\\\",\\n        Size:   \\\"db-s-2vcpu-4gb\\\",\\n    }\\n\\n    replica, _, err := client.Databases.CreateReplica(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", replicaRequest)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/replicas/{replica_name}\": {\n      \"delete\": {\n        \"description\": \"To destroy a specific read-only replica, send a DELETE request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`.\\n\\n**Note**: Read-only replicas are not supported for Redis clusters.\\n\\nA status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed.\",\n        \"operationId\": \"databases_destroy_replica\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of the database replica.\",\n            \"example\": \"read-nyc3-01\",\n            \"in\": \"path\",\n            \"name\": \"replica_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Destroy a Read-only Replica\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas/read-nyc3-01\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Databases.DeleteReplica(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", \\\"read-nyc3-01\\\")\\n}\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an existing database replica, send a GET request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`.\\n\\n**Note**: Read-only replicas are not supported for Redis clusters.\\n\\nThe response will be a JSON object with a `replica key`. This will be set to an object containing the standard database replica attributes.\",\n        \"operationId\": \"databases_get_replica\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of the database replica.\",\n            \"example\": \"read-nyc3-01\",\n            \"in\": \"path\",\n            \"name\": \"replica_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"replica\": {\n                    \"connection\": {\n                      \"database\": \"defaultdb\",\n                      \"host\": \"read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com\",\n                      \"password\": \"wv78n3zpz42xezdk\",\n                      \"port\": 25060,\n                      \"ssl\": true,\n                      \"uri\": \"\",\n                      \"user\": \"doadmin\"\n                    },\n                    \"created_at\": \"2019-01-11T18:37:36Z\",\n                    \"name\": \"read-nyc3-01\",\n                    \"private_connection\": {\n                      \"database\": \"\",\n                      \"host\": \"private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com\",\n                      \"password\": \"wv78n3zpz42xezdk\",\n                      \"port\": 25060,\n                      \"ssl\": true,\n                      \"uri\": \"postgres://doadmin:wv78n3zpz42xezdk@private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                      \"user\": \"doadmin\"\n                    },\n                    \"region\": \"nyc3\",\n                    \"status\": \"online\"\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"replica\": {\n                      \"properties\": {\n                        \"connection\": {\n                          \"allOf\": [\n                            {\n                              \"readOnly\": true\n                            },\n                            {\n                              \"properties\": {\n                                \"database\": {\n                                  \"description\": \"The name of the default database.\",\n                                  \"example\": \"defaultdb\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"host\": {\n                                  \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                  \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"The randomly generated password for the default user.\",\n                                  \"example\": \"wv78n3zpz42xezdk\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"description\": \"The port on which the database cluster is listening.\",\n                                  \"example\": 25060,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"ssl\": {\n                                  \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"uri\": {\n                                  \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                  \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"user\": {\n                                  \"description\": \"The default user for the database.\",\n                                  \"example\": \"doadmin\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the database cluster was created.\",\n                          \"example\": \"2019-01-11T18:37:36Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique ID that can be used to identify and reference a database replica.\",\n                          \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                          \"format\": \"uuid\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"name\": {\n                          \"description\": \"The name to give the read-only replicating\",\n                          \"example\": \"read-nyc3-01\",\n                          \"type\": \"string\"\n                        },\n                        \"private_connection\": {\n                          \"allOf\": [\n                            {\n                              \"readOnly\": true\n                            },\n                            {\n                              \"properties\": {\n                                \"database\": {\n                                  \"description\": \"The name of the default database.\",\n                                  \"example\": \"defaultdb\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"host\": {\n                                  \"description\": \"The FQDN pointing to the database cluster's current primary node.\",\n                                  \"example\": \"backend-do-user-19081923-0.db.ondigitalocean.com\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"password\": {\n                                  \"description\": \"The randomly generated password for the default user.\",\n                                  \"example\": \"wv78n3zpz42xezdk\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"description\": \"The port on which the database cluster is listening.\",\n                                  \"example\": 25060,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"ssl\": {\n                                  \"description\": \"A boolean value indicating if the connection should be made over SSL.\",\n                                  \"example\": true,\n                                  \"readOnly\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"uri\": {\n                                  \"description\": \"A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes.\",\n                                  \"example\": \"postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"user\": {\n                                  \"description\": \"The default user for the database.\",\n                                  \"example\": \"doadmin\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ]\n                        },\n                        \"private_network_uuid\": {\n                          \"description\": \"A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region.\",\n                          \"example\": \"9423cbad-9211-442f-820b-ef6915e99b5f\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"description\": \"A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster.\",\n                          \"example\": \"nyc3\",\n                          \"type\": \"string\"\n                        },\n                        \"size\": {\n                          \"description\": \"A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating.\",\n                          \"example\": \"db-s-2vcpu-4gb\",\n                          \"type\": \"string\",\n                          \"writeOnly\": true\n                        },\n                        \"status\": {\n                          \"description\": \"A string representing the current status of the database cluster.\",\n                          \"enum\": [\n                            \"creating\",\n                            \"online\",\n                            \"resizing\",\n                            \"migrating\",\n                            \"forking\"\n                          ],\n                          \"example\": \"creating\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"tags\": {\n                          \"description\": \"A flat array of tag names as strings to apply to the read-only replica after it is created. Tag names can either be existing or new tags.\",\n                          \"example\": [\n                            \"production\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `replica`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Read-only Replica\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas/read-nyc3-01\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    replica, _, err := client.Databases.GetReplica(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", \\\"read-nyc3-01\\\")\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote\": {\n      \"put\": {\n        \"description\": \"To promote a specific read-only replica, send a PUT request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME/promote`.\\n\\n**Note**: Read-only replicas are not supported for Redis clusters.\\n\\nA status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed.\",\n        \"operationId\": \"databases_promote_replica\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of the database replica.\",\n            \"example\": \"read-nyc3-01\",\n            \"in\": \"path\",\n            \"name\": \"replica_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Promote a Read-only Replica to become a Primary Cluster\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas/read-nyc3-01/promote\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Databases.PromoteReplicaToPrimary(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", \\\"read-nyc3-01\\\")\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/resize\": {\n      \"put\": {\n        \"description\": \"To resize a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/resize`. The body of the request must specify both the size and num_nodes attributes.\\nA successful request will receive a 202 Accepted status code with no body in response. Querying the database cluster will show that its status attribute will now be set to resizing. This will transition back to online when the resize operation has completed.\",\n        \"operationId\": \"databases_update_clusterSize\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"num_nodes\": 3,\n                \"size\": \"db-s-4vcpu-8gb\"\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"num_nodes\": {\n                    \"description\": \"The number of nodes in the database cluster. Valid values are are 1-3. In addition to the primary node, up to two standby nodes may be added for highly available configurations.\",\n                    \"example\": 3,\n                    \"format\": \"int32\",\n                    \"type\": \"integer\"\n                  },\n                  \"size\": {\n                    \"description\": \"A slug identifier representing desired the size of the nodes in the database cluster.\",\n                    \"example\": \"db-s-4vcpu-8gb\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"size\",\n                  \"num_nodes\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"202\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Resize a Database Cluster\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n-H \\\"Content-Type: application/json\\\" \\\\\\n-H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n-d '{\\\"size\\\":\\\"db-s-4vcpu-8gb\\\", \\\"num_nodes\\\":3}' \\\\\\n\\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/resize\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    pat := \\\"mytoken\\\"\\n\\n    client := godo.NewFromToken(pat)\\n    ctx := context.TODO()\\n\\n    resizeRequest := &godo.DatabaseResizeRequest{\\n        SizeSlug: \\\"db-s-4vcpu-8gb\\\",\\n        NumNodes: 3,\\n    }\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/sql_mode\": {\n      \"get\": {\n        \"description\": \"To retrieve the configured SQL modes for an existing MySQL cluster, send a GET request to `/v2/databases/$DATABASE_ID/sql_mode`.\\nThe response will be a JSON object with a `sql_mode` key. This will be set to a string representing the configured SQL modes.\",\n        \"operationId\": \"databases_get_sql_mode\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"sql_mode\": \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"sql_mode\": {\n                      \"description\": \"A string specifying the configured SQL modes for the MySQL cluster.\",\n                      \"example\": \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"sql_mode\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON string with a key of `sql_mode`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve the SQL Modes for a MySQL Cluster\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/sql_mode\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    sqlMode, _, err := client.Databases.GetSQLMode(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\")\\n}\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To configure the SQL modes for an existing MySQL cluster, send a PUT request to `/v2/databases/$DATABASE_ID/sql_mode` specifying the desired modes. See the official MySQL 8 documentation for a [full list of supported SQL modes](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sql-mode-full).\\nA successful request will receive a 204 No Content status code with no body in response.\",\n        \"operationId\": \"databases_update_sql_mode\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"sql_mode\": \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE\"\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"sql_mode\": {\n                    \"description\": \"A string specifying the configured SQL modes for the MySQL cluster.\",\n                    \"example\": \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"sql_mode\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update SQL Mode for a Cluster\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"sql_mode\\\":\\\"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/sql_mode\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    sqlMode := \\\"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE\\\"\\n    _, err := client.Databases.SetSQLMode(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", sqlMode)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/upgrade\": {\n      \"put\": {\n        \"description\": \"To upgrade the major version of a database, send a PUT request to `/v2/databases/$DATABASE_ID/upgrade`, specifying the target version.\\nA successful request will receive a 204 No Content status code with no body in response.\",\n        \"operationId\": \"databases_update_major_version\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"version\": \"14\"\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"version\": {\n                    \"description\": \"A string representing the version of the database engine in use for the cluster.\",\n                    \"example\": \"10\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Upgrade Major Version for a Database\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"version\\\":\\\"14\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/upgrade\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/users\": {\n      \"get\": {\n        \"description\": \"To list all of the users for your database cluster, send a GET request to\\n`/v2/databases/$DATABASE_ID/users`.\\n\\nNote: User management is not supported for Redis clusters.\\n\\nThe result will be a JSON object with a `users` key. This will be set to an array\\nof database user objects, each of which will contain the standard database user attributes.\\n\\nFor MySQL clusters, additional options will be contained in the mysql_settings object.\\n\",\n        \"operationId\": \"databases_list_users\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"users\": [\n                    {\n                      \"name\": \"app-01\",\n                      \"password\": \"jge5lfxtzhx42iff\",\n                      \"role\": \"normal\"\n                    },\n                    {\n                      \"name\": \"doadmin\",\n                      \"password\": \"wv78n3zpz42xezd\",\n                      \"role\": \"primary\"\n                    }\n                  ]\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"users\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"mysql_settings\": {\n                            \"properties\": {\n                              \"auth_plugin\": {\n                                \"description\": \"A string specifying the authentication method to be used for connections\\nto the MySQL user account. The valid values are `mysql_native_password`\\nor `caching_sha2_password`. If excluded when creating a new user, the\\ndefault for the version of MySQL in use will be used. As of MySQL 8.0, the\\ndefault is `caching_sha2_password`.\\n\",\n                                \"enum\": [\n                                  \"mysql_native_password\",\n                                  \"caching_sha2_password\"\n                                ],\n                                \"example\": \"mysql_native_password\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"auth_plugin\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"name\": {\n                            \"description\": \"The name of a database user.\",\n                            \"example\": \"app-01\",\n                            \"type\": \"string\"\n                          },\n                          \"password\": {\n                            \"description\": \"A randomly generated password for the database user.\",\n                            \"example\": \"jge5lfxtzhx42iff\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"role\": {\n                            \"description\": \"A string representing the database user's role. The value will be either\\n\\\"primary\\\" or \\\"normal\\\".\\n\",\n                            \"enum\": [\n                              \"primary\",\n                              \"normal\"\n                            ],\n                            \"example\": \"normal\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"name\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `users`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List all Database Users\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    users, _, err := client.Databases.ListUsers(ctx, \\\"88055188-9e54-4f21-ab11-8a918ed79ee2\\\", nil)\\n}\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To add a new database user, send a POST request to `/v2/databases/$DATABASE_ID/users`\\nwith the desired username.\\n\\nNote: User management is not supported for Redis clusters.\\n\\nWhen adding a user to a MySQL cluster, additional options can be configured in the\\n`mysql_settings` object.\\n\\nThe response will be a JSON object with a key called `user`. The value of this will be an\\nobject that contains the standard attributes associated with a database user including\\nits randomly generated password.\\n\",\n        \"operationId\": \"databases_add_user\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"examples\": {\n                \"Add New User\": {\n                  \"value\": {\n                    \"name\": \"app-01\"\n                  }\n                },\n                \"Add New User with MySQL Auth Plugin\": {\n                  \"value\": {\n                    \"mysql_settings\": {\n                      \"auth_plugin\": \"mysql_native_password\"\n                    },\n                    \"name\": \"app-02\"\n                  }\n                }\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"mysql_settings\": {\n                    \"properties\": {\n                      \"auth_plugin\": {\n                        \"description\": \"A string specifying the authentication method to be used for connections\\nto the MySQL user account. The valid values are `mysql_native_password`\\nor `caching_sha2_password`. If excluded when creating a new user, the\\ndefault for the version of MySQL in use will be used. As of MySQL 8.0, the\\ndefault is `caching_sha2_password`.\\n\",\n                        \"enum\": [\n                          \"mysql_native_password\",\n                          \"caching_sha2_password\"\n                        ],\n                        \"example\": \"mysql_native_password\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"required\": [\n                      \"auth_plugin\"\n                    ],\n                    \"type\": \"object\"\n                  },\n                  \"name\": {\n                    \"description\": \"The name of a database user.\",\n                    \"example\": \"app-01\",\n                    \"type\": \"string\"\n                  },\n                  \"password\": {\n                    \"description\": \"A randomly generated password for the database user.\",\n                    \"example\": \"jge5lfxtzhx42iff\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  },\n                  \"role\": {\n                    \"description\": \"A string representing the database user's role. The value will be either\\n\\\"primary\\\" or \\\"normal\\\".\\n\",\n                    \"enum\": [\n                      \"primary\",\n                      \"normal\"\n                    ],\n                    \"example\": \"normal\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"name\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"New User\": {\n                    \"value\": {\n                      \"user\": {\n                        \"name\": \"app-01\",\n                        \"password\": \"jge5lfxtzhx42iff\",\n                        \"role\": \"normal\"\n                      }\n                    }\n                  },\n                  \"New User with MySQL Auth Plugin\": {\n                    \"value\": {\n                      \"user\": {\n                        \"mysql_settings\": {\n                          \"auth_plugin\": \"mysql_native_password\"\n                        },\n                        \"name\": \"app-02\",\n                        \"password\": \"wv78n3zpz42xezdk\",\n                        \"role\": \"normal\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"user\": {\n                      \"properties\": {\n                        \"mysql_settings\": {\n                          \"properties\": {\n                            \"auth_plugin\": {\n                              \"description\": \"A string specifying the authentication method to be used for connections\\nto the MySQL user account. The valid values are `mysql_native_password`\\nor `caching_sha2_password`. If excluded when creating a new user, the\\ndefault for the version of MySQL in use will be used. As of MySQL 8.0, the\\ndefault is `caching_sha2_password`.\\n\",\n                              \"enum\": [\n                                \"mysql_native_password\",\n                                \"caching_sha2_password\"\n                              ],\n                              \"example\": \"mysql_native_password\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"auth_plugin\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"name\": {\n                          \"description\": \"The name of a database user.\",\n                          \"example\": \"app-01\",\n                          \"type\": \"string\"\n                        },\n                        \"password\": {\n                          \"description\": \"A randomly generated password for the database user.\",\n                          \"example\": \"jge5lfxtzhx42iff\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"role\": {\n                          \"description\": \"A string representing the database user's role. The value will be either\\n\\\"primary\\\" or \\\"normal\\\".\\n\",\n                          \"enum\": [\n                            \"primary\",\n                            \"normal\"\n                          ],\n                          \"example\": \"normal\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"required\": [\n                    \"user\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `user`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Add a Database User\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"app-01\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    addUserRequest := &godo.DatabaseCreateUserRequest{\\n        Name: \\\"app-01\\\",\\n    }\\n\\n    user, _, err := client.Databases.CreateUser(ctx, \\\"88055188-9e54-4f21-ab11-8a918ed79ee2\\\", addUserRequest)\\n\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/users/{username}\": {\n      \"delete\": {\n        \"description\": \"To remove a specific database user, send a DELETE request to\\n`/v2/databases/$DATABASE_ID/users/$USERNAME`.\\n\\nA status of 204 will be given. This indicates that the request was processed\\nsuccessfully, but that no response body is needed.\\n\\nNote: User management is not supported for Redis clusters.\\n\",\n        \"operationId\": \"databases_delete_user\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of the database user.\",\n            \"example\": \"app-01\",\n            \"in\": \"path\",\n            \"name\": \"username\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Remove a Database User\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users/app-01\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Databases.DeleteUser(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", \\\"app-01\\\")\\n}\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an existing database user, send a GET request to\\n`/v2/databases/$DATABASE_ID/users/$USERNAME`.\\n\\nNote: User management is not supported for Redis clusters.\\n\\nThe response will be a JSON object with a `user` key. This will be set to an object\\ncontaining the standard database user attributes.\\n\\nFor MySQL clusters, additional options will be contained in the mysql_settings\\nobject.\\n\",\n        \"operationId\": \"databases_get_user\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of the database user.\",\n            \"example\": \"app-01\",\n            \"in\": \"path\",\n            \"name\": \"username\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"New User\": {\n                    \"value\": {\n                      \"user\": {\n                        \"name\": \"app-01\",\n                        \"password\": \"jge5lfxtzhx42iff\",\n                        \"role\": \"normal\"\n                      }\n                    }\n                  },\n                  \"New User with MySQL Auth Plugin\": {\n                    \"value\": {\n                      \"user\": {\n                        \"mysql_settings\": {\n                          \"auth_plugin\": \"mysql_native_password\"\n                        },\n                        \"name\": \"app-02\",\n                        \"password\": \"wv78n3zpz42xezdk\",\n                        \"role\": \"normal\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"user\": {\n                      \"properties\": {\n                        \"mysql_settings\": {\n                          \"properties\": {\n                            \"auth_plugin\": {\n                              \"description\": \"A string specifying the authentication method to be used for connections\\nto the MySQL user account. The valid values are `mysql_native_password`\\nor `caching_sha2_password`. If excluded when creating a new user, the\\ndefault for the version of MySQL in use will be used. As of MySQL 8.0, the\\ndefault is `caching_sha2_password`.\\n\",\n                              \"enum\": [\n                                \"mysql_native_password\",\n                                \"caching_sha2_password\"\n                              ],\n                              \"example\": \"mysql_native_password\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"auth_plugin\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"name\": {\n                          \"description\": \"The name of a database user.\",\n                          \"example\": \"app-01\",\n                          \"type\": \"string\"\n                        },\n                        \"password\": {\n                          \"description\": \"A randomly generated password for the database user.\",\n                          \"example\": \"jge5lfxtzhx42iff\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"role\": {\n                          \"description\": \"A string representing the database user's role. The value will be either\\n\\\"primary\\\" or \\\"normal\\\".\\n\",\n                          \"enum\": [\n                            \"primary\",\n                            \"normal\"\n                          ],\n                          \"example\": \"normal\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"required\": [\n                    \"user\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `user`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Database User\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users/app-01\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    user, _, err := client.Databases.GetUser(ctx, \\\"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\\\", \\\"app-01\\\")\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/databases/{database_cluster_uuid}/users/{username}/reset_auth\": {\n      \"post\": {\n        \"description\": \"To reset the password for a database user, send a POST request to\\n`/v2/databases/$DATABASE_ID/users/$USERNAME/reset_auth`.\\n\\nFor `mysql` databases, the authentication method can be specifying by\\nincluding a key in the JSON body called `mysql_settings` with the `auth_plugin`\\nvalue specified.\\n\\nThe response will be a JSON object with a `user` key. This will be set to an\\nobject containing the standard database user attributes.\\n\",\n        \"operationId\": \"databases_reset_auth\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a database cluster.\",\n            \"example\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n            \"in\": \"path\",\n            \"name\": \"database_cluster_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of the database user.\",\n            \"example\": \"app-01\",\n            \"in\": \"path\",\n            \"name\": \"username\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"mysql_settings\": {\n                  \"auth_plugin\": \"caching_sha2_password\"\n                }\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"mysql_settings\": {\n                    \"properties\": {\n                      \"auth_plugin\": {\n                        \"description\": \"A string specifying the authentication method to be used for connections\\nto the MySQL user account. The valid values are `mysql_native_password`\\nor `caching_sha2_password`. If excluded when creating a new user, the\\ndefault for the version of MySQL in use will be used. As of MySQL 8.0, the\\ndefault is `caching_sha2_password`.\\n\",\n                        \"enum\": [\n                          \"mysql_native_password\",\n                          \"caching_sha2_password\"\n                        ],\n                        \"example\": \"mysql_native_password\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"required\": [\n                      \"auth_plugin\"\n                    ],\n                    \"type\": \"object\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"New User\": {\n                    \"value\": {\n                      \"user\": {\n                        \"name\": \"app-01\",\n                        \"password\": \"jge5lfxtzhx42iff\",\n                        \"role\": \"normal\"\n                      }\n                    }\n                  },\n                  \"New User with MySQL Auth Plugin\": {\n                    \"value\": {\n                      \"user\": {\n                        \"mysql_settings\": {\n                          \"auth_plugin\": \"mysql_native_password\"\n                        },\n                        \"name\": \"app-02\",\n                        \"password\": \"wv78n3zpz42xezdk\",\n                        \"role\": \"normal\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"user\": {\n                      \"properties\": {\n                        \"mysql_settings\": {\n                          \"properties\": {\n                            \"auth_plugin\": {\n                              \"description\": \"A string specifying the authentication method to be used for connections\\nto the MySQL user account. The valid values are `mysql_native_password`\\nor `caching_sha2_password`. If excluded when creating a new user, the\\ndefault for the version of MySQL in use will be used. As of MySQL 8.0, the\\ndefault is `caching_sha2_password`.\\n\",\n                              \"enum\": [\n                                \"mysql_native_password\",\n                                \"caching_sha2_password\"\n                              ],\n                              \"example\": \"mysql_native_password\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"auth_plugin\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"name\": {\n                          \"description\": \"The name of a database user.\",\n                          \"example\": \"app-01\",\n                          \"type\": \"string\"\n                        },\n                        \"password\": {\n                          \"description\": \"A randomly generated password for the database user.\",\n                          \"example\": \"jge5lfxtzhx42iff\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"role\": {\n                          \"description\": \"A string representing the database user's role. The value will be either\\n\\\"primary\\\" or \\\"normal\\\".\\n\",\n                          \"enum\": [\n                            \"primary\",\n                            \"normal\"\n                          ],\n                          \"example\": \"normal\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"required\": [\n                    \"user\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `user`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Reset a Database User's Password or Authentication Method\",\n        \"tags\": [\n          \"Databases\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"mysql_settings\\\":{\\\"auth_plugin\\\": \\\"caching_sha2_password\\\"}}' \\\\\\n  \\\"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users/app-01/reset_auth\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    resetUserAuthRequest := &godo.DatabaseResetUserAuthRequest{\\n        MySQLSettings: &DatabaseMySQLUserSettings{\\n            AuthPlugin: \\\"caching_sha2_password\\\",\\n         },\\n    }\\n    user, _, err := client.Databases.ResetUserAuth(ctx, \\\"88055188-9e54-4f21-ab11-8a918ed79ee2\\\", \\\"app-01\\\", resetuserAuthRequest)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/domains\": {\n      \"get\": {\n        \"description\": \"To retrieve a list of all of the domains in your account, send a GET request to `/v2/domains`.\",\n        \"operationId\": \"domains_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"domains\": {\n                          \"description\": \"Array of volumes.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"ip_address\": {\n                                \"description\": \"This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain.\",\n                                \"example\": \"192.0.2.1\",\n                                \"type\": \"string\",\n                                \"writeOnly\": true\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name.\",\n                                \"example\": \"example.com\",\n                                \"type\": \"string\"\n                              },\n                              \"ttl\": {\n                                \"description\": \"This value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                                \"example\": 1800,\n                                \"nullable\": true,\n                                \"readOnly\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"zone_file\": {\n                                \"description\": \"This attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource.\",\n                                \"example\": \"$ORIGIN example.com.\\n$TTL 1800\\nexample.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800\\nexample.com. 1800 IN NS ns1.digitalocean.com.\\nexample.com. 1800 IN NS ns2.digitalocean.com.\\nexample.com. 1800 IN NS ns3.digitalocean.com.\\nexample.com. 1800 IN A 1.2.3.4\\n\",\n                                \"nullable\": true,\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"required\": [\n                        \"domains\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"domains\": [\n                      {\n                        \"name\": \"example.com\",\n                        \"ttl\": 1800,\n                        \"zone_file\": \"$ORIGIN example.com.\\n$TTL 1800\\nexample.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800\\nexample.com. 1800 IN NS ns1.digitalocean.com.\\nexample.com. 1800 IN NS ns2.digitalocean.com.\\nexample.com. 1800 IN NS ns3.digitalocean.com.\\nexample.com. 1800 IN A 1.2.3.4\\n\"\n                      }\n                    ],\n                    \"links\": {},\n                    \"meta\": {\n                      \"total\": 1\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `domains`. The value of this will be an array of Domain objects, each of which contain the standard domain attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Domains\",\n        \"tags\": [\n          \"Domains\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/domains\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n      Page:    1,\\n      PerPage: 200,\\n    }\\n\\ndomains, _, err := client.Domains.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ndomains = client.domains.all\\ndomains.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a new domain, send a POST request to `/v2/domains`. Set the \\\"name\\\"\\nattribute to the domain name you are adding. Optionally, you may set the\\n\\\"ip_address\\\" attribute, and an A record will be automatically created pointing\\nto the apex domain.\\n\",\n        \"operationId\": \"domains_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"name\": \"example.com\"\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"ip_address\": {\n                    \"description\": \"This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain.\",\n                    \"example\": \"192.0.2.1\",\n                    \"type\": \"string\",\n                    \"writeOnly\": true\n                  },\n                  \"name\": {\n                    \"description\": \"The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name.\",\n                    \"example\": \"example.com\",\n                    \"type\": \"string\"\n                  },\n                  \"ttl\": {\n                    \"description\": \"This value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                    \"example\": 1800,\n                    \"nullable\": true,\n                    \"readOnly\": true,\n                    \"type\": \"integer\"\n                  },\n                  \"zone_file\": {\n                    \"description\": \"This attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource.\",\n                    \"example\": \"$ORIGIN example.com.\\n$TTL 1800\\nexample.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800\\nexample.com. 1800 IN NS ns1.digitalocean.com.\\nexample.com. 1800 IN NS ns2.digitalocean.com.\\nexample.com. 1800 IN NS ns3.digitalocean.com.\\nexample.com. 1800 IN A 1.2.3.4\\n\",\n                    \"nullable\": true,\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"domain\": {\n                      \"name\": \"example.com\",\n                      \"ttl\": 1800,\n                      \"zone_file\": null\n                    }\n                  },\n                  \"properties\": {\n                    \"domain\": {\n                      \"properties\": {\n                        \"ip_address\": {\n                          \"description\": \"This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain.\",\n                          \"example\": \"192.0.2.1\",\n                          \"type\": \"string\",\n                          \"writeOnly\": true\n                        },\n                        \"name\": {\n                          \"description\": \"The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name.\",\n                          \"example\": \"example.com\",\n                          \"type\": \"string\"\n                        },\n                        \"ttl\": {\n                          \"description\": \"This value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                          \"example\": 1800,\n                          \"nullable\": true,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"zone_file\": {\n                          \"description\": \"This attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource.\",\n                          \"example\": \"$ORIGIN example.com.\\n$TTL 1800\\nexample.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800\\nexample.com. 1800 IN NS ns1.digitalocean.com.\\nexample.com. 1800 IN NS ns2.digitalocean.com.\\nexample.com. 1800 IN NS ns3.digitalocean.com.\\nexample.com. 1800 IN A 1.2.3.4\\n\",\n                          \"nullable\": true,\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `domain`. The value of this will be an object that contains the standard attributes associated with a domain.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Domain\",\n        \"tags\": [\n          \"Domains\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"example.com\\\",\\\"ip_address\\\":\\\"1.2.3.4\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/domains\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n  \\\"context\\\"\\n  \\\"os\\\"\\n\\n  \\\"github.com/digitalocean/godo\\\"\\n  )\\n\\nfunc main() {\\n  token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n  client := godo.NewFromToken(token)\\n  ctx := context.TODO()\\n\\n  createRequest := &godo.DomainCreateRequest{\\n    Name:      \\\"example.com\\\",\\n    IPAddress: \\\"1.2.3.4\\\",\\n  }\\n\\n  domain, _, err := client.Domains.Create(ctx, createRequest)\\n\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ndomain = DropletKit::Domain.new(\\n  name: 'example.com',\\n  ip_address: '1.2.3.4'\\n)\\nclient.domains.create(domain)\"\n          }\n        ]\n      }\n    },\n    \"/v2/domains/{domain_name}\": {\n      \"delete\": {\n        \"description\": \"To delete a domain, send a DELETE request to `/v2/domains/$DOMAIN_NAME`.\\n\",\n        \"operationId\": \"domains_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of the domain itself.\",\n            \"example\": \"example.com\",\n            \"in\": \"path\",\n            \"name\": \"domain_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Domain\",\n        \"tags\": [\n          \"Domains\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/domains/example.com\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Domains.Delete(ctx, \\\"example.com\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.domains.delete(name: 'example.com')\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To get details about a specific domain, send a GET request to `/v2/domains/$DOMAIN_NAME`.\",\n        \"operationId\": \"domains_get\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of the domain itself.\",\n            \"example\": \"example.com\",\n            \"in\": \"path\",\n            \"name\": \"domain_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"domain\": {\n                      \"name\": \"example.com\",\n                      \"ttl\": 1800,\n                      \"zone_file\": \"$ORIGIN example.com.\\n$TTL 1800\\nexample.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982611 10800 3600 604800 1800\\nexample.com. 1800 IN NS ns1.digitalocean.com.\\nexample.com. 1800 IN NS ns2.digitalocean.com.\\nexample.com. 1800 IN NS ns3.digitalocean.com.\\nexample.com. 1800 IN A 1.2.3.4\\n\"\n                    }\n                  },\n                  \"properties\": {\n                    \"domain\": {\n                      \"properties\": {\n                        \"ip_address\": {\n                          \"description\": \"This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain.\",\n                          \"example\": \"192.0.2.1\",\n                          \"type\": \"string\",\n                          \"writeOnly\": true\n                        },\n                        \"name\": {\n                          \"description\": \"The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name.\",\n                          \"example\": \"example.com\",\n                          \"type\": \"string\"\n                        },\n                        \"ttl\": {\n                          \"description\": \"This value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                          \"example\": 1800,\n                          \"nullable\": true,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"zone_file\": {\n                          \"description\": \"This attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource.\",\n                          \"example\": \"$ORIGIN example.com.\\n$TTL 1800\\nexample.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800\\nexample.com. 1800 IN NS ns1.digitalocean.com.\\nexample.com. 1800 IN NS ns2.digitalocean.com.\\nexample.com. 1800 IN NS ns3.digitalocean.com.\\nexample.com. 1800 IN A 1.2.3.4\\n\",\n                          \"nullable\": true,\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `domain`. The value of this will be an object that contains the standard attributes defined for a domain.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Domain\",\n        \"tags\": [\n          \"Domains\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/domains/example.com\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    domain, _, err := client.Domains.Get(ctx, \\\"example.com\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.domains.find(name: 'example.com')\"\n          }\n        ]\n      }\n    },\n    \"/v2/domains/{domain_name}/records\": {\n      \"get\": {\n        \"description\": \"To get a listing of all records configured for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records`.\\nThe list of records returned can be filtered by using the `name` and `type` query parameters. For example, to only include A records for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records?type=A`. `name` must be a fully qualified record name. For example, to only include records matching `sub.example.com`, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. Both name and type may be used together.\\n\\n\",\n        \"operationId\": \"domains_list_records\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of the domain itself.\",\n            \"example\": \"example.com\",\n            \"in\": \"path\",\n            \"name\": \"domain_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.\",\n            \"example\": \"sub.example.com\",\n            \"in\": \"query\",\n            \"name\": \"name\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n            \"example\": \"A\",\n            \"in\": \"query\",\n            \"name\": \"type\",\n            \"schema\": {\n              \"enum\": [\n                \"A\",\n                \"AAAA\",\n                \"CAA\",\n                \"CNAME\",\n                \"MX\",\n                \"NS\",\n                \"SOA\",\n                \"SRV\",\n                \"TXT\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"All Domain Records\": {\n                    \"value\": {\n                      \"domain_records\": [\n                        {\n                          \"data\": \"ns1.digitalocean.com\",\n                          \"flags\": null,\n                          \"id\": 28448429,\n                          \"name\": \"@\",\n                          \"port\": null,\n                          \"priority\": null,\n                          \"tag\": null,\n                          \"ttl\": 1800,\n                          \"type\": \"NS\",\n                          \"weight\": null\n                        },\n                        {\n                          \"data\": \"ns2.digitalocean.com\",\n                          \"flags\": null,\n                          \"id\": 28448430,\n                          \"name\": \"@\",\n                          \"port\": null,\n                          \"priority\": null,\n                          \"tag\": null,\n                          \"ttl\": 1800,\n                          \"type\": \"NS\",\n                          \"weight\": null\n                        },\n                        {\n                          \"data\": \"ns3.digitalocean.com\",\n                          \"flags\": null,\n                          \"id\": 28448431,\n                          \"name\": \"@\",\n                          \"port\": null,\n                          \"priority\": null,\n                          \"tag\": null,\n                          \"ttl\": 1800,\n                          \"type\": \"NS\",\n                          \"weight\": null\n                        },\n                        {\n                          \"data\": \"1.2.3.4\",\n                          \"flags\": null,\n                          \"id\": 28448432,\n                          \"name\": \"@\",\n                          \"port\": null,\n                          \"priority\": null,\n                          \"tag\": null,\n                          \"ttl\": 1800,\n                          \"type\": \"A\",\n                          \"weight\": null\n                        }\n                      ],\n                      \"links\": {},\n                      \"meta\": {\n                        \"total\": 4\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"domain_records\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"data\": {\n                                \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                                \"example\": \"ns1.digitalocean.com\",\n                                \"type\": \"string\"\n                              },\n                              \"flags\": {\n                                \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                                \"example\": null,\n                                \"nullable\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique identifier for each domain record.\",\n                                \"example\": 28448429,\n                                \"readOnly\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"name\": {\n                                \"description\": \"The host name, alias, or service being defined by the record.\",\n                                \"example\": \"@\",\n                                \"type\": \"string\"\n                              },\n                              \"port\": {\n                                \"description\": \"The port for SRV records.\",\n                                \"example\": null,\n                                \"nullable\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"priority\": {\n                                \"description\": \"The priority for SRV and MX records.\",\n                                \"example\": null,\n                                \"nullable\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"tag\": {\n                                \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                                \"example\": null,\n                                \"nullable\": true,\n                                \"type\": \"string\"\n                              },\n                              \"ttl\": {\n                                \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                                \"example\": 1800,\n                                \"type\": \"integer\"\n                              },\n                              \"type\": {\n                                \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                                \"example\": \"NS\",\n                                \"type\": \"string\"\n                              },\n                              \"weight\": {\n                                \"description\": \"The weight for SRV records.\",\n                                \"example\": null,\n                                \"nullable\": true,\n                                \"type\": \"integer\"\n                              }\n                            },\n                            \"required\": [\n                              \"type\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `domain_records`. The value of this will be an array of domain record objects, each of which contains the standard domain record attributes. For attributes that are not used by a specific record type, a value of `null` will be returned. For instance, all records other than SRV will have `null` for the `weight` and `port` attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Domain Records\",\n        \"tags\": [\n          \"Domain Records\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/domains/example.com/records\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n      Page:    1,\\n      PerPage: 200,\\n    }\\n\\ndomains, _, err := client.Domains.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nrecords = client.domain_records.all(for_domain: 'example.com')\\nrecords.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a new record to a domain, send a POST request to\\n`/v2/domains/$DOMAIN_NAME/records`.\\n\\nThe request must include all of the required fields for the domain record type\\nbeing added.\\n\\nSee the [attribute table](#tag/Domain-Records) for details regarding record\\ntypes and their respective required attributes.\\n\",\n        \"operationId\": \"domains_create_record\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of the domain itself.\",\n            \"example\": \"example.com\",\n            \"in\": \"path\",\n            \"name\": \"domain_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"data\": \"162.10.66.0\",\n                \"flags\": null,\n                \"name\": \"www\",\n                \"port\": null,\n                \"priority\": null,\n                \"tag\": null,\n                \"ttl\": 1800,\n                \"type\": \"A\",\n                \"weight\": null\n              },\n              \"schema\": {\n                \"anyOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"data\": {\n                            \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                            \"example\": \"ns1.digitalocean.com\",\n                            \"type\": \"string\"\n                          },\n                          \"flags\": {\n                            \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique identifier for each domain record.\",\n                            \"example\": 28448429,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"name\": {\n                            \"description\": \"The host name, alias, or service being defined by the record.\",\n                            \"example\": \"@\",\n                            \"type\": \"string\"\n                          },\n                          \"port\": {\n                            \"description\": \"The port for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"priority\": {\n                            \"description\": \"The priority for SRV and MX records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"tag\": {\n                            \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ttl\": {\n                            \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                            \"example\": 1800,\n                            \"type\": \"integer\"\n                          },\n                          \"type\": {\n                            \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                            \"example\": \"NS\",\n                            \"type\": \"string\"\n                          },\n                          \"weight\": {\n                            \"description\": \"The weight for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"required\": [\n                          \"type\",\n                          \"name\",\n                          \"data\"\n                        ]\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"data\": {\n                            \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                            \"example\": \"ns1.digitalocean.com\",\n                            \"type\": \"string\"\n                          },\n                          \"flags\": {\n                            \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique identifier for each domain record.\",\n                            \"example\": 28448429,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"name\": {\n                            \"description\": \"The host name, alias, or service being defined by the record.\",\n                            \"example\": \"@\",\n                            \"type\": \"string\"\n                          },\n                          \"port\": {\n                            \"description\": \"The port for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"priority\": {\n                            \"description\": \"The priority for SRV and MX records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"tag\": {\n                            \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ttl\": {\n                            \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                            \"example\": 1800,\n                            \"type\": \"integer\"\n                          },\n                          \"type\": {\n                            \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                            \"example\": \"NS\",\n                            \"type\": \"string\"\n                          },\n                          \"weight\": {\n                            \"description\": \"The weight for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"required\": [\n                          \"type\",\n                          \"name\",\n                          \"data\"\n                        ]\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"data\": {\n                            \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                            \"example\": \"ns1.digitalocean.com\",\n                            \"type\": \"string\"\n                          },\n                          \"flags\": {\n                            \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique identifier for each domain record.\",\n                            \"example\": 28448429,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"name\": {\n                            \"description\": \"The host name, alias, or service being defined by the record.\",\n                            \"example\": \"@\",\n                            \"type\": \"string\"\n                          },\n                          \"port\": {\n                            \"description\": \"The port for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"priority\": {\n                            \"description\": \"The priority for SRV and MX records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"tag\": {\n                            \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ttl\": {\n                            \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                            \"example\": 1800,\n                            \"type\": \"integer\"\n                          },\n                          \"type\": {\n                            \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                            \"example\": \"NS\",\n                            \"type\": \"string\"\n                          },\n                          \"weight\": {\n                            \"description\": \"The weight for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"required\": [\n                          \"type\",\n                          \"name\",\n                          \"data\",\n                          \"flags\",\n                          \"tag\"\n                        ]\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"data\": {\n                            \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                            \"example\": \"ns1.digitalocean.com\",\n                            \"type\": \"string\"\n                          },\n                          \"flags\": {\n                            \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique identifier for each domain record.\",\n                            \"example\": 28448429,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"name\": {\n                            \"description\": \"The host name, alias, or service being defined by the record.\",\n                            \"example\": \"@\",\n                            \"type\": \"string\"\n                          },\n                          \"port\": {\n                            \"description\": \"The port for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"priority\": {\n                            \"description\": \"The priority for SRV and MX records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"tag\": {\n                            \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ttl\": {\n                            \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                            \"example\": 1800,\n                            \"type\": \"integer\"\n                          },\n                          \"type\": {\n                            \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                            \"example\": \"NS\",\n                            \"type\": \"string\"\n                          },\n                          \"weight\": {\n                            \"description\": \"The weight for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"required\": [\n                          \"type\",\n                          \"name\",\n                          \"data\"\n                        ]\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"data\": {\n                            \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                            \"example\": \"ns1.digitalocean.com\",\n                            \"type\": \"string\"\n                          },\n                          \"flags\": {\n                            \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique identifier for each domain record.\",\n                            \"example\": 28448429,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"name\": {\n                            \"description\": \"The host name, alias, or service being defined by the record.\",\n                            \"example\": \"@\",\n                            \"type\": \"string\"\n                          },\n                          \"port\": {\n                            \"description\": \"The port for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"priority\": {\n                            \"description\": \"The priority for SRV and MX records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"tag\": {\n                            \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ttl\": {\n                            \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                            \"example\": 1800,\n                            \"type\": \"integer\"\n                          },\n                          \"type\": {\n                            \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                            \"example\": \"NS\",\n                            \"type\": \"string\"\n                          },\n                          \"weight\": {\n                            \"description\": \"The weight for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"required\": [\n                          \"type\",\n                          \"data\",\n                          \"priority\"\n                        ]\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"data\": {\n                            \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                            \"example\": \"ns1.digitalocean.com\",\n                            \"type\": \"string\"\n                          },\n                          \"flags\": {\n                            \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique identifier for each domain record.\",\n                            \"example\": 28448429,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"name\": {\n                            \"description\": \"The host name, alias, or service being defined by the record.\",\n                            \"example\": \"@\",\n                            \"type\": \"string\"\n                          },\n                          \"port\": {\n                            \"description\": \"The port for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"priority\": {\n                            \"description\": \"The priority for SRV and MX records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"tag\": {\n                            \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ttl\": {\n                            \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                            \"example\": 1800,\n                            \"type\": \"integer\"\n                          },\n                          \"type\": {\n                            \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                            \"example\": \"NS\",\n                            \"type\": \"string\"\n                          },\n                          \"weight\": {\n                            \"description\": \"The weight for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"required\": [\n                          \"type\",\n                          \"name\",\n                          \"data\",\n                          \"flags\",\n                          \"tag\"\n                        ]\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"data\": {\n                            \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                            \"example\": \"ns1.digitalocean.com\",\n                            \"type\": \"string\"\n                          },\n                          \"flags\": {\n                            \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique identifier for each domain record.\",\n                            \"example\": 28448429,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"name\": {\n                            \"description\": \"The host name, alias, or service being defined by the record.\",\n                            \"example\": \"@\",\n                            \"type\": \"string\"\n                          },\n                          \"port\": {\n                            \"description\": \"The port for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"priority\": {\n                            \"description\": \"The priority for SRV and MX records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"tag\": {\n                            \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ttl\": {\n                            \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                            \"example\": 1800,\n                            \"type\": \"integer\"\n                          },\n                          \"type\": {\n                            \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                            \"example\": \"NS\",\n                            \"type\": \"string\"\n                          },\n                          \"weight\": {\n                            \"description\": \"The weight for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"required\": [\n                          \"type\",\n                          \"ttl\"\n                        ]\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"data\": {\n                            \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                            \"example\": \"ns1.digitalocean.com\",\n                            \"type\": \"string\"\n                          },\n                          \"flags\": {\n                            \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique identifier for each domain record.\",\n                            \"example\": 28448429,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"name\": {\n                            \"description\": \"The host name, alias, or service being defined by the record.\",\n                            \"example\": \"@\",\n                            \"type\": \"string\"\n                          },\n                          \"port\": {\n                            \"description\": \"The port for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"priority\": {\n                            \"description\": \"The priority for SRV and MX records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"tag\": {\n                            \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ttl\": {\n                            \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                            \"example\": 1800,\n                            \"type\": \"integer\"\n                          },\n                          \"type\": {\n                            \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                            \"example\": \"NS\",\n                            \"type\": \"string\"\n                          },\n                          \"weight\": {\n                            \"description\": \"The weight for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"required\": [\n                          \"type\",\n                          \"name\",\n                          \"data\",\n                          \"priority\",\n                          \"port\",\n                          \"flags\",\n                          \"tag\"\n                        ]\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"data\": {\n                            \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                            \"example\": \"ns1.digitalocean.com\",\n                            \"type\": \"string\"\n                          },\n                          \"flags\": {\n                            \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique identifier for each domain record.\",\n                            \"example\": 28448429,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"name\": {\n                            \"description\": \"The host name, alias, or service being defined by the record.\",\n                            \"example\": \"@\",\n                            \"type\": \"string\"\n                          },\n                          \"port\": {\n                            \"description\": \"The port for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"priority\": {\n                            \"description\": \"The priority for SRV and MX records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"tag\": {\n                            \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ttl\": {\n                            \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                            \"example\": 1800,\n                            \"type\": \"integer\"\n                          },\n                          \"type\": {\n                            \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                            \"example\": \"NS\",\n                            \"type\": \"string\"\n                          },\n                          \"weight\": {\n                            \"description\": \"The weight for SRV records.\",\n                            \"example\": null,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"required\": [\n                          \"type\",\n                          \"name\",\n                          \"data\",\n                          \"flags\",\n                          \"tag\"\n                        ]\n                      }\n                    ]\n                  }\n                ],\n                \"discriminator\": {\n                  \"mapping\": {\n                    \"A\": \"models/domain_record_types.yml#/domain_record_a\",\n                    \"AAAA\": \"models/domain_record_types.yml#/domain_record_aaaa\",\n                    \"CAA\": \"models/domain_record_types.yml#/domain_record_caa\",\n                    \"CNAME\": \"models/domain_record_types.yml#/domain_record_cname\",\n                    \"MX\": \"models/domain_record_types.yml#/domain_record_mx\",\n                    \"NS\": \"models/domain_record_types.yml#/domain_record_ns\",\n                    \"SOA\": \"models/domain_record_types.yml#/domain_record_soa\",\n                    \"SRV\": \"models/domain_record_types.yml#/domain_record_srv\",\n                    \"TXT\": \"models/domain_record_types.yml#/domain_record_txt\"\n                  },\n                  \"propertyName\": \"type\"\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"domain_record\": {\n                      \"data\": \"162.10.66.0\",\n                      \"flags\": null,\n                      \"id\": 28448433,\n                      \"name\": \"www\",\n                      \"port\": null,\n                      \"priority\": null,\n                      \"tag\": null,\n                      \"ttl\": 1800,\n                      \"type\": \"A\",\n                      \"weight\": null\n                    }\n                  },\n                  \"properties\": {\n                    \"domain_record\": {\n                      \"properties\": {\n                        \"data\": {\n                          \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                          \"example\": \"ns1.digitalocean.com\",\n                          \"type\": \"string\"\n                        },\n                        \"flags\": {\n                          \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique identifier for each domain record.\",\n                          \"example\": 28448429,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"name\": {\n                          \"description\": \"The host name, alias, or service being defined by the record.\",\n                          \"example\": \"@\",\n                          \"type\": \"string\"\n                        },\n                        \"port\": {\n                          \"description\": \"The port for SRV records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"priority\": {\n                          \"description\": \"The priority for SRV and MX records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"tag\": {\n                          \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"string\"\n                        },\n                        \"ttl\": {\n                          \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                          \"example\": 1800,\n                          \"type\": \"integer\"\n                        },\n                        \"type\": {\n                          \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                          \"example\": \"NS\",\n                          \"type\": \"string\"\n                        },\n                        \"weight\": {\n                          \"description\": \"The weight for SRV records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        }\n                      },\n                      \"required\": [\n                        \"type\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response body will be a JSON object with a key called `domain_record`. The value of this will be an object representing the new record. Attributes that are not applicable for the record type will be set to `null`. An `id` attribute is generated for each record as part of the object.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Domain Record\",\n        \"tags\": [\n          \"Domain Records\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"A\\\",\\\"name\\\":\\\"www\\\",\\\"data\\\":\\\"162.10.66.0\\\",\\\"priority\\\":null,\\\"port\\\":null,\\\"ttl\\\":1800,\\\"weight\\\":null,\\\"flags\\\":null,\\\"tag\\\":null}' \\\\\\n  \\\"https://api.digitalocean.com/v2/domains/example.com/records\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &godo.DomainRecordEditRequest{\\n      Type: \\\"A\\\",\\n      Name: \\\"www\\\",\\n      Data: \\\"1.2.3.4\\\",\\n    }\\n\\n    domainRecord, _, err := client.Domains.CreateRecord(ctx, \\\"example.com\\\", createRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nrecord = DropletKit::DomainRecord.new(\\n  type: 'A',\\n  name: 'www',\\n  data: '162.10.66.0'\\n)\\nclient.domain_records.create(record, for_domain: 'example.com')\"\n          }\n        ]\n      }\n    },\n    \"/v2/domains/{domain_name}/records/{domain_record_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a record for a domain, send a DELETE request to\\n`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`.\\n\\nThe record will be deleted and the response status will be a 204. This\\nindicates a successful request with no body returned.\\n\",\n        \"operationId\": \"domains_delete_record\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of the domain itself.\",\n            \"example\": \"example.com\",\n            \"in\": \"path\",\n            \"name\": \"domain_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The unique identifier of the domain record.\",\n            \"example\": 3352896,\n            \"in\": \"path\",\n            \"name\": \"domain_record_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Domain Record\",\n        \"tags\": [\n          \"Domain Records\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/domains/example.com/records/3352896\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Domains.DeleteRecord(ctx, \\\"example.com\\\", 3352896)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.domain_records.delete(for_domain: 'example.com', id: 3352896)\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To retrieve a specific domain record, send a GET request to `/v2/domains/$DOMAIN_NAME/records/$RECORD_ID`.\",\n        \"operationId\": \"domains_get_record\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of the domain itself.\",\n            \"example\": \"example.com\",\n            \"in\": \"path\",\n            \"name\": \"domain_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The unique identifier of the domain record.\",\n            \"example\": 3352896,\n            \"in\": \"path\",\n            \"name\": \"domain_record_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"domain_record\": {\n                      \"data\": \"162.10.66.0\",\n                      \"flags\": null,\n                      \"id\": 3352896,\n                      \"name\": \"blog\",\n                      \"port\": null,\n                      \"priority\": null,\n                      \"tag\": null,\n                      \"ttl\": 1800,\n                      \"type\": \"A\",\n                      \"weight\": null\n                    }\n                  },\n                  \"properties\": {\n                    \"domain_record\": {\n                      \"properties\": {\n                        \"data\": {\n                          \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                          \"example\": \"ns1.digitalocean.com\",\n                          \"type\": \"string\"\n                        },\n                        \"flags\": {\n                          \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique identifier for each domain record.\",\n                          \"example\": 28448429,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"name\": {\n                          \"description\": \"The host name, alias, or service being defined by the record.\",\n                          \"example\": \"@\",\n                          \"type\": \"string\"\n                        },\n                        \"port\": {\n                          \"description\": \"The port for SRV records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"priority\": {\n                          \"description\": \"The priority for SRV and MX records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"tag\": {\n                          \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"string\"\n                        },\n                        \"ttl\": {\n                          \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                          \"example\": 1800,\n                          \"type\": \"integer\"\n                        },\n                        \"type\": {\n                          \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                          \"example\": \"NS\",\n                          \"type\": \"string\"\n                        },\n                        \"weight\": {\n                          \"description\": \"The weight for SRV records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        }\n                      },\n                      \"required\": [\n                        \"type\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `domain_record`. The value of this will be a domain record object which contains the standard domain record attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Domain Record\",\n        \"tags\": [\n          \"Domain Records\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/domains/example.com/records/3352896\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    record, _, err := client.Domains.Record(ctx, \\\"example.com\\\", 3352896)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.domain_records.find(for_domain: 'example.com', id: 3352896)\"\n          }\n        ]\n      },\n      \"patch\": {\n        \"description\": \"To update an existing record, send a PATCH request to\\n`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for\\nthe record type can be set to a new value for the record.\\n\\nSee the [attribute table](#tag/Domain-Records) for details regarding record\\ntypes and their respective attributes.\\n\",\n        \"operationId\": \"domains_patch_record\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of the domain itself.\",\n            \"example\": \"example.com\",\n            \"in\": \"path\",\n            \"name\": \"domain_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The unique identifier of the domain record.\",\n            \"example\": 3352896,\n            \"in\": \"path\",\n            \"name\": \"domain_record_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"name\": \"blog\",\n                \"type\": \"A\"\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"data\": {\n                    \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                    \"example\": \"ns1.digitalocean.com\",\n                    \"type\": \"string\"\n                  },\n                  \"flags\": {\n                    \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                    \"example\": null,\n                    \"nullable\": true,\n                    \"type\": \"integer\"\n                  },\n                  \"id\": {\n                    \"description\": \"A unique identifier for each domain record.\",\n                    \"example\": 28448429,\n                    \"readOnly\": true,\n                    \"type\": \"integer\"\n                  },\n                  \"name\": {\n                    \"description\": \"The host name, alias, or service being defined by the record.\",\n                    \"example\": \"@\",\n                    \"type\": \"string\"\n                  },\n                  \"port\": {\n                    \"description\": \"The port for SRV records.\",\n                    \"example\": null,\n                    \"nullable\": true,\n                    \"type\": \"integer\"\n                  },\n                  \"priority\": {\n                    \"description\": \"The priority for SRV and MX records.\",\n                    \"example\": null,\n                    \"nullable\": true,\n                    \"type\": \"integer\"\n                  },\n                  \"tag\": {\n                    \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                    \"example\": null,\n                    \"nullable\": true,\n                    \"type\": \"string\"\n                  },\n                  \"ttl\": {\n                    \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                    \"example\": 1800,\n                    \"type\": \"integer\"\n                  },\n                  \"type\": {\n                    \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                    \"example\": \"NS\",\n                    \"type\": \"string\"\n                  },\n                  \"weight\": {\n                    \"description\": \"The weight for SRV records.\",\n                    \"example\": null,\n                    \"nullable\": true,\n                    \"type\": \"integer\"\n                  }\n                },\n                \"required\": [\n                  \"type\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"domain_record\": {\n                      \"data\": \"162.10.66.0\",\n                      \"flags\": null,\n                      \"id\": 3352896,\n                      \"name\": \"blog\",\n                      \"port\": null,\n                      \"priority\": null,\n                      \"tag\": null,\n                      \"ttl\": 1800,\n                      \"type\": \"A\",\n                      \"weight\": null\n                    }\n                  },\n                  \"properties\": {\n                    \"domain_record\": {\n                      \"properties\": {\n                        \"data\": {\n                          \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                          \"example\": \"ns1.digitalocean.com\",\n                          \"type\": \"string\"\n                        },\n                        \"flags\": {\n                          \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique identifier for each domain record.\",\n                          \"example\": 28448429,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"name\": {\n                          \"description\": \"The host name, alias, or service being defined by the record.\",\n                          \"example\": \"@\",\n                          \"type\": \"string\"\n                        },\n                        \"port\": {\n                          \"description\": \"The port for SRV records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"priority\": {\n                          \"description\": \"The priority for SRV and MX records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"tag\": {\n                          \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"string\"\n                        },\n                        \"ttl\": {\n                          \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                          \"example\": 1800,\n                          \"type\": \"integer\"\n                        },\n                        \"type\": {\n                          \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                          \"example\": \"NS\",\n                          \"type\": \"string\"\n                        },\n                        \"weight\": {\n                          \"description\": \"The weight for SRV records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        }\n                      },\n                      \"required\": [\n                        \"type\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `domain_record`. The value of this will be a domain record object which contains the standard domain record attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update a Domain Record\",\n        \"tags\": [\n          \"Domain Records\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PATCH \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"blog\\\",\\\"type\\\":\\\"A\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/domains/example.com/records/3352896\\\"\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update an existing record, send a PUT request to\\n`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for\\nthe record type can be set to a new value for the record.\\n\\nSee the [attribute table](#tag/Domain-Records) for details regarding record\\ntypes and their respective attributes.\\n\",\n        \"operationId\": \"domains_update_record\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of the domain itself.\",\n            \"example\": \"example.com\",\n            \"in\": \"path\",\n            \"name\": \"domain_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The unique identifier of the domain record.\",\n            \"example\": 3352896,\n            \"in\": \"path\",\n            \"name\": \"domain_record_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"name\": \"blog\",\n                \"type\": \"CNAME\"\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"data\": {\n                    \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                    \"example\": \"ns1.digitalocean.com\",\n                    \"type\": \"string\"\n                  },\n                  \"flags\": {\n                    \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                    \"example\": null,\n                    \"nullable\": true,\n                    \"type\": \"integer\"\n                  },\n                  \"id\": {\n                    \"description\": \"A unique identifier for each domain record.\",\n                    \"example\": 28448429,\n                    \"readOnly\": true,\n                    \"type\": \"integer\"\n                  },\n                  \"name\": {\n                    \"description\": \"The host name, alias, or service being defined by the record.\",\n                    \"example\": \"@\",\n                    \"type\": \"string\"\n                  },\n                  \"port\": {\n                    \"description\": \"The port for SRV records.\",\n                    \"example\": null,\n                    \"nullable\": true,\n                    \"type\": \"integer\"\n                  },\n                  \"priority\": {\n                    \"description\": \"The priority for SRV and MX records.\",\n                    \"example\": null,\n                    \"nullable\": true,\n                    \"type\": \"integer\"\n                  },\n                  \"tag\": {\n                    \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                    \"example\": null,\n                    \"nullable\": true,\n                    \"type\": \"string\"\n                  },\n                  \"ttl\": {\n                    \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                    \"example\": 1800,\n                    \"type\": \"integer\"\n                  },\n                  \"type\": {\n                    \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                    \"example\": \"NS\",\n                    \"type\": \"string\"\n                  },\n                  \"weight\": {\n                    \"description\": \"The weight for SRV records.\",\n                    \"example\": null,\n                    \"nullable\": true,\n                    \"type\": \"integer\"\n                  }\n                },\n                \"required\": [\n                  \"type\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"domain_record\": {\n                      \"data\": \"162.10.66.0\",\n                      \"flags\": null,\n                      \"id\": 3352896,\n                      \"name\": \"blog\",\n                      \"port\": null,\n                      \"priority\": null,\n                      \"tag\": null,\n                      \"ttl\": 1800,\n                      \"type\": \"A\",\n                      \"weight\": null\n                    }\n                  },\n                  \"properties\": {\n                    \"domain_record\": {\n                      \"properties\": {\n                        \"data\": {\n                          \"description\": \"Variable data depending on record type. For example, the \\\"data\\\" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.\",\n                          \"example\": \"ns1.digitalocean.com\",\n                          \"type\": \"string\"\n                        },\n                        \"flags\": {\n                          \"description\": \"An unsigned integer between 0-255 used for CAA records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique identifier for each domain record.\",\n                          \"example\": 28448429,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"name\": {\n                          \"description\": \"The host name, alias, or service being defined by the record.\",\n                          \"example\": \"@\",\n                          \"type\": \"string\"\n                        },\n                        \"port\": {\n                          \"description\": \"The port for SRV records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"priority\": {\n                          \"description\": \"The priority for SRV and MX records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"tag\": {\n                          \"description\": \"The parameter tag for CAA records. Valid values are \\\"issue\\\", \\\"issuewild\\\", or \\\"iodef\\\"\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"string\"\n                        },\n                        \"ttl\": {\n                          \"description\": \"This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.\",\n                          \"example\": 1800,\n                          \"type\": \"integer\"\n                        },\n                        \"type\": {\n                          \"description\": \"The type of the DNS record. For example: A, CNAME, TXT, ...\",\n                          \"example\": \"NS\",\n                          \"type\": \"string\"\n                        },\n                        \"weight\": {\n                          \"description\": \"The weight for SRV records.\",\n                          \"example\": null,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        }\n                      },\n                      \"required\": [\n                        \"type\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `domain_record`. The value of this will be a domain record object which contains the standard domain record attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update a Domain Record\",\n        \"tags\": [\n          \"Domain Records\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"blog\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/domains/example.com/records/3352896\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    editRequest := &godo.DomainRecordEditRequest{\\n      Type: \\\"A\\\",\\n      Name: \\\"blog\\\",\\n    }\\n\\n    domainRecord, _, err := client.Domains.EditRecord(ctx, \\\"example.com\\\", 3352896, editRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nrecord = DropletKit::DomainRecord.new(name: 'blog')\\nclient.domain_records.update(record, for_domain: 'example.com', id: 3352896)\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets\": {\n      \"delete\": {\n        \"description\": \"To delete **all** Droplets assigned to a specific tag, include the `tag_name`\\nquery parameter set to the name of the tag in your DELETE request. For\\nexample,  `/v2/droplets?tag_name=$TAG_NAME`.\\n\\nA successful request will receive a 204 status code with no body in response.\\nThis indicates that the request was processed successfully.\\n\",\n        \"operationId\": \"droplets_destroy_byTag\",\n        \"parameters\": [\n          {\n            \"description\": \"Specifies Droplets to be deleted by tag.\",\n            \"example\": \"env:test\",\n            \"in\": \"query\",\n            \"name\": \"tag_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty. This response has content-type set.\",\n            \"headers\": {\n              \"content-type\": {\n                \"description\": \"The type of data that is returned from a request. \",\n                \"example\": \"application/json; charset=utf-8\",\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              },\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Deleting Droplets by Tag\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets?tag_name=awesome\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    client.Droplets.DeleteByTag(ctx, \\\"awesome\\\") \\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.droplets.delete_for_tag(tag_name: awesome)\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To list all Droplets in your account, send a GET request to `/v2/droplets`.\\n\\nThe response body will be a JSON object with a key of `droplets`. This will be\\nset to an array containing objects each representing a Droplet. These will\\ncontain the standard Droplet attributes.\\n\\n### Filtering Results by Tag\\n\\nIt's possible to request filtered results by including certain query parameters.\\nTo only list Droplets assigned to a specific tag, include the `tag_name` query\\nparameter set to the name of the tag in your GET request. For example,\\n`/v2/droplets?tag_name=$TAG_NAME`.\\n\",\n        \"operationId\": \"droplets_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Used to filter Droplets by a specific tag. Can not be combined with `name`.\",\n            \"example\": \"env:prod\",\n            \"in\": \"query\",\n            \"name\": \"tag_name\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Used to filter list response by Droplet name returning only exact matches. It is case-insensitive and can not be combined with `tag_name`.\",\n            \"example\": \"web-01\",\n            \"in\": \"query\",\n            \"name\": \"name\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"All Droplets\": {\n                    \"value\": {\n                      \"droplets\": [\n                        {\n                          \"backup_ids\": [\n                            53893572\n                          ],\n                          \"created_at\": \"2020-07-21T18:37:44Z\",\n                          \"disk\": 25,\n                          \"features\": [\n                            \"backups\",\n                            \"private_networking\",\n                            \"ipv6\"\n                          ],\n                          \"id\": 3164444,\n                          \"image\": {\n                            \"created_at\": \"2020-05-15T05:47:50Z\",\n                            \"description\": \"\",\n                            \"distribution\": \"Ubuntu\",\n                            \"error_message\": \"\",\n                            \"id\": 63663980,\n                            \"min_disk_size\": 20,\n                            \"name\": \"20.04 (LTS) x64\",\n                            \"public\": true,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"size_gigabytes\": 2.36,\n                            \"slug\": \"ubuntu-20-04-x64\",\n                            \"status\": \"available\",\n                            \"tags\": [],\n                            \"type\": \"snapshot\"\n                          },\n                          \"kernel\": null,\n                          \"locked\": false,\n                          \"memory\": 1024,\n                          \"name\": \"example.com\",\n                          \"networks\": {\n                            \"v4\": [\n                              {\n                                \"gateway\": \"nil\",\n                                \"ip_address\": \"10.128.192.124\",\n                                \"netmask\": \"255.255.0.0\",\n                                \"type\": \"private\"\n                              },\n                              {\n                                \"gateway\": \"192.241.165.1\",\n                                \"ip_address\": \"192.241.165.154\",\n                                \"netmask\": \"255.255.255.0\",\n                                \"type\": \"public\"\n                              }\n                            ],\n                            \"v6\": [\n                              {\n                                \"gateway\": \"2604:a880:0:1010::1\",\n                                \"ip_address\": \"2604:a880:0:1010::18a:a001\",\n                                \"netmask\": 64,\n                                \"type\": \"public\"\n                              }\n                            ]\n                          },\n                          \"next_backup_window\": {\n                            \"end\": \"2020-07-30T23:00:00Z\",\n                            \"start\": \"2020-07-30T00:00:00Z\"\n                          },\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\",\n                              \"install_agent\",\n                              \"storage\",\n                              \"image_transfer\"\n                            ],\n                            \"name\": \"New York 3\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192g\"\n                            ],\n                            \"slug\": \"nyc3\"\n                          },\n                          \"size\": {\n                            \"available\": true,\n                            \"description\": \"Basic\",\n                            \"disk\": 25,\n                            \"memory\": 1024,\n                            \"price_hourly\": 0.00743999984115362,\n                            \"price_monthly\": 5,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"slug\": \"s-1vcpu-1gb\",\n                            \"transfer\": 1,\n                            \"vcpus\": 1\n                          },\n                          \"size_slug\": \"s-1vcpu-1gb\",\n                          \"snapshot_ids\": [\n                            67512819\n                          ],\n                          \"status\": \"active\",\n                          \"tags\": [\n                            \"web\",\n                            \"env:prod\"\n                          ],\n                          \"vcpus\": 1,\n                          \"volume_ids\": [],\n                          \"vpc_uuid\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\"\n                        },\n                        {\n                          \"backup_ids\": [],\n                          \"created_at\": \"2020-07-21T18:42:27Z\",\n                          \"disk\": 25,\n                          \"features\": [\n                            \"private_networking\"\n                          ],\n                          \"id\": 3164459,\n                          \"image\": {\n                            \"created_at\": \"2020-05-15T05:47:50Z\",\n                            \"description\": \"\",\n                            \"distribution\": \"Ubuntu\",\n                            \"error_message\": \"\",\n                            \"id\": 63663980,\n                            \"min_disk_size\": 20,\n                            \"name\": \"20.04 (LTS) x64\",\n                            \"public\": true,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"size_gigabytes\": 2.36,\n                            \"slug\": \"ubuntu-20-04-x64\",\n                            \"status\": \"available\",\n                            \"tags\": [],\n                            \"type\": \"snapshot\"\n                          },\n                          \"kernel\": null,\n                          \"locked\": false,\n                          \"memory\": 1024,\n                          \"name\": \"assets.example.com\",\n                          \"networks\": {\n                            \"v4\": [\n                              {\n                                \"gateway\": \"nil\",\n                                \"ip_address\": \"10.128.192.138\",\n                                \"netmask\": \"255.255.0.0\",\n                                \"type\": \"private\"\n                              },\n                              {\n                                \"gateway\": \"162.243.0.1\",\n                                \"ip_address\": \"162.243.0.4\",\n                                \"netmask\": \"255.255.255.0\",\n                                \"type\": \"public\"\n                              }\n                            ],\n                            \"v6\": []\n                          },\n                          \"next_backup_window\": {\n                            \"end\": \"2020-07-30T23:00:00Z\",\n                            \"start\": \"2020-07-30T00:00:00Z\"\n                          },\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\",\n                              \"install_agent\",\n                              \"storage\",\n                              \"image_transfer\"\n                            ],\n                            \"name\": \"New York 3\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192g\"\n                            ],\n                            \"slug\": \"nyc3\"\n                          },\n                          \"size\": {\n                            \"available\": true,\n                            \"description\": \"Basic\",\n                            \"disk\": 25,\n                            \"memory\": 1024,\n                            \"price_hourly\": 0.00743999984115362,\n                            \"price_monthly\": 5,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"slug\": \"s-1vcpu-1gb\",\n                            \"transfer\": 1,\n                            \"vcpus\": 1\n                          },\n                          \"size_slug\": \"s-1vcpu-1gb\",\n                          \"snapshot_ids\": [],\n                          \"status\": \"active\",\n                          \"tags\": [\n                            \"storage\",\n                            \"env:prod\"\n                          ],\n                          \"vcpus\": 1,\n                          \"volume_ids\": [\n                            \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                          ],\n                          \"vpc_uuid\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\"\n                        },\n                        {\n                          \"backup_ids\": [],\n                          \"created_at\": \"2020-07-21T18:32:55Z\",\n                          \"disk\": 25,\n                          \"features\": [\n                            \"private_networking\"\n                          ],\n                          \"id\": 3164412,\n                          \"image\": {\n                            \"created_at\": \"2020-05-15T05:47:50Z\",\n                            \"description\": \"\",\n                            \"distribution\": \"Ubuntu\",\n                            \"error_message\": \"\",\n                            \"id\": 63663980,\n                            \"min_disk_size\": 20,\n                            \"name\": \"20.04 (LTS) x64\",\n                            \"public\": true,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"size_gigabytes\": 2.36,\n                            \"slug\": \"ubuntu-20-04-x64\",\n                            \"status\": \"available\",\n                            \"tags\": [],\n                            \"type\": \"snapshot\"\n                          },\n                          \"kernel\": null,\n                          \"locked\": false,\n                          \"memory\": 1024,\n                          \"name\": \"stage.example.com\",\n                          \"networks\": {\n                            \"v4\": [\n                              {\n                                \"gateway\": \"nil\",\n                                \"ip_address\": \"10.128.192.125\",\n                                \"netmask\": \"255.255.0.0\",\n                                \"type\": \"private\"\n                              },\n                              {\n                                \"gateway\": \"192.241.247.1\",\n                                \"ip_address\": \"192.241.247.248\",\n                                \"netmask\": \"255.255.255.0\",\n                                \"type\": \"public\"\n                              }\n                            ],\n                            \"v6\": []\n                          },\n                          \"next_backup_window\": {\n                            \"end\": \"2020-07-30T23:00:00Z\",\n                            \"start\": \"2020-07-30T00:00:00Z\"\n                          },\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\",\n                              \"install_agent\",\n                              \"storage\",\n                              \"image_transfer\"\n                            ],\n                            \"name\": \"New York 3\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192g\"\n                            ],\n                            \"slug\": \"nyc3\"\n                          },\n                          \"size\": {\n                            \"available\": true,\n                            \"description\": \"Basic\",\n                            \"disk\": 25,\n                            \"memory\": 1024,\n                            \"price_hourly\": 0.00743999984115362,\n                            \"price_monthly\": 5,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"slug\": \"s-1vcpu-1gb\",\n                            \"transfer\": 1,\n                            \"vcpus\": 1\n                          },\n                          \"size_slug\": \"s-1vcpu-1gb\",\n                          \"snapshot_ids\": [],\n                          \"status\": \"active\",\n                          \"tags\": [\n                            \"env:stage\"\n                          ],\n                          \"vcpus\": 1,\n                          \"volume_ids\": [\n                            \"7724db7c-e098-11e5-b522-000f53304e51\"\n                          ],\n                          \"vpc_uuid\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\"\n                        }\n                      ],\n                      \"links\": {\n                        \"pages\": {}\n                      },\n                      \"meta\": {\n                        \"total\": 3\n                      }\n                    }\n                  },\n                  \"Droplets Filtered By Tag\": {\n                    \"value\": {\n                      \"droplets\": [\n                        {\n                          \"backup_ids\": [\n                            53893572\n                          ],\n                          \"created_at\": \"2020-07-21T18:37:44Z\",\n                          \"disk\": 25,\n                          \"features\": [\n                            \"backups\",\n                            \"private_networking\",\n                            \"ipv6\"\n                          ],\n                          \"id\": 3164444,\n                          \"image\": {\n                            \"created_at\": \"2020-05-15T05:47:50Z\",\n                            \"description\": \"\",\n                            \"distribution\": \"Ubuntu\",\n                            \"error_message\": \"\",\n                            \"id\": 63663980,\n                            \"min_disk_size\": 20,\n                            \"name\": \"20.04 (LTS) x64\",\n                            \"public\": true,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"size_gigabytes\": 2.36,\n                            \"slug\": \"ubuntu-20-04-x64\",\n                            \"status\": \"available\",\n                            \"tags\": [],\n                            \"type\": \"snapshot\"\n                          },\n                          \"kernel\": null,\n                          \"locked\": false,\n                          \"memory\": 1024,\n                          \"name\": \"example.com\",\n                          \"networks\": {\n                            \"v4\": [\n                              {\n                                \"gateway\": \"nil\",\n                                \"ip_address\": \"10.128.192.124\",\n                                \"netmask\": \"255.255.0.0\",\n                                \"type\": \"private\"\n                              },\n                              {\n                                \"gateway\": \"192.241.165.1\",\n                                \"ip_address\": \"192.241.165.154\",\n                                \"netmask\": \"255.255.255.0\",\n                                \"type\": \"public\"\n                              }\n                            ],\n                            \"v6\": [\n                              {\n                                \"gateway\": \"2604:a880:0:1010::1\",\n                                \"ip_address\": \"2604:a880:0:1010::18a:a001\",\n                                \"netmask\": 64,\n                                \"type\": \"public\"\n                              }\n                            ]\n                          },\n                          \"next_backup_window\": {\n                            \"end\": \"2020-07-30T23:00:00Z\",\n                            \"start\": \"2020-07-30T00:00:00Z\"\n                          },\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\",\n                              \"install_agent\",\n                              \"storage\",\n                              \"image_transfer\"\n                            ],\n                            \"name\": \"New York 3\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192g\"\n                            ],\n                            \"slug\": \"nyc3\"\n                          },\n                          \"size\": {\n                            \"available\": true,\n                            \"description\": \"Basic\",\n                            \"disk\": 25,\n                            \"memory\": 1024,\n                            \"price_hourly\": 0.00743999984115362,\n                            \"price_monthly\": 5,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"slug\": \"s-1vcpu-1gb\",\n                            \"transfer\": 1,\n                            \"vcpus\": 1\n                          },\n                          \"size_slug\": \"s-1vcpu-1gb\",\n                          \"snapshot_ids\": [\n                            67512819\n                          ],\n                          \"status\": \"active\",\n                          \"tags\": [\n                            \"web\",\n                            \"env:prod\"\n                          ],\n                          \"vcpus\": 1,\n                          \"volume_ids\": [],\n                          \"vpc_uuid\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\"\n                        },\n                        {\n                          \"backup_ids\": [],\n                          \"created_at\": \"2020-07-21T18:42:27Z\",\n                          \"disk\": 25,\n                          \"features\": [\n                            \"private_networking\"\n                          ],\n                          \"id\": 3164459,\n                          \"image\": {\n                            \"created_at\": \"2020-05-15T05:47:50Z\",\n                            \"description\": \"\",\n                            \"distribution\": \"Ubuntu\",\n                            \"error_message\": \"\",\n                            \"id\": 63663980,\n                            \"min_disk_size\": 20,\n                            \"name\": \"20.04 (LTS) x64\",\n                            \"public\": true,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"size_gigabytes\": 2.36,\n                            \"slug\": \"ubuntu-20-04-x64\",\n                            \"status\": \"available\",\n                            \"tags\": [],\n                            \"type\": \"snapshot\"\n                          },\n                          \"kernel\": null,\n                          \"locked\": false,\n                          \"memory\": 1024,\n                          \"name\": \"assets.example.com\",\n                          \"networks\": {\n                            \"v4\": [\n                              {\n                                \"gateway\": \"nil\",\n                                \"ip_address\": \"10.128.192.138\",\n                                \"netmask\": \"255.255.0.0\",\n                                \"type\": \"private\"\n                              },\n                              {\n                                \"gateway\": \"162.243.0.1\",\n                                \"ip_address\": \"162.243.0.4\",\n                                \"netmask\": \"255.255.255.0\",\n                                \"type\": \"public\"\n                              }\n                            ],\n                            \"v6\": []\n                          },\n                          \"next_backup_window\": {\n                            \"end\": \"2020-07-30T23:00:00Z\",\n                            \"start\": \"2020-07-30T00:00:00Z\"\n                          },\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\",\n                              \"install_agent\",\n                              \"storage\",\n                              \"image_transfer\"\n                            ],\n                            \"name\": \"New York 3\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192g\"\n                            ],\n                            \"slug\": \"nyc3\"\n                          },\n                          \"size\": {\n                            \"available\": true,\n                            \"description\": \"Basic\",\n                            \"disk\": 25,\n                            \"memory\": 1024,\n                            \"price_hourly\": 0.00743999984115362,\n                            \"price_monthly\": 5,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"slug\": \"s-1vcpu-1gb\",\n                            \"transfer\": 1,\n                            \"vcpus\": 1\n                          },\n                          \"size_slug\": \"s-1vcpu-1gb\",\n                          \"snapshot_ids\": [],\n                          \"status\": \"active\",\n                          \"tags\": [\n                            \"storage\",\n                            \"env:prod\"\n                          ],\n                          \"vcpus\": 1,\n                          \"volume_ids\": [\n                            \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                          ],\n                          \"vpc_uuid\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\"\n                        }\n                      ],\n                      \"links\": {\n                        \"pages\": {}\n                      },\n                      \"meta\": {\n                        \"total\": 2\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"droplets\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"backup_ids\": {\n                                \"description\": \"An array of backup IDs of any backups that have been taken of the Droplet instance.  Droplet backups are enabled at the time of the instance creation.\",\n                                \"example\": [\n                                  53893572\n                                ],\n                                \"items\": {\n                                  \"type\": \"integer\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"created_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Droplet was created.\",\n                                \"example\": \"2020-07-21T18:37:44Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"disk\": {\n                                \"description\": \"The size of the Droplet's disk in gigabytes.\",\n                                \"example\": 25,\n                                \"type\": \"integer\"\n                              },\n                              \"features\": {\n                                \"description\": \"An array of features enabled on this Droplet.\",\n                                \"example\": [\n                                  \"backups\",\n                                  \"private_networking\",\n                                  \"ipv6\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.\",\n                                \"example\": 3164444,\n                                \"type\": \"integer\"\n                              },\n                              \"image\": {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                                    \"example\": \"2020-05-04T22:23:02Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"description\": {\n                                    \"description\": \"An optional free-form text field to describe an image.\",\n                                    \"example\": \" \",\n                                    \"type\": \"string\"\n                                  },\n                                  \"distribution\": {\n                                    \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                                    \"enum\": [\n                                      \"Arch Linux\",\n                                      \"CentOS\",\n                                      \"CoreOS\",\n                                      \"Debian\",\n                                      \"Fedora\",\n                                      \"Fedora Atomic\",\n                                      \"FreeBSD\",\n                                      \"Gentoo\",\n                                      \"openSUSE\",\n                                      \"RancherOS\",\n                                      \"Rocky Linux\",\n                                      \"Ubuntu\",\n                                      \"Unknown\"\n                                    ],\n                                    \"example\": \"Ubuntu\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"error_message\": {\n                                    \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                                    \"example\": \" \",\n                                    \"type\": \"string\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                                    \"example\": 7555620,\n                                    \"readOnly\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"min_disk_size\": {\n                                    \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                                    \"example\": 20,\n                                    \"minimum\": 0,\n                                    \"nullable\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                                    \"example\": \"Nifty New Snapshot\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"public\": {\n                                    \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"regions\": {\n                                    \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                                    \"example\": [\n                                      \"nyc1\",\n                                      \"nyc2\"\n                                    ],\n                                    \"items\": {\n                                      \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                                      \"enum\": [\n                                        \"ams1\",\n                                        \"ams2\",\n                                        \"ams3\",\n                                        \"blr1\",\n                                        \"fra1\",\n                                        \"lon1\",\n                                        \"nyc1\",\n                                        \"nyc2\",\n                                        \"nyc3\",\n                                        \"sfo1\",\n                                        \"sfo2\",\n                                        \"sfo3\",\n                                        \"sgp1\",\n                                        \"tor1\"\n                                      ],\n                                      \"example\": \"nyc3\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"size_gigabytes\": {\n                                    \"description\": \"The size of the image in gigabytes.\",\n                                    \"example\": 2.34,\n                                    \"format\": \"float\",\n                                    \"nullable\": true,\n                                    \"type\": \"number\"\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                                    \"example\": \"nifty1\",\n                                    \"nullable\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                                    \"enum\": [\n                                      \"NEW\",\n                                      \"available\",\n                                      \"pending\",\n                                      \"deleted\",\n                                      \"retired\"\n                                    ],\n                                    \"example\": \"NEW\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"tags\": {\n                                    \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                    \"example\": [\n                                      \"base-image\",\n                                      \"prod\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"nullable\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"type\": {\n                                    \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                                    \"enum\": [\n                                      \"base\",\n                                      \"snapshot\",\n                                      \"backup\",\n                                      \"custom\",\n                                      \"admin\"\n                                    ],\n                                    \"example\": \"snapshot\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"kernel\": {\n                                \"deprecated\": true,\n                                \"description\": \"**Note**: All Droplets created after March 2017 use internal kernels by default.\\nThese Droplets will have this attribute set to `null`.\\n\\nThe current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/)\\nfor Droplets with externally managed kernels. This will initially be set to\\nthe kernel of the base image when the Droplet is created.\\n\",\n                                \"nullable\": true,\n                                \"properties\": {\n                                  \"id\": {\n                                    \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                                    \"example\": 7515,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question.\",\n                                    \"example\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"version\": {\n                                    \"description\": \"A standard kernel version string representing the version, patch, and release information.\",\n                                    \"example\": \"2016.07.13-DigitalOcean_loader_Ubuntu\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"locked\": {\n                                \"description\": \"A boolean value indicating whether the Droplet has been locked, preventing actions by users.\",\n                                \"example\": false,\n                                \"type\": \"boolean\"\n                              },\n                              \"memory\": {\n                                \"description\": \"Memory of the Droplet in megabytes.\",\n                                \"example\": 1024,\n                                \"multipleOf\": 8,\n                                \"type\": \"integer\"\n                              },\n                              \"name\": {\n                                \"description\": \"The human-readable name set for the Droplet instance.\",\n                                \"example\": \"example.com\",\n                                \"type\": \"string\"\n                              },\n                              \"networks\": {\n                                \"description\": \"The details of the network that are configured for the Droplet instance.  This is an object that contains keys for IPv4 and IPv6.  The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet.  These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.\",\n                                \"properties\": {\n                                  \"v4\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"gateway\": {\n                                          \"description\": \"The gateway of the specified IPv4 network interface.\\n\\nFor private interfaces, a gateway is not provided. This is denoted by\\nreturning `nil` as its value.\\n\",\n                                          \"example\": \"104.236.0.1\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"ip_address\": {\n                                          \"description\": \"The IP address of the IPv4 network interface.\",\n                                          \"example\": \"104.236.32.182\",\n                                          \"format\": \"ipv4\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"netmask\": {\n                                          \"description\": \"The netmask of the IPv4 network interface.\",\n                                          \"example\": \"255.255.192.0\",\n                                          \"format\": \"ipv4\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"description\": \"The type of the IPv4 network interface.\",\n                                          \"enum\": [\n                                            \"public\",\n                                            \"private\"\n                                          ],\n                                          \"example\": \"public\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"v6\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"gateway\": {\n                                          \"description\": \"The gateway of the specified IPv6 network interface.\",\n                                          \"example\": \"2604:a880:0:1010::1\",\n                                          \"format\": \"ipv6\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"ip_address\": {\n                                          \"description\": \"The IP address of the IPv6 network interface.\",\n                                          \"example\": \"2604:a880:0:1010::18a:a001\",\n                                          \"format\": \"ipv6\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"netmask\": {\n                                          \"description\": \"The netmask of the IPv6 network interface.\",\n                                          \"example\": 64,\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": {\n                                          \"description\": \"The type of the IPv6 network interface.\\n\\n**Note**: IPv6 private  networking is not currently supported.\\n\",\n                                          \"enum\": [\n                                            \"public\"\n                                          ],\n                                          \"example\": \"public\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"next_backup_window\": {\n                                \"description\": \"The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.\",\n                                \"nullable\": true,\n                                \"properties\": {\n                                  \"end\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window.\",\n                                    \"example\": \"2019-12-04T23:00:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"start\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window.\",\n                                    \"example\": \"2019-12-04T00:00:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"region\": {\n                                \"properties\": {\n                                  \"available\": {\n                                    \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"features\": {\n                                    \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                    \"example\": [\n                                      \"private_networking\",\n                                      \"backups\",\n                                      \"ipv6\",\n                                      \"metadata\",\n                                      \"install_agent\",\n                                      \"storage\",\n                                      \"image_transfer\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                    \"example\": \"New York 3\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"sizes\": {\n                                    \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                    \"example\": [\n                                      \"s-1vcpu-1gb\",\n                                      \"s-1vcpu-2gb\",\n                                      \"s-1vcpu-3gb\",\n                                      \"s-2vcpu-2gb\",\n                                      \"s-3vcpu-1gb\",\n                                      \"s-2vcpu-4gb\",\n                                      \"s-4vcpu-8gb\",\n                                      \"s-6vcpu-16gb\",\n                                      \"s-8vcpu-32gb\",\n                                      \"s-12vcpu-48gb\",\n                                      \"s-16vcpu-64gb\",\n                                      \"s-20vcpu-96gb\",\n                                      \"s-24vcpu-128gb\",\n                                      \"s-32vcpu-192g\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"available\",\n                                  \"features\",\n                                  \"name\",\n                                  \"sizes\",\n                                  \"slug\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"size\": {\n                                \"properties\": {\n                                  \"available\": {\n                                    \"default\": true,\n                                    \"description\": \"This is a boolean value that represents whether new Droplets can be created with this size.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"description\": {\n                                    \"description\": \"A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.\",\n                                    \"example\": \"Basic\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"disk\": {\n                                    \"description\": \"The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes.\",\n                                    \"example\": 25,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"memory\": {\n                                    \"description\": \"The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes.\",\n                                    \"example\": 1024,\n                                    \"minimum\": 8,\n                                    \"multipleOf\": 8,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"price_hourly\": {\n                                    \"description\": \"This describes the price of the Droplet size as measured hourly. The value is measured in US dollars.\",\n                                    \"example\": 0.00743999984115362,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  },\n                                  \"price_monthly\": {\n                                    \"description\": \"This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars.\",\n                                    \"example\": 5,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  },\n                                  \"regions\": {\n                                    \"description\": \"An array containing the region slugs where this size is available for Droplet creates.\",\n                                    \"example\": [\n                                      \"ams2\",\n                                      \"ams3\",\n                                      \"blr1\",\n                                      \"fra1\",\n                                      \"lon1\",\n                                      \"nyc1\",\n                                      \"nyc2\",\n                                      \"nyc3\",\n                                      \"sfo1\",\n                                      \"sfo2\",\n                                      \"sfo3\",\n                                      \"sgp1\",\n                                      \"tor1\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A human-readable string that is used to uniquely identify each size.\",\n                                    \"example\": \"s-1vcpu-1gb\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"transfer\": {\n                                    \"description\": \"The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes.\",\n                                    \"example\": 1,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  },\n                                  \"vcpus\": {\n                                    \"description\": \"The integer of number CPUs allocated to Droplets of this size.\",\n                                    \"example\": 1,\n                                    \"type\": \"integer\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"available\",\n                                  \"disk\",\n                                  \"memory\",\n                                  \"price_hourly\",\n                                  \"price_monthly\",\n                                  \"regions\",\n                                  \"slug\",\n                                  \"transfer\",\n                                  \"vcpus\",\n                                  \"description\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"size_slug\": {\n                                \"description\": \"The unique slug identifier for the size of this Droplet.\",\n                                \"example\": \"s-1vcpu-1gb\",\n                                \"type\": \"string\"\n                              },\n                              \"snapshot_ids\": {\n                                \"description\": \"An array of snapshot IDs of any snapshots created from the Droplet instance.\",\n                                \"example\": [\n                                  67512819\n                                ],\n                                \"items\": {\n                                  \"type\": \"integer\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"status\": {\n                                \"description\": \"A status string indicating the state of the Droplet instance. This may be \\\"new\\\", \\\"active\\\", \\\"off\\\", or \\\"archive\\\".\",\n                                \"enum\": [\n                                  \"new\",\n                                  \"active\",\n                                  \"off\",\n                                  \"archive\"\n                                ],\n                                \"example\": \"active\",\n                                \"type\": \"string\"\n                              },\n                              \"tags\": {\n                                \"description\": \"An array of Tags the Droplet has been tagged with.\",\n                                \"example\": [\n                                  \"web\",\n                                  \"env:prod\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"vcpus\": {\n                                \"description\": \"The number of virtual CPUs.\",\n                                \"example\": 1,\n                                \"type\": \"integer\"\n                              },\n                              \"volume_ids\": {\n                                \"description\": \"A flat array including the unique identifier for each Block Storage volume attached to the Droplet.\",\n                                \"example\": [\n                                  \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"vpc_uuid\": {\n                                \"description\": \"A string specifying the UUID of the VPC to which the Droplet is assigned.\",\n                                \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"id\",\n                              \"name\",\n                              \"memory\",\n                              \"vcpus\",\n                              \"disk\",\n                              \"locked\",\n                              \"status\",\n                              \"created_at\",\n                              \"features\",\n                              \"backup_ids\",\n                              \"next_backup_window\",\n                              \"snapshot_ids\",\n                              \"image\",\n                              \"volume_ids\",\n                              \"size\",\n                              \"size_slug\",\n                              \"networks\",\n                              \"region\",\n                              \"tags\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `droplets`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Droplets\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets?page=1&per_page=1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    droplets, _, err := client.Droplets.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ndroplets = client.droplets.all\\ndroplets.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a new Droplet, send a POST request to `/v2/droplets` setting the\\nrequired attributes.\\n\\nA Droplet will be created using the provided information. The response body\\nwill contain a JSON object with a key called `droplet`. The value will be an\\nobject containing the standard attributes for your new Droplet. The response\\ncode, 202 Accepted, does not indicate the success or failure of the operation,\\njust that the request has been accepted for processing. The `actions` returned\\nas part of the response's `links` object can be used to check the status\\nof the Droplet create event.\\n\\n### Create Multiple Droplets\\n\\nCreating multiple Droplets is very similar to creating a single Droplet.\\nInstead of sending `name` as a string, send `names` as an array of strings. A\\nDroplet will be created for each name you send using the associated\\ninformation. Up to ten Droplets may be created this way at a time.\\n\\nRather than returning a single Droplet, the response body will contain a JSON\\narray with a key called `droplets`. This will be set to an array of JSON\\nobjects, each of which will contain the standard Droplet attributes. The\\nresponse code, 202 Accepted, does not indicate the success or failure of any\\noperation, just that the request has been accepted for processing. The array\\nof `actions` returned as part of the response's `links` object can be used to\\ncheck the status of each individual Droplet create event.\\n\",\n        \"operationId\": \"droplets_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"examples\": {\n                \"Multiple Droplet Create Request\": {\n                  \"value\": {\n                    \"backups\": true,\n                    \"image\": \"ubuntu-20-04-x64\",\n                    \"ipv6\": true,\n                    \"monitoring\": true,\n                    \"names\": [\n                      \"sub-01.example.com\",\n                      \"sub-02.example.com\"\n                    ],\n                    \"region\": \"nyc3\",\n                    \"size\": \"s-1vcpu-1gb\",\n                    \"ssh_keys\": [\n                      289794,\n                      \"3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45\"\n                    ],\n                    \"tags\": [\n                      \"env:prod\",\n                      \"web\"\n                    ],\n                    \"user_data\": \"#cloud-config\\nruncmd:\\n  - touch /test.txt\\n\",\n                    \"vpc_uuid\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\"\n                  }\n                },\n                \"Single Droplet Create Request\": {\n                  \"value\": {\n                    \"backups\": true,\n                    \"image\": \"ubuntu-20-04-x64\",\n                    \"ipv6\": true,\n                    \"monitoring\": true,\n                    \"name\": \"example.com\",\n                    \"region\": \"nyc3\",\n                    \"size\": \"s-1vcpu-1gb\",\n                    \"ssh_keys\": [\n                      289794,\n                      \"3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45\"\n                    ],\n                    \"tags\": [\n                      \"env:prod\",\n                      \"web\"\n                    ],\n                    \"user_data\": \"#cloud-config\\nruncmd:\\n  - touch /test.txt\\n\",\n                    \"vpc_uuid\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\"\n                  }\n                }\n              },\n              \"schema\": {\n                \"oneOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"name\": {\n                            \"description\": \"The human-readable string you wish to use when displaying the Droplet name. The name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. The name set during creation will also determine the hostname for the Droplet in its internal configuration.\",\n                            \"example\": \"example.com\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"name\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"backups\": {\n                            \"default\": false,\n                            \"description\": \"A boolean indicating whether automated backups should be enabled for the Droplet.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"image\": {\n                            \"description\": \"The image ID of a public or private image or the slug identifier for a public image. This image will be the base image for your Droplet.\",\n                            \"example\": \"ubuntu-20-04-x64\",\n                            \"oneOf\": [\n                              {\n                                \"type\": \"string\"\n                              },\n                              {\n                                \"type\": \"integer\"\n                              }\n                            ]\n                          },\n                          \"ipv6\": {\n                            \"default\": false,\n                            \"description\": \"A boolean indicating whether to enable IPv6 on the Droplet.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"monitoring\": {\n                            \"default\": false,\n                            \"description\": \"A boolean indicating whether to install the DigitalOcean agent for monitoring.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"private_networking\": {\n                            \"default\": false,\n                            \"deprecated\": true,\n                            \"description\": \"This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region that you wish to deploy the Droplet in. If the specific datacenter is not not important, a slug prefix (e.g. `nyc`) can be used to deploy the Droplet in any of the that region's locations (`nyc1`, `nyc2`, or `nyc3`). If the region is omitted from the create request completely, the Droplet may deploy in any region.\",\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          },\n                          \"size\": {\n                            \"description\": \"The slug identifier for the size that you wish to select for this Droplet.\",\n                            \"example\": \"s-1vcpu-1gb\",\n                            \"type\": \"string\"\n                          },\n                          \"ssh_keys\": {\n                            \"default\": [],\n                            \"description\": \"An array containing the IDs or fingerprints of the SSH keys that you wish to embed in the Droplet's root account upon creation.\",\n                            \"example\": [\n                              289794,\n                              \"3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45\"\n                            ],\n                            \"items\": {\n                              \"anyOf\": [\n                                {\n                                  \"type\": \"string\"\n                                },\n                                {\n                                  \"type\": \"integer\"\n                                }\n                              ]\n                            },\n                            \"type\": \"array\"\n                          },\n                          \"tags\": {\n                            \"default\": [],\n                            \"description\": \"A flat array of tag names as strings to apply to the Droplet after it is created. Tag names can either be existing or new tags.\",\n                            \"example\": [\n                              \"env:prod\",\n                              \"web\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          },\n                          \"user_data\": {\n                            \"description\": \"A string containing 'user data' which may be used to configure the Droplet on first boot, often a 'cloud-config' file or Bash script. It must be plain text and may not exceed 64 KiB in size.\",\n                            \"example\": \"#cloud-config\\nruncmd:\\n  - touch /test.txt\\n\",\n                            \"type\": \"string\"\n                          },\n                          \"volumes\": {\n                            \"default\": [],\n                            \"description\": \"An array of IDs for block storage volumes that will be attached to the Droplet once created. The volumes must not already be attached to an existing Droplet.\",\n                            \"example\": [\n                              \"12e97116-7280-11ed-b3d0-0a58ac146812\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"type\": \"array\"\n                          },\n                          \"vpc_uuid\": {\n                            \"description\": \"A string specifying the UUID of the VPC to which the Droplet will be assigned. If excluded, the Droplet will be assigned to your account's default VPC for the region.\",\n                            \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                            \"type\": \"string\"\n                          },\n                          \"with_droplet_agent\": {\n                            \"description\": \"A boolean indicating whether to install the DigitalOcean agent used for providing access to the Droplet web console in the control panel. By default, the agent is installed on new Droplets but installation errors (i.e. OS not supported) are ignored. To prevent it from being installed, set to `false`. To make installation errors fatal, explicitly set it to `true`.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          }\n                        },\n                        \"required\": [\n                          \"size\",\n                          \"image\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ],\n                    \"title\": \"Single Droplet Request\"\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"names\": {\n                            \"description\": \"An array of human human-readable strings you wish to use when displaying the Droplet name. Each name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. Each name set during creation will also determine the hostname for the Droplet in its internal configuration.\",\n                            \"example\": [\n                              \"sub-01.example.com\",\n                              \"sub-02.example.com\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"required\": [\n                          \"names\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"backups\": {\n                            \"default\": false,\n                            \"description\": \"A boolean indicating whether automated backups should be enabled for the Droplet.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"image\": {\n                            \"description\": \"The image ID of a public or private image or the slug identifier for a public image. This image will be the base image for your Droplet.\",\n                            \"example\": \"ubuntu-20-04-x64\",\n                            \"oneOf\": [\n                              {\n                                \"type\": \"string\"\n                              },\n                              {\n                                \"type\": \"integer\"\n                              }\n                            ]\n                          },\n                          \"ipv6\": {\n                            \"default\": false,\n                            \"description\": \"A boolean indicating whether to enable IPv6 on the Droplet.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"monitoring\": {\n                            \"default\": false,\n                            \"description\": \"A boolean indicating whether to install the DigitalOcean agent for monitoring.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"private_networking\": {\n                            \"default\": false,\n                            \"deprecated\": true,\n                            \"description\": \"This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region that you wish to deploy the Droplet in. If the specific datacenter is not not important, a slug prefix (e.g. `nyc`) can be used to deploy the Droplet in any of the that region's locations (`nyc1`, `nyc2`, or `nyc3`). If the region is omitted from the create request completely, the Droplet may deploy in any region.\",\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          },\n                          \"size\": {\n                            \"description\": \"The slug identifier for the size that you wish to select for this Droplet.\",\n                            \"example\": \"s-1vcpu-1gb\",\n                            \"type\": \"string\"\n                          },\n                          \"ssh_keys\": {\n                            \"default\": [],\n                            \"description\": \"An array containing the IDs or fingerprints of the SSH keys that you wish to embed in the Droplet's root account upon creation.\",\n                            \"example\": [\n                              289794,\n                              \"3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45\"\n                            ],\n                            \"items\": {\n                              \"anyOf\": [\n                                {\n                                  \"type\": \"string\"\n                                },\n                                {\n                                  \"type\": \"integer\"\n                                }\n                              ]\n                            },\n                            \"type\": \"array\"\n                          },\n                          \"tags\": {\n                            \"default\": [],\n                            \"description\": \"A flat array of tag names as strings to apply to the Droplet after it is created. Tag names can either be existing or new tags.\",\n                            \"example\": [\n                              \"env:prod\",\n                              \"web\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          },\n                          \"user_data\": {\n                            \"description\": \"A string containing 'user data' which may be used to configure the Droplet on first boot, often a 'cloud-config' file or Bash script. It must be plain text and may not exceed 64 KiB in size.\",\n                            \"example\": \"#cloud-config\\nruncmd:\\n  - touch /test.txt\\n\",\n                            \"type\": \"string\"\n                          },\n                          \"volumes\": {\n                            \"default\": [],\n                            \"description\": \"An array of IDs for block storage volumes that will be attached to the Droplet once created. The volumes must not already be attached to an existing Droplet.\",\n                            \"example\": [\n                              \"12e97116-7280-11ed-b3d0-0a58ac146812\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"type\": \"array\"\n                          },\n                          \"vpc_uuid\": {\n                            \"description\": \"A string specifying the UUID of the VPC to which the Droplet will be assigned. If excluded, the Droplet will be assigned to your account's default VPC for the region.\",\n                            \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                            \"type\": \"string\"\n                          },\n                          \"with_droplet_agent\": {\n                            \"description\": \"A boolean indicating whether to install the DigitalOcean agent used for providing access to the Droplet web console in the control panel. By default, the agent is installed on new Droplets but installation errors (i.e. OS not supported) are ignored. To prevent it from being installed, set to `false`. To make installation errors fatal, explicitly set it to `true`.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          }\n                        },\n                        \"required\": [\n                          \"size\",\n                          \"image\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ],\n                    \"title\": \"Multiple Droplet Request\"\n                  }\n                ]\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"202\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Multiple Droplet Create Response\": {\n                    \"value\": {\n                      \"droplets\": [\n                        {\n                          \"backup_ids\": [],\n                          \"created_at\": \"2020-07-21T18:37:44Z\",\n                          \"disk\": 25,\n                          \"features\": [\n                            \"backups\",\n                            \"private_networking\",\n                            \"ipv6\",\n                            \"monitoring\"\n                          ],\n                          \"id\": 3164444,\n                          \"image\": {\n                            \"created_at\": \"2020-05-15T05:47:50Z\",\n                            \"description\": \"\",\n                            \"distribution\": \"Ubuntu\",\n                            \"error_message\": \"\",\n                            \"id\": 63663980,\n                            \"min_disk_size\": 20,\n                            \"name\": \"20.04 (LTS) x64\",\n                            \"public\": true,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"size_gigabytes\": 2.36,\n                            \"slug\": \"ubuntu-20-04-x64\",\n                            \"status\": \"available\",\n                            \"tags\": [],\n                            \"type\": \"snapshot\"\n                          },\n                          \"kernel\": null,\n                          \"locked\": false,\n                          \"memory\": 1024,\n                          \"name\": \"sub-01.example.com\",\n                          \"networks\": {\n                            \"v4\": [],\n                            \"v6\": []\n                          },\n                          \"next_backup_window\": null,\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\",\n                              \"install_agent\",\n                              \"storage\",\n                              \"image_transfer\"\n                            ],\n                            \"name\": \"New York 3\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192g\"\n                            ],\n                            \"slug\": \"nyc3\"\n                          },\n                          \"size\": {\n                            \"available\": true,\n                            \"description\": \"Basic\",\n                            \"disk\": 25,\n                            \"memory\": 1024,\n                            \"price_hourly\": 0.00743999984115362,\n                            \"price_monthly\": 5,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"slug\": \"s-1vcpu-1gb\",\n                            \"transfer\": 1,\n                            \"vcpus\": 1\n                          },\n                          \"size_slug\": \"s-1vcpu-1gb\",\n                          \"snapshot_ids\": [],\n                          \"status\": \"new\",\n                          \"tags\": [\n                            \"web\",\n                            \"env:prod\"\n                          ],\n                          \"vcpus\": 1,\n                          \"volume_ids\": []\n                        },\n                        {\n                          \"backup_ids\": [],\n                          \"created_at\": \"2020-07-21T18:37:44Z\",\n                          \"disk\": 25,\n                          \"features\": [\n                            \"backups\",\n                            \"private_networking\",\n                            \"ipv6\",\n                            \"monitoring\"\n                          ],\n                          \"id\": 3164445,\n                          \"image\": {\n                            \"created_at\": \"2020-05-15T05:47:50Z\",\n                            \"description\": \"\",\n                            \"distribution\": \"Ubuntu\",\n                            \"error_message\": \"\",\n                            \"id\": 63663980,\n                            \"min_disk_size\": 20,\n                            \"name\": \"20.04 (LTS) x64\",\n                            \"public\": true,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"size_gigabytes\": 2.36,\n                            \"slug\": \"ubuntu-20-04-x64\",\n                            \"status\": \"available\",\n                            \"tags\": [],\n                            \"type\": \"snapshot\"\n                          },\n                          \"kernel\": null,\n                          \"locked\": false,\n                          \"memory\": 1024,\n                          \"name\": \"sub-02.example.com\",\n                          \"networks\": {\n                            \"v4\": [],\n                            \"v6\": []\n                          },\n                          \"next_backup_window\": null,\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\",\n                              \"install_agent\",\n                              \"storage\",\n                              \"image_transfer\"\n                            ],\n                            \"name\": \"New York 3\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192g\"\n                            ],\n                            \"slug\": \"nyc3\"\n                          },\n                          \"size\": {\n                            \"available\": true,\n                            \"description\": \"Basic\",\n                            \"disk\": 25,\n                            \"memory\": 1024,\n                            \"price_hourly\": 0.00743999984115362,\n                            \"price_monthly\": 5,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"slug\": \"s-1vcpu-1gb\",\n                            \"transfer\": 1,\n                            \"vcpus\": 1\n                          },\n                          \"size_slug\": \"s-1vcpu-1gb\",\n                          \"snapshot_ids\": [],\n                          \"status\": \"new\",\n                          \"tags\": [\n                            \"web\",\n                            \"env:prod\"\n                          ],\n                          \"vcpus\": 1,\n                          \"volume_ids\": []\n                        }\n                      ],\n                      \"links\": {\n                        \"actions\": [\n                          {\n                            \"href\": \"https://api.digitalocean.com/v2/actions/7515\",\n                            \"id\": 7515,\n                            \"rel\": \"create\"\n                          },\n                          {\n                            \"href\": \"https://api.digitalocean.com/v2/actions/7516\",\n                            \"id\": 7516,\n                            \"rel\": \"create\"\n                          }\n                        ]\n                      }\n                    }\n                  },\n                  \"Single Droplet Create Response\": {\n                    \"value\": {\n                      \"droplet\": {\n                        \"backup_ids\": [],\n                        \"created_at\": \"2020-07-21T18:37:44Z\",\n                        \"disk\": 25,\n                        \"features\": [\n                          \"backups\",\n                          \"private_networking\",\n                          \"ipv6\",\n                          \"monitoring\"\n                        ],\n                        \"id\": 3164444,\n                        \"image\": {\n                          \"created_at\": \"2020-05-15T05:47:50Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"Ubuntu\",\n                          \"error_message\": \"\",\n                          \"id\": 63663980,\n                          \"min_disk_size\": 20,\n                          \"name\": \"20.04 (LTS) x64\",\n                          \"public\": true,\n                          \"regions\": [\n                            \"ams2\",\n                            \"ams3\",\n                            \"blr1\",\n                            \"fra1\",\n                            \"lon1\",\n                            \"nyc1\",\n                            \"nyc2\",\n                            \"nyc3\",\n                            \"sfo1\",\n                            \"sfo2\",\n                            \"sfo3\",\n                            \"sgp1\",\n                            \"tor1\"\n                          ],\n                          \"size_gigabytes\": 2.36,\n                          \"slug\": \"ubuntu-20-04-x64\",\n                          \"status\": \"available\",\n                          \"tags\": [],\n                          \"type\": \"snapshot\"\n                        },\n                        \"kernel\": null,\n                        \"locked\": false,\n                        \"memory\": 1024,\n                        \"name\": \"example.com\",\n                        \"networks\": {\n                          \"v4\": [],\n                          \"v6\": []\n                        },\n                        \"next_backup_window\": null,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        },\n                        \"size\": {\n                          \"available\": true,\n                          \"description\": \"Basic\",\n                          \"disk\": 25,\n                          \"memory\": 1024,\n                          \"price_hourly\": 0.00743999984115362,\n                          \"price_monthly\": 5,\n                          \"regions\": [\n                            \"ams2\",\n                            \"ams3\",\n                            \"blr1\",\n                            \"fra1\",\n                            \"lon1\",\n                            \"nyc1\",\n                            \"nyc2\",\n                            \"nyc3\",\n                            \"sfo1\",\n                            \"sfo2\",\n                            \"sfo3\",\n                            \"sgp1\",\n                            \"tor1\"\n                          ],\n                          \"slug\": \"s-1vcpu-1gb\",\n                          \"transfer\": 1,\n                          \"vcpus\": 1\n                        },\n                        \"size_slug\": \"s-1vcpu-1gb\",\n                        \"snapshot_ids\": [],\n                        \"status\": \"new\",\n                        \"tags\": [\n                          \"web\",\n                          \"env:prod\"\n                        ],\n                        \"vcpus\": 1,\n                        \"volume_ids\": []\n                      },\n                      \"links\": {\n                        \"actions\": [\n                          {\n                            \"href\": \"https://api.digitalocean.com/v2/actions/7515\",\n                            \"id\": 7515,\n                            \"rel\": \"create\"\n                          }\n                        ]\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"oneOf\": [\n                    {\n                      \"properties\": {\n                        \"droplet\": {\n                          \"properties\": {\n                            \"backup_ids\": {\n                              \"description\": \"An array of backup IDs of any backups that have been taken of the Droplet instance.  Droplet backups are enabled at the time of the instance creation.\",\n                              \"example\": [\n                                53893572\n                              ],\n                              \"items\": {\n                                \"type\": \"integer\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Droplet was created.\",\n                              \"example\": \"2020-07-21T18:37:44Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"disk\": {\n                              \"description\": \"The size of the Droplet's disk in gigabytes.\",\n                              \"example\": 25,\n                              \"type\": \"integer\"\n                            },\n                            \"features\": {\n                              \"description\": \"An array of features enabled on this Droplet.\",\n                              \"example\": [\n                                \"backups\",\n                                \"private_networking\",\n                                \"ipv6\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.\",\n                              \"example\": 3164444,\n                              \"type\": \"integer\"\n                            },\n                            \"image\": {\n                              \"properties\": {\n                                \"created_at\": {\n                                  \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                                  \"example\": \"2020-05-04T22:23:02Z\",\n                                  \"format\": \"date-time\",\n                                  \"type\": \"string\"\n                                },\n                                \"description\": {\n                                  \"description\": \"An optional free-form text field to describe an image.\",\n                                  \"example\": \" \",\n                                  \"type\": \"string\"\n                                },\n                                \"distribution\": {\n                                  \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                                  \"enum\": [\n                                    \"Arch Linux\",\n                                    \"CentOS\",\n                                    \"CoreOS\",\n                                    \"Debian\",\n                                    \"Fedora\",\n                                    \"Fedora Atomic\",\n                                    \"FreeBSD\",\n                                    \"Gentoo\",\n                                    \"openSUSE\",\n                                    \"RancherOS\",\n                                    \"Rocky Linux\",\n                                    \"Ubuntu\",\n                                    \"Unknown\"\n                                  ],\n                                  \"example\": \"Ubuntu\",\n                                  \"type\": \"string\"\n                                },\n                                \"error_message\": {\n                                  \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                                  \"example\": \" \",\n                                  \"type\": \"string\"\n                                },\n                                \"id\": {\n                                  \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                                  \"example\": 7555620,\n                                  \"readOnly\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"min_disk_size\": {\n                                  \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                                  \"example\": 20,\n                                  \"minimum\": 0,\n                                  \"nullable\": true,\n                                  \"type\": \"integer\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                                  \"example\": \"Nifty New Snapshot\",\n                                  \"type\": \"string\"\n                                },\n                                \"public\": {\n                                  \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"regions\": {\n                                  \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                                  \"example\": [\n                                    \"nyc1\",\n                                    \"nyc2\"\n                                  ],\n                                  \"items\": {\n                                    \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                                    \"enum\": [\n                                      \"ams1\",\n                                      \"ams2\",\n                                      \"ams3\",\n                                      \"blr1\",\n                                      \"fra1\",\n                                      \"lon1\",\n                                      \"nyc1\",\n                                      \"nyc2\",\n                                      \"nyc3\",\n                                      \"sfo1\",\n                                      \"sfo2\",\n                                      \"sfo3\",\n                                      \"sgp1\",\n                                      \"tor1\"\n                                    ],\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"size_gigabytes\": {\n                                  \"description\": \"The size of the image in gigabytes.\",\n                                  \"example\": 2.34,\n                                  \"format\": \"float\",\n                                  \"nullable\": true,\n                                  \"type\": \"number\"\n                                },\n                                \"slug\": {\n                                  \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                                  \"example\": \"nifty1\",\n                                  \"nullable\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"status\": {\n                                  \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                                  \"enum\": [\n                                    \"NEW\",\n                                    \"available\",\n                                    \"pending\",\n                                    \"deleted\",\n                                    \"retired\"\n                                  ],\n                                  \"example\": \"NEW\",\n                                  \"type\": \"string\"\n                                },\n                                \"tags\": {\n                                  \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                  \"example\": [\n                                    \"base-image\",\n                                    \"prod\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"nullable\": true,\n                                  \"type\": \"array\"\n                                },\n                                \"type\": {\n                                  \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                                  \"enum\": [\n                                    \"base\",\n                                    \"snapshot\",\n                                    \"backup\",\n                                    \"custom\",\n                                    \"admin\"\n                                  ],\n                                  \"example\": \"snapshot\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"kernel\": {\n                              \"deprecated\": true,\n                              \"description\": \"**Note**: All Droplets created after March 2017 use internal kernels by default.\\nThese Droplets will have this attribute set to `null`.\\n\\nThe current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/)\\nfor Droplets with externally managed kernels. This will initially be set to\\nthe kernel of the base image when the Droplet is created.\\n\",\n                              \"nullable\": true,\n                              \"properties\": {\n                                \"id\": {\n                                  \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                                  \"example\": 7515,\n                                  \"type\": \"integer\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question.\",\n                                  \"example\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                                  \"type\": \"string\"\n                                },\n                                \"version\": {\n                                  \"description\": \"A standard kernel version string representing the version, patch, and release information.\",\n                                  \"example\": \"2016.07.13-DigitalOcean_loader_Ubuntu\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"locked\": {\n                              \"description\": \"A boolean value indicating whether the Droplet has been locked, preventing actions by users.\",\n                              \"example\": false,\n                              \"type\": \"boolean\"\n                            },\n                            \"memory\": {\n                              \"description\": \"Memory of the Droplet in megabytes.\",\n                              \"example\": 1024,\n                              \"multipleOf\": 8,\n                              \"type\": \"integer\"\n                            },\n                            \"name\": {\n                              \"description\": \"The human-readable name set for the Droplet instance.\",\n                              \"example\": \"example.com\",\n                              \"type\": \"string\"\n                            },\n                            \"networks\": {\n                              \"description\": \"The details of the network that are configured for the Droplet instance.  This is an object that contains keys for IPv4 and IPv6.  The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet.  These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.\",\n                              \"properties\": {\n                                \"v4\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"gateway\": {\n                                        \"description\": \"The gateway of the specified IPv4 network interface.\\n\\nFor private interfaces, a gateway is not provided. This is denoted by\\nreturning `nil` as its value.\\n\",\n                                        \"example\": \"104.236.0.1\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ip_address\": {\n                                        \"description\": \"The IP address of the IPv4 network interface.\",\n                                        \"example\": \"104.236.32.182\",\n                                        \"format\": \"ipv4\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"netmask\": {\n                                        \"description\": \"The netmask of the IPv4 network interface.\",\n                                        \"example\": \"255.255.192.0\",\n                                        \"format\": \"ipv4\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": {\n                                        \"description\": \"The type of the IPv4 network interface.\",\n                                        \"enum\": [\n                                          \"public\",\n                                          \"private\"\n                                        ],\n                                        \"example\": \"public\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"v6\": {\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"gateway\": {\n                                        \"description\": \"The gateway of the specified IPv6 network interface.\",\n                                        \"example\": \"2604:a880:0:1010::1\",\n                                        \"format\": \"ipv6\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"ip_address\": {\n                                        \"description\": \"The IP address of the IPv6 network interface.\",\n                                        \"example\": \"2604:a880:0:1010::18a:a001\",\n                                        \"format\": \"ipv6\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"netmask\": {\n                                        \"description\": \"The netmask of the IPv6 network interface.\",\n                                        \"example\": 64,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"type\": {\n                                        \"description\": \"The type of the IPv6 network interface.\\n\\n**Note**: IPv6 private  networking is not currently supported.\\n\",\n                                        \"enum\": [\n                                          \"public\"\n                                        ],\n                                        \"example\": \"public\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"next_backup_window\": {\n                              \"description\": \"The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.\",\n                              \"nullable\": true,\n                              \"properties\": {\n                                \"end\": {\n                                  \"description\": \"A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window.\",\n                                  \"example\": \"2019-12-04T23:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"type\": \"string\"\n                                },\n                                \"start\": {\n                                  \"description\": \"A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window.\",\n                                  \"example\": \"2019-12-04T00:00:00Z\",\n                                  \"format\": \"date-time\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"region\": {\n                              \"properties\": {\n                                \"available\": {\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"features\": {\n                                  \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                  \"example\": [\n                                    \"private_networking\",\n                                    \"backups\",\n                                    \"ipv6\",\n                                    \"metadata\",\n                                    \"install_agent\",\n                                    \"storage\",\n                                    \"image_transfer\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                  \"example\": \"New York 3\",\n                                  \"type\": \"string\"\n                                },\n                                \"sizes\": {\n                                  \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                  \"example\": [\n                                    \"s-1vcpu-1gb\",\n                                    \"s-1vcpu-2gb\",\n                                    \"s-1vcpu-3gb\",\n                                    \"s-2vcpu-2gb\",\n                                    \"s-3vcpu-1gb\",\n                                    \"s-2vcpu-4gb\",\n                                    \"s-4vcpu-8gb\",\n                                    \"s-6vcpu-16gb\",\n                                    \"s-8vcpu-32gb\",\n                                    \"s-12vcpu-48gb\",\n                                    \"s-16vcpu-64gb\",\n                                    \"s-20vcpu-96gb\",\n                                    \"s-24vcpu-128gb\",\n                                    \"s-32vcpu-192g\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"features\",\n                                \"name\",\n                                \"sizes\",\n                                \"slug\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"size\": {\n                              \"properties\": {\n                                \"available\": {\n                                  \"default\": true,\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created with this size.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"description\": {\n                                  \"description\": \"A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.\",\n                                  \"example\": \"Basic\",\n                                  \"type\": \"string\"\n                                },\n                                \"disk\": {\n                                  \"description\": \"The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes.\",\n                                  \"example\": 25,\n                                  \"type\": \"integer\"\n                                },\n                                \"memory\": {\n                                  \"description\": \"The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes.\",\n                                  \"example\": 1024,\n                                  \"minimum\": 8,\n                                  \"multipleOf\": 8,\n                                  \"type\": \"integer\"\n                                },\n                                \"price_hourly\": {\n                                  \"description\": \"This describes the price of the Droplet size as measured hourly. The value is measured in US dollars.\",\n                                  \"example\": 0.00743999984115362,\n                                  \"format\": \"float\",\n                                  \"type\": \"number\"\n                                },\n                                \"price_monthly\": {\n                                  \"description\": \"This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars.\",\n                                  \"example\": 5,\n                                  \"format\": \"float\",\n                                  \"type\": \"number\"\n                                },\n                                \"regions\": {\n                                  \"description\": \"An array containing the region slugs where this size is available for Droplet creates.\",\n                                  \"example\": [\n                                    \"ams2\",\n                                    \"ams3\",\n                                    \"blr1\",\n                                    \"fra1\",\n                                    \"lon1\",\n                                    \"nyc1\",\n                                    \"nyc2\",\n                                    \"nyc3\",\n                                    \"sfo1\",\n                                    \"sfo2\",\n                                    \"sfo3\",\n                                    \"sgp1\",\n                                    \"tor1\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used to uniquely identify each size.\",\n                                  \"example\": \"s-1vcpu-1gb\",\n                                  \"type\": \"string\"\n                                },\n                                \"transfer\": {\n                                  \"description\": \"The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes.\",\n                                  \"example\": 1,\n                                  \"format\": \"float\",\n                                  \"type\": \"number\"\n                                },\n                                \"vcpus\": {\n                                  \"description\": \"The integer of number CPUs allocated to Droplets of this size.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"disk\",\n                                \"memory\",\n                                \"price_hourly\",\n                                \"price_monthly\",\n                                \"regions\",\n                                \"slug\",\n                                \"transfer\",\n                                \"vcpus\",\n                                \"description\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"size_slug\": {\n                              \"description\": \"The unique slug identifier for the size of this Droplet.\",\n                              \"example\": \"s-1vcpu-1gb\",\n                              \"type\": \"string\"\n                            },\n                            \"snapshot_ids\": {\n                              \"description\": \"An array of snapshot IDs of any snapshots created from the Droplet instance.\",\n                              \"example\": [\n                                67512819\n                              ],\n                              \"items\": {\n                                \"type\": \"integer\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"status\": {\n                              \"description\": \"A status string indicating the state of the Droplet instance. This may be \\\"new\\\", \\\"active\\\", \\\"off\\\", or \\\"archive\\\".\",\n                              \"enum\": [\n                                \"new\",\n                                \"active\",\n                                \"off\",\n                                \"archive\"\n                              ],\n                              \"example\": \"active\",\n                              \"type\": \"string\"\n                            },\n                            \"tags\": {\n                              \"description\": \"An array of Tags the Droplet has been tagged with.\",\n                              \"example\": [\n                                \"web\",\n                                \"env:prod\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"vcpus\": {\n                              \"description\": \"The number of virtual CPUs.\",\n                              \"example\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"volume_ids\": {\n                              \"description\": \"A flat array including the unique identifier for each Block Storage volume attached to the Droplet.\",\n                              \"example\": [\n                                \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"vpc_uuid\": {\n                              \"description\": \"A string specifying the UUID of the VPC to which the Droplet is assigned.\",\n                              \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"id\",\n                            \"name\",\n                            \"memory\",\n                            \"vcpus\",\n                            \"disk\",\n                            \"locked\",\n                            \"status\",\n                            \"created_at\",\n                            \"features\",\n                            \"backup_ids\",\n                            \"next_backup_window\",\n                            \"snapshot_ids\",\n                            \"image\",\n                            \"volume_ids\",\n                            \"size\",\n                            \"size_slug\",\n                            \"networks\",\n                            \"region\",\n                            \"tags\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"links\": {\n                          \"properties\": {\n                            \"actions\": {\n                              \"items\": {\n                                \"description\": \"The linked actions can be used to check the status of a Droplet's create event.\",\n                                \"properties\": {\n                                  \"href\": {\n                                    \"description\": \"A URL that can be used to access the action.\",\n                                    \"example\": \"https://api.digitalocean.com/v2/actions/7515\",\n                                    \"format\": \"uri\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                                    \"example\": 7515,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"rel\": {\n                                    \"description\": \"A string specifying the type of the related action.\",\n                                    \"example\": \"create\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"required\": [\n                        \"droplet\",\n                        \"links\"\n                      ],\n                      \"title\": \"Single Droplet Response\"\n                    },\n                    {\n                      \"properties\": {\n                        \"droplets\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"backup_ids\": {\n                                \"description\": \"An array of backup IDs of any backups that have been taken of the Droplet instance.  Droplet backups are enabled at the time of the instance creation.\",\n                                \"example\": [\n                                  53893572\n                                ],\n                                \"items\": {\n                                  \"type\": \"integer\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"created_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Droplet was created.\",\n                                \"example\": \"2020-07-21T18:37:44Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"disk\": {\n                                \"description\": \"The size of the Droplet's disk in gigabytes.\",\n                                \"example\": 25,\n                                \"type\": \"integer\"\n                              },\n                              \"features\": {\n                                \"description\": \"An array of features enabled on this Droplet.\",\n                                \"example\": [\n                                  \"backups\",\n                                  \"private_networking\",\n                                  \"ipv6\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.\",\n                                \"example\": 3164444,\n                                \"type\": \"integer\"\n                              },\n                              \"image\": {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                                    \"example\": \"2020-05-04T22:23:02Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"description\": {\n                                    \"description\": \"An optional free-form text field to describe an image.\",\n                                    \"example\": \" \",\n                                    \"type\": \"string\"\n                                  },\n                                  \"distribution\": {\n                                    \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                                    \"enum\": [\n                                      \"Arch Linux\",\n                                      \"CentOS\",\n                                      \"CoreOS\",\n                                      \"Debian\",\n                                      \"Fedora\",\n                                      \"Fedora Atomic\",\n                                      \"FreeBSD\",\n                                      \"Gentoo\",\n                                      \"openSUSE\",\n                                      \"RancherOS\",\n                                      \"Rocky Linux\",\n                                      \"Ubuntu\",\n                                      \"Unknown\"\n                                    ],\n                                    \"example\": \"Ubuntu\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"error_message\": {\n                                    \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                                    \"example\": \" \",\n                                    \"type\": \"string\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                                    \"example\": 7555620,\n                                    \"readOnly\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"min_disk_size\": {\n                                    \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                                    \"example\": 20,\n                                    \"minimum\": 0,\n                                    \"nullable\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                                    \"example\": \"Nifty New Snapshot\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"public\": {\n                                    \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"regions\": {\n                                    \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                                    \"example\": [\n                                      \"nyc1\",\n                                      \"nyc2\"\n                                    ],\n                                    \"items\": {\n                                      \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                                      \"enum\": [\n                                        \"ams1\",\n                                        \"ams2\",\n                                        \"ams3\",\n                                        \"blr1\",\n                                        \"fra1\",\n                                        \"lon1\",\n                                        \"nyc1\",\n                                        \"nyc2\",\n                                        \"nyc3\",\n                                        \"sfo1\",\n                                        \"sfo2\",\n                                        \"sfo3\",\n                                        \"sgp1\",\n                                        \"tor1\"\n                                      ],\n                                      \"example\": \"nyc3\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"size_gigabytes\": {\n                                    \"description\": \"The size of the image in gigabytes.\",\n                                    \"example\": 2.34,\n                                    \"format\": \"float\",\n                                    \"nullable\": true,\n                                    \"type\": \"number\"\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                                    \"example\": \"nifty1\",\n                                    \"nullable\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                                    \"enum\": [\n                                      \"NEW\",\n                                      \"available\",\n                                      \"pending\",\n                                      \"deleted\",\n                                      \"retired\"\n                                    ],\n                                    \"example\": \"NEW\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"tags\": {\n                                    \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                    \"example\": [\n                                      \"base-image\",\n                                      \"prod\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"nullable\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"type\": {\n                                    \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                                    \"enum\": [\n                                      \"base\",\n                                      \"snapshot\",\n                                      \"backup\",\n                                      \"custom\",\n                                      \"admin\"\n                                    ],\n                                    \"example\": \"snapshot\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"kernel\": {\n                                \"deprecated\": true,\n                                \"description\": \"**Note**: All Droplets created after March 2017 use internal kernels by default.\\nThese Droplets will have this attribute set to `null`.\\n\\nThe current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/)\\nfor Droplets with externally managed kernels. This will initially be set to\\nthe kernel of the base image when the Droplet is created.\\n\",\n                                \"nullable\": true,\n                                \"properties\": {\n                                  \"id\": {\n                                    \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                                    \"example\": 7515,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question.\",\n                                    \"example\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"version\": {\n                                    \"description\": \"A standard kernel version string representing the version, patch, and release information.\",\n                                    \"example\": \"2016.07.13-DigitalOcean_loader_Ubuntu\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"locked\": {\n                                \"description\": \"A boolean value indicating whether the Droplet has been locked, preventing actions by users.\",\n                                \"example\": false,\n                                \"type\": \"boolean\"\n                              },\n                              \"memory\": {\n                                \"description\": \"Memory of the Droplet in megabytes.\",\n                                \"example\": 1024,\n                                \"multipleOf\": 8,\n                                \"type\": \"integer\"\n                              },\n                              \"name\": {\n                                \"description\": \"The human-readable name set for the Droplet instance.\",\n                                \"example\": \"example.com\",\n                                \"type\": \"string\"\n                              },\n                              \"networks\": {\n                                \"description\": \"The details of the network that are configured for the Droplet instance.  This is an object that contains keys for IPv4 and IPv6.  The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet.  These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.\",\n                                \"properties\": {\n                                  \"v4\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"gateway\": {\n                                          \"description\": \"The gateway of the specified IPv4 network interface.\\n\\nFor private interfaces, a gateway is not provided. This is denoted by\\nreturning `nil` as its value.\\n\",\n                                          \"example\": \"104.236.0.1\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"ip_address\": {\n                                          \"description\": \"The IP address of the IPv4 network interface.\",\n                                          \"example\": \"104.236.32.182\",\n                                          \"format\": \"ipv4\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"netmask\": {\n                                          \"description\": \"The netmask of the IPv4 network interface.\",\n                                          \"example\": \"255.255.192.0\",\n                                          \"format\": \"ipv4\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"description\": \"The type of the IPv4 network interface.\",\n                                          \"enum\": [\n                                            \"public\",\n                                            \"private\"\n                                          ],\n                                          \"example\": \"public\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"v6\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"gateway\": {\n                                          \"description\": \"The gateway of the specified IPv6 network interface.\",\n                                          \"example\": \"2604:a880:0:1010::1\",\n                                          \"format\": \"ipv6\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"ip_address\": {\n                                          \"description\": \"The IP address of the IPv6 network interface.\",\n                                          \"example\": \"2604:a880:0:1010::18a:a001\",\n                                          \"format\": \"ipv6\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"netmask\": {\n                                          \"description\": \"The netmask of the IPv6 network interface.\",\n                                          \"example\": 64,\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": {\n                                          \"description\": \"The type of the IPv6 network interface.\\n\\n**Note**: IPv6 private  networking is not currently supported.\\n\",\n                                          \"enum\": [\n                                            \"public\"\n                                          ],\n                                          \"example\": \"public\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"next_backup_window\": {\n                                \"description\": \"The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.\",\n                                \"nullable\": true,\n                                \"properties\": {\n                                  \"end\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window.\",\n                                    \"example\": \"2019-12-04T23:00:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"start\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window.\",\n                                    \"example\": \"2019-12-04T00:00:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"region\": {\n                                \"properties\": {\n                                  \"available\": {\n                                    \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"features\": {\n                                    \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                    \"example\": [\n                                      \"private_networking\",\n                                      \"backups\",\n                                      \"ipv6\",\n                                      \"metadata\",\n                                      \"install_agent\",\n                                      \"storage\",\n                                      \"image_transfer\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                    \"example\": \"New York 3\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"sizes\": {\n                                    \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                    \"example\": [\n                                      \"s-1vcpu-1gb\",\n                                      \"s-1vcpu-2gb\",\n                                      \"s-1vcpu-3gb\",\n                                      \"s-2vcpu-2gb\",\n                                      \"s-3vcpu-1gb\",\n                                      \"s-2vcpu-4gb\",\n                                      \"s-4vcpu-8gb\",\n                                      \"s-6vcpu-16gb\",\n                                      \"s-8vcpu-32gb\",\n                                      \"s-12vcpu-48gb\",\n                                      \"s-16vcpu-64gb\",\n                                      \"s-20vcpu-96gb\",\n                                      \"s-24vcpu-128gb\",\n                                      \"s-32vcpu-192g\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"available\",\n                                  \"features\",\n                                  \"name\",\n                                  \"sizes\",\n                                  \"slug\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"size\": {\n                                \"properties\": {\n                                  \"available\": {\n                                    \"default\": true,\n                                    \"description\": \"This is a boolean value that represents whether new Droplets can be created with this size.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"description\": {\n                                    \"description\": \"A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.\",\n                                    \"example\": \"Basic\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"disk\": {\n                                    \"description\": \"The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes.\",\n                                    \"example\": 25,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"memory\": {\n                                    \"description\": \"The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes.\",\n                                    \"example\": 1024,\n                                    \"minimum\": 8,\n                                    \"multipleOf\": 8,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"price_hourly\": {\n                                    \"description\": \"This describes the price of the Droplet size as measured hourly. The value is measured in US dollars.\",\n                                    \"example\": 0.00743999984115362,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  },\n                                  \"price_monthly\": {\n                                    \"description\": \"This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars.\",\n                                    \"example\": 5,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  },\n                                  \"regions\": {\n                                    \"description\": \"An array containing the region slugs where this size is available for Droplet creates.\",\n                                    \"example\": [\n                                      \"ams2\",\n                                      \"ams3\",\n                                      \"blr1\",\n                                      \"fra1\",\n                                      \"lon1\",\n                                      \"nyc1\",\n                                      \"nyc2\",\n                                      \"nyc3\",\n                                      \"sfo1\",\n                                      \"sfo2\",\n                                      \"sfo3\",\n                                      \"sgp1\",\n                                      \"tor1\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A human-readable string that is used to uniquely identify each size.\",\n                                    \"example\": \"s-1vcpu-1gb\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"transfer\": {\n                                    \"description\": \"The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes.\",\n                                    \"example\": 1,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  },\n                                  \"vcpus\": {\n                                    \"description\": \"The integer of number CPUs allocated to Droplets of this size.\",\n                                    \"example\": 1,\n                                    \"type\": \"integer\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"available\",\n                                  \"disk\",\n                                  \"memory\",\n                                  \"price_hourly\",\n                                  \"price_monthly\",\n                                  \"regions\",\n                                  \"slug\",\n                                  \"transfer\",\n                                  \"vcpus\",\n                                  \"description\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"size_slug\": {\n                                \"description\": \"The unique slug identifier for the size of this Droplet.\",\n                                \"example\": \"s-1vcpu-1gb\",\n                                \"type\": \"string\"\n                              },\n                              \"snapshot_ids\": {\n                                \"description\": \"An array of snapshot IDs of any snapshots created from the Droplet instance.\",\n                                \"example\": [\n                                  67512819\n                                ],\n                                \"items\": {\n                                  \"type\": \"integer\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"status\": {\n                                \"description\": \"A status string indicating the state of the Droplet instance. This may be \\\"new\\\", \\\"active\\\", \\\"off\\\", or \\\"archive\\\".\",\n                                \"enum\": [\n                                  \"new\",\n                                  \"active\",\n                                  \"off\",\n                                  \"archive\"\n                                ],\n                                \"example\": \"active\",\n                                \"type\": \"string\"\n                              },\n                              \"tags\": {\n                                \"description\": \"An array of Tags the Droplet has been tagged with.\",\n                                \"example\": [\n                                  \"web\",\n                                  \"env:prod\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"vcpus\": {\n                                \"description\": \"The number of virtual CPUs.\",\n                                \"example\": 1,\n                                \"type\": \"integer\"\n                              },\n                              \"volume_ids\": {\n                                \"description\": \"A flat array including the unique identifier for each Block Storage volume attached to the Droplet.\",\n                                \"example\": [\n                                  \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"vpc_uuid\": {\n                                \"description\": \"A string specifying the UUID of the VPC to which the Droplet is assigned.\",\n                                \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"id\",\n                              \"name\",\n                              \"memory\",\n                              \"vcpus\",\n                              \"disk\",\n                              \"locked\",\n                              \"status\",\n                              \"created_at\",\n                              \"features\",\n                              \"backup_ids\",\n                              \"next_backup_window\",\n                              \"snapshot_ids\",\n                              \"image\",\n                              \"volume_ids\",\n                              \"size\",\n                              \"size_slug\",\n                              \"networks\",\n                              \"region\",\n                              \"tags\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"links\": {\n                          \"properties\": {\n                            \"actions\": {\n                              \"items\": {\n                                \"description\": \"The linked actions can be used to check the status of a Droplet's create event.\",\n                                \"properties\": {\n                                  \"href\": {\n                                    \"description\": \"A URL that can be used to access the action.\",\n                                    \"example\": \"https://api.digitalocean.com/v2/actions/7515\",\n                                    \"format\": \"uri\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                                    \"example\": 7515,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"rel\": {\n                                    \"description\": \"A string specifying the type of the related action.\",\n                                    \"example\": \"create\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"required\": [\n                        \"droplets\",\n                        \"links\"\n                      ],\n                      \"title\": \"Multiple Droplet Response\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"Accepted\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Droplet\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"example.com\\\",\\\"region\\\":\\\"nyc3\\\",\\\"size\\\":\\\"s-1vcpu-1gb\\\",\\\"image\\\":\\\"ubuntu-20-04-x64\\\",\\\"ssh_keys\\\":[289794,\\\"3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45\\\"],\\\"backups\\\":true,\\\"ipv6\\\":true,\\\"monitoring\\\":true,\\\"tags\\\":[\\\"env:prod\\\",\\\"web\\\"],\\\"user_data\\\":\\\"#cloud-config\\\\nruncmd:\\\\n  - touch /test.txt\\\\n\\\",\\\"vpc_uuid\\\":\\\"760e09ef-dc84-11e8-981e-3cfdfeaae000\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &godo.DropletCreateRequest{\\n        Name:   \\\"example.com\\\",\\n        Region: \\\"nyc3\\\",\\n        Size:   \\\"s-1vcpu-1gb\\\",\\n        Image: godo.DropletCreateImage{\\n            Slug: \\\"ubuntu-20-04-x64\\\",\\n        },\\n        SSHKeys: []godo.DropletCreateSSHKey{\\n            godo.DropletCreateSSHKey{ID: 289794},\\n            godo.DropletCreateSSHKey{Fingerprint: \\\"3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45\\\"}\\n        },\\n        Backups: true,\\n        IPv6: true,\\n        Monitoring: true,\\n        Tags: []string{\\\"env:prod\\\",\\\"web\\\"},\\n        UserData: \\\"#cloud-config\\\\nruncmd:\\\\n  - touch /test.txt\\\\n\\\",\\n        VPCUUID: \\\"760e09ef-dc84-11e8-981e-3cfdfeaae000\\\",\\n    }\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ndroplet = DropletKit::Droplet.new(\\n  name: 'example.com',\\n  region: 'nyc3',\\n  size: 's-1vcpu-1gb',\\n  image: 'ubuntu-20-04-x64',\\n  ssh_keys: [289794,\\\"3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45\\\"],\\n  backups: true,\\n  ipv6: true,\\n  monitoring: true,\\n  tags: [\\\"env:prod\\\",\\\"web\\\"],\\n  user_data: \\\"#cloud-config\\\\nruncmd:\\\\n  - touch /test.txt\\\\n\\\",\\n  vpc_uuid: \\\"760e09ef-dc84-11e8-981e-3cfdfeaae000\\\",\\n)\\nclient.droplets.create(droplet)\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/actions\": {\n      \"post\": {\n        \"description\": \"Some actions can be performed in bulk on tagged Droplets. The actions can be\\ninitiated by sending a POST to `/v2/droplets/actions?tag_name=$TAG_NAME` with\\nthe action arguments.\\n\\nOnly a sub-set of action types are supported:\\n\\n- `power_cycle`\\n- `power_on`\\n- `power_off`\\n- `shutdown`\\n- `enable_ipv6`\\n- `enable_backups`\\n- `disable_backups`\\n- `snapshot`\\n\",\n        \"operationId\": \"dropletActions_post_byTag\",\n        \"parameters\": [\n          {\n            \"description\": \"Used to filter Droplets by a specific tag. Can not be combined with `name`.\",\n            \"example\": \"env:prod\",\n            \"in\": \"query\",\n            \"name\": \"tag_name\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"discriminator\": {\n                  \"mapping\": {\n                    \"disable_backups\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"enable_backups\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"enable_ipv6\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"power_cycle\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"power_off\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"power_on\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"shutdown\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"snapshot\": \"models/droplet_actions.yml#/droplet_action_snapshot\"\n                  },\n                  \"propertyName\": \"type\"\n                },\n                \"oneOf\": [\n                  {\n                    \"description\": \"Specifies the action that will be taken on the Droplet.\",\n                    \"properties\": {\n                      \"type\": {\n                        \"description\": \"The type of action to initiate for the Droplet.\",\n                        \"enum\": [\n                          \"enable_backups\",\n                          \"disable_backups\",\n                          \"reboot\",\n                          \"power_cycle\",\n                          \"shutdown\",\n                          \"power_off\",\n                          \"power_on\",\n                          \"restore\",\n                          \"password_reset\",\n                          \"resize\",\n                          \"rebuild\",\n                          \"rename\",\n                          \"change_kernel\",\n                          \"enable_ipv6\",\n                          \"snapshot\"\n                        ],\n                        \"example\": \"reboot\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"required\": [\n                      \"type\"\n                    ],\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"description\": \"Specifies the action that will be taken on the Droplet.\",\n                        \"properties\": {\n                          \"type\": {\n                            \"description\": \"The type of action to initiate for the Droplet.\",\n                            \"enum\": [\n                              \"enable_backups\",\n                              \"disable_backups\",\n                              \"reboot\",\n                              \"power_cycle\",\n                              \"shutdown\",\n                              \"power_off\",\n                              \"power_on\",\n                              \"restore\",\n                              \"password_reset\",\n                              \"resize\",\n                              \"rebuild\",\n                              \"rename\",\n                              \"change_kernel\",\n                              \"enable_ipv6\",\n                              \"snapshot\"\n                            ],\n                            \"example\": \"reboot\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"name\": {\n                            \"description\": \"The name to give the new snapshot of the Droplet.\",\n                            \"example\": \"Nifty New Snapshot\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ]\n                  }\n                ]\n              }\n            }\n          },\n          \"description\": \"The `type` attribute set in the request body will specify the  action that\\nwill be taken on the Droplet. Some actions will require additional\\nattributes to be set as well.\\n\"\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"actions\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"completed_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                            \"example\": \"2020-11-14T16:30:06Z\",\n                            \"format\": \"date-time\",\n                            \"nullable\": true,\n                            \"type\": \"string\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                            \"example\": 36804636,\n                            \"type\": \"integer\"\n                          },\n                          \"region\": {\n                            \"properties\": {\n                              \"available\": {\n                                \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"features\": {\n                                \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                \"example\": [\n                                  \"private_networking\",\n                                  \"backups\",\n                                  \"ipv6\",\n                                  \"metadata\",\n                                  \"install_agent\",\n                                  \"storage\",\n                                  \"image_transfer\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"name\": {\n                                \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                \"example\": \"New York 3\",\n                                \"type\": \"string\"\n                              },\n                              \"sizes\": {\n                                \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                \"example\": [\n                                  \"s-1vcpu-1gb\",\n                                  \"s-1vcpu-2gb\",\n                                  \"s-1vcpu-3gb\",\n                                  \"s-2vcpu-2gb\",\n                                  \"s-3vcpu-1gb\",\n                                  \"s-2vcpu-4gb\",\n                                  \"s-4vcpu-8gb\",\n                                  \"s-6vcpu-16gb\",\n                                  \"s-8vcpu-32gb\",\n                                  \"s-12vcpu-48gb\",\n                                  \"s-16vcpu-64gb\",\n                                  \"s-20vcpu-96gb\",\n                                  \"s-24vcpu-128gb\",\n                                  \"s-32vcpu-192g\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"slug\": {\n                                \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                \"example\": \"nyc3\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"available\",\n                              \"features\",\n                              \"name\",\n                              \"sizes\",\n                              \"slug\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"region_slug\": {\n                            \"allOf\": [\n                              {\n                                \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                \"example\": \"nyc3\",\n                                \"type\": \"string\"\n                              },\n                              {\n                                \"nullable\": true,\n                                \"type\": \"string\"\n                              }\n                            ]\n                          },\n                          \"resource_id\": {\n                            \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                            \"example\": 3164444,\n                            \"nullable\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"resource_type\": {\n                            \"description\": \"The type of resource that the action is associated with.\",\n                            \"example\": \"droplet\",\n                            \"type\": \"string\"\n                          },\n                          \"started_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                            \"example\": \"2020-11-14T16:29:21Z\",\n                            \"format\": \"date-time\",\n                            \"type\": \"string\"\n                          },\n                          \"status\": {\n                            \"default\": \"in-progress\",\n                            \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                            \"enum\": [\n                              \"in-progress\",\n                              \"completed\",\n                              \"errored\"\n                            ],\n                            \"example\": \"completed\",\n                            \"type\": \"string\"\n                          },\n                          \"type\": {\n                            \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                            \"example\": \"create\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `actions`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Acting on Tagged Droplets\",\n        \"tags\": [\n          \"Droplet Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"enable_backups\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/actions?tag_name=awesome\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    action, _, err := client.DropletActions.PowerOffByTag(ctx, \\\"awesome\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.droplet_actions.power_off_for_tag(tag: 'awesome')\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a Droplet, send a DELETE request to `/v2/droplets/$DROPLET_ID`.\\n\\nA successful request will receive a 204 status code with no body in response.\\nThis indicates that the request was processed successfully.\\n\",\n        \"operationId\": \"droplets_destroy\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty. This response has content-type set.\",\n            \"headers\": {\n              \"content-type\": {\n                \"description\": \"The type of data that is returned from a request. \",\n                \"example\": \"application/json; charset=utf-8\",\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              },\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete an Existing Droplet\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164494\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Droplets.Delete(ctx, 3164494)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.droplets.delete(id: 3164494)\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an individual Droplet, send a GET request to\\n`/v2/droplets/$DROPLET_ID`.\\n\",\n        \"operationId\": \"droplets_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Single Droplet\": {\n                    \"value\": {\n                      \"droplet\": {\n                        \"backup_ids\": [\n                          53893572\n                        ],\n                        \"created_at\": \"2020-07-21T18:37:44Z\",\n                        \"disk\": 25,\n                        \"features\": [\n                          \"backups\",\n                          \"private_networking\",\n                          \"ipv6\"\n                        ],\n                        \"id\": 3164444,\n                        \"image\": {\n                          \"created_at\": \"2020-05-15T05:47:50Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"Ubuntu\",\n                          \"error_message\": \"\",\n                          \"id\": 63663980,\n                          \"min_disk_size\": 20,\n                          \"name\": \"20.04 (LTS) x64\",\n                          \"public\": true,\n                          \"regions\": [\n                            \"ams2\",\n                            \"ams3\",\n                            \"blr1\",\n                            \"fra1\",\n                            \"lon1\",\n                            \"nyc1\",\n                            \"nyc2\",\n                            \"nyc3\",\n                            \"sfo1\",\n                            \"sfo2\",\n                            \"sfo3\",\n                            \"sgp1\",\n                            \"tor1\"\n                          ],\n                          \"size_gigabytes\": 2.36,\n                          \"slug\": \"ubuntu-20-04-x64\",\n                          \"status\": \"available\",\n                          \"tags\": [],\n                          \"type\": \"snapshot\"\n                        },\n                        \"kernel\": null,\n                        \"locked\": false,\n                        \"memory\": 1024,\n                        \"name\": \"example.com\",\n                        \"networks\": {\n                          \"v4\": [\n                            {\n                              \"gateway\": \"nil\",\n                              \"ip_address\": \"10.128.192.124\",\n                              \"netmask\": \"255.255.0.0\",\n                              \"type\": \"private\"\n                            },\n                            {\n                              \"gateway\": \"192.241.165.1\",\n                              \"ip_address\": \"192.241.165.154\",\n                              \"netmask\": \"255.255.255.0\",\n                              \"type\": \"public\"\n                            }\n                          ],\n                          \"v6\": [\n                            {\n                              \"gateway\": \"2604:a880:0:1010::1\",\n                              \"ip_address\": \"2604:a880:0:1010::18a:a001\",\n                              \"netmask\": 64,\n                              \"type\": \"public\"\n                            }\n                          ]\n                        },\n                        \"next_backup_window\": {\n                          \"end\": \"2020-07-30T23:00:00Z\",\n                          \"start\": \"2020-07-30T00:00:00Z\"\n                        },\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        },\n                        \"size\": {\n                          \"available\": true,\n                          \"description\": \"Basic\",\n                          \"disk\": 25,\n                          \"memory\": 1024,\n                          \"price_hourly\": 0.00743999984115362,\n                          \"price_monthly\": 5,\n                          \"regions\": [\n                            \"ams2\",\n                            \"ams3\",\n                            \"blr1\",\n                            \"fra1\",\n                            \"lon1\",\n                            \"nyc1\",\n                            \"nyc2\",\n                            \"nyc3\",\n                            \"sfo1\",\n                            \"sfo2\",\n                            \"sfo3\",\n                            \"sgp1\",\n                            \"tor1\"\n                          ],\n                          \"slug\": \"s-1vcpu-1gb\",\n                          \"transfer\": 1,\n                          \"vcpus\": 1\n                        },\n                        \"size_slug\": \"s-1vcpu-1gb\",\n                        \"snapshot_ids\": [\n                          67512819\n                        ],\n                        \"status\": \"active\",\n                        \"tags\": [\n                          \"web\",\n                          \"env:prod\"\n                        ],\n                        \"vcpus\": 1,\n                        \"volume_ids\": [],\n                        \"vpc_uuid\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"droplet\": {\n                      \"properties\": {\n                        \"backup_ids\": {\n                          \"description\": \"An array of backup IDs of any backups that have been taken of the Droplet instance.  Droplet backups are enabled at the time of the instance creation.\",\n                          \"example\": [\n                            53893572\n                          ],\n                          \"items\": {\n                            \"type\": \"integer\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Droplet was created.\",\n                          \"example\": \"2020-07-21T18:37:44Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"disk\": {\n                          \"description\": \"The size of the Droplet's disk in gigabytes.\",\n                          \"example\": 25,\n                          \"type\": \"integer\"\n                        },\n                        \"features\": {\n                          \"description\": \"An array of features enabled on this Droplet.\",\n                          \"example\": [\n                            \"backups\",\n                            \"private_networking\",\n                            \"ipv6\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.\",\n                          \"example\": 3164444,\n                          \"type\": \"integer\"\n                        },\n                        \"image\": {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                              \"example\": \"2020-05-04T22:23:02Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"description\": {\n                              \"description\": \"An optional free-form text field to describe an image.\",\n                              \"example\": \" \",\n                              \"type\": \"string\"\n                            },\n                            \"distribution\": {\n                              \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                              \"enum\": [\n                                \"Arch Linux\",\n                                \"CentOS\",\n                                \"CoreOS\",\n                                \"Debian\",\n                                \"Fedora\",\n                                \"Fedora Atomic\",\n                                \"FreeBSD\",\n                                \"Gentoo\",\n                                \"openSUSE\",\n                                \"RancherOS\",\n                                \"Rocky Linux\",\n                                \"Ubuntu\",\n                                \"Unknown\"\n                              ],\n                              \"example\": \"Ubuntu\",\n                              \"type\": \"string\"\n                            },\n                            \"error_message\": {\n                              \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                              \"example\": \" \",\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                              \"example\": 7555620,\n                              \"readOnly\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"min_disk_size\": {\n                              \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                              \"example\": 20,\n                              \"minimum\": 0,\n                              \"nullable\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"name\": {\n                              \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                              \"example\": \"Nifty New Snapshot\",\n                              \"type\": \"string\"\n                            },\n                            \"public\": {\n                              \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"regions\": {\n                              \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                              \"example\": [\n                                \"nyc1\",\n                                \"nyc2\"\n                              ],\n                              \"items\": {\n                                \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                                \"enum\": [\n                                  \"ams1\",\n                                  \"ams2\",\n                                  \"ams3\",\n                                  \"blr1\",\n                                  \"fra1\",\n                                  \"lon1\",\n                                  \"nyc1\",\n                                  \"nyc2\",\n                                  \"nyc3\",\n                                  \"sfo1\",\n                                  \"sfo2\",\n                                  \"sfo3\",\n                                  \"sgp1\",\n                                  \"tor1\"\n                                ],\n                                \"example\": \"nyc3\",\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"size_gigabytes\": {\n                              \"description\": \"The size of the image in gigabytes.\",\n                              \"example\": 2.34,\n                              \"format\": \"float\",\n                              \"nullable\": true,\n                              \"type\": \"number\"\n                            },\n                            \"slug\": {\n                              \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                              \"example\": \"nifty1\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            },\n                            \"status\": {\n                              \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                              \"enum\": [\n                                \"NEW\",\n                                \"available\",\n                                \"pending\",\n                                \"deleted\",\n                                \"retired\"\n                              ],\n                              \"example\": \"NEW\",\n                              \"type\": \"string\"\n                            },\n                            \"tags\": {\n                              \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                              \"example\": [\n                                \"base-image\",\n                                \"prod\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            },\n                            \"type\": {\n                              \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                              \"enum\": [\n                                \"base\",\n                                \"snapshot\",\n                                \"backup\",\n                                \"custom\",\n                                \"admin\"\n                              ],\n                              \"example\": \"snapshot\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"kernel\": {\n                          \"deprecated\": true,\n                          \"description\": \"**Note**: All Droplets created after March 2017 use internal kernels by default.\\nThese Droplets will have this attribute set to `null`.\\n\\nThe current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/)\\nfor Droplets with externally managed kernels. This will initially be set to\\nthe kernel of the base image when the Droplet is created.\\n\",\n                          \"nullable\": true,\n                          \"properties\": {\n                            \"id\": {\n                              \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                              \"example\": 7515,\n                              \"type\": \"integer\"\n                            },\n                            \"name\": {\n                              \"description\": \"The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question.\",\n                              \"example\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                              \"type\": \"string\"\n                            },\n                            \"version\": {\n                              \"description\": \"A standard kernel version string representing the version, patch, and release information.\",\n                              \"example\": \"2016.07.13-DigitalOcean_loader_Ubuntu\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"locked\": {\n                          \"description\": \"A boolean value indicating whether the Droplet has been locked, preventing actions by users.\",\n                          \"example\": false,\n                          \"type\": \"boolean\"\n                        },\n                        \"memory\": {\n                          \"description\": \"Memory of the Droplet in megabytes.\",\n                          \"example\": 1024,\n                          \"multipleOf\": 8,\n                          \"type\": \"integer\"\n                        },\n                        \"name\": {\n                          \"description\": \"The human-readable name set for the Droplet instance.\",\n                          \"example\": \"example.com\",\n                          \"type\": \"string\"\n                        },\n                        \"networks\": {\n                          \"description\": \"The details of the network that are configured for the Droplet instance.  This is an object that contains keys for IPv4 and IPv6.  The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet.  These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.\",\n                          \"properties\": {\n                            \"v4\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"gateway\": {\n                                    \"description\": \"The gateway of the specified IPv4 network interface.\\n\\nFor private interfaces, a gateway is not provided. This is denoted by\\nreturning `nil` as its value.\\n\",\n                                    \"example\": \"104.236.0.1\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"ip_address\": {\n                                    \"description\": \"The IP address of the IPv4 network interface.\",\n                                    \"example\": \"104.236.32.182\",\n                                    \"format\": \"ipv4\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"netmask\": {\n                                    \"description\": \"The netmask of the IPv4 network interface.\",\n                                    \"example\": \"255.255.192.0\",\n                                    \"format\": \"ipv4\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"description\": \"The type of the IPv4 network interface.\",\n                                    \"enum\": [\n                                      \"public\",\n                                      \"private\"\n                                    ],\n                                    \"example\": \"public\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"v6\": {\n                              \"items\": {\n                                \"properties\": {\n                                  \"gateway\": {\n                                    \"description\": \"The gateway of the specified IPv6 network interface.\",\n                                    \"example\": \"2604:a880:0:1010::1\",\n                                    \"format\": \"ipv6\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"ip_address\": {\n                                    \"description\": \"The IP address of the IPv6 network interface.\",\n                                    \"example\": \"2604:a880:0:1010::18a:a001\",\n                                    \"format\": \"ipv6\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"netmask\": {\n                                    \"description\": \"The netmask of the IPv6 network interface.\",\n                                    \"example\": 64,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": {\n                                    \"description\": \"The type of the IPv6 network interface.\\n\\n**Note**: IPv6 private  networking is not currently supported.\\n\",\n                                    \"enum\": [\n                                      \"public\"\n                                    ],\n                                    \"example\": \"public\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"next_backup_window\": {\n                          \"description\": \"The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.\",\n                          \"nullable\": true,\n                          \"properties\": {\n                            \"end\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window.\",\n                              \"example\": \"2019-12-04T23:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"start\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window.\",\n                              \"example\": \"2019-12-04T00:00:00Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"region\": {\n                          \"properties\": {\n                            \"available\": {\n                              \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"features\": {\n                              \"description\": \"This attribute is set to an array which contains features available in this region\",\n                              \"example\": [\n                                \"private_networking\",\n                                \"backups\",\n                                \"ipv6\",\n                                \"metadata\",\n                                \"install_agent\",\n                                \"storage\",\n                                \"image_transfer\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"name\": {\n                              \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                              \"example\": \"New York 3\",\n                              \"type\": \"string\"\n                            },\n                            \"sizes\": {\n                              \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                              \"example\": [\n                                \"s-1vcpu-1gb\",\n                                \"s-1vcpu-2gb\",\n                                \"s-1vcpu-3gb\",\n                                \"s-2vcpu-2gb\",\n                                \"s-3vcpu-1gb\",\n                                \"s-2vcpu-4gb\",\n                                \"s-4vcpu-8gb\",\n                                \"s-6vcpu-16gb\",\n                                \"s-8vcpu-32gb\",\n                                \"s-12vcpu-48gb\",\n                                \"s-16vcpu-64gb\",\n                                \"s-20vcpu-96gb\",\n                                \"s-24vcpu-128gb\",\n                                \"s-32vcpu-192g\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"slug\": {\n                              \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                              \"example\": \"nyc3\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"available\",\n                            \"features\",\n                            \"name\",\n                            \"sizes\",\n                            \"slug\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"size\": {\n                          \"properties\": {\n                            \"available\": {\n                              \"default\": true,\n                              \"description\": \"This is a boolean value that represents whether new Droplets can be created with this size.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"description\": {\n                              \"description\": \"A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.\",\n                              \"example\": \"Basic\",\n                              \"type\": \"string\"\n                            },\n                            \"disk\": {\n                              \"description\": \"The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes.\",\n                              \"example\": 25,\n                              \"type\": \"integer\"\n                            },\n                            \"memory\": {\n                              \"description\": \"The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes.\",\n                              \"example\": 1024,\n                              \"minimum\": 8,\n                              \"multipleOf\": 8,\n                              \"type\": \"integer\"\n                            },\n                            \"price_hourly\": {\n                              \"description\": \"This describes the price of the Droplet size as measured hourly. The value is measured in US dollars.\",\n                              \"example\": 0.00743999984115362,\n                              \"format\": \"float\",\n                              \"type\": \"number\"\n                            },\n                            \"price_monthly\": {\n                              \"description\": \"This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars.\",\n                              \"example\": 5,\n                              \"format\": \"float\",\n                              \"type\": \"number\"\n                            },\n                            \"regions\": {\n                              \"description\": \"An array containing the region slugs where this size is available for Droplet creates.\",\n                              \"example\": [\n                                \"ams2\",\n                                \"ams3\",\n                                \"blr1\",\n                                \"fra1\",\n                                \"lon1\",\n                                \"nyc1\",\n                                \"nyc2\",\n                                \"nyc3\",\n                                \"sfo1\",\n                                \"sfo2\",\n                                \"sfo3\",\n                                \"sgp1\",\n                                \"tor1\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"slug\": {\n                              \"description\": \"A human-readable string that is used to uniquely identify each size.\",\n                              \"example\": \"s-1vcpu-1gb\",\n                              \"type\": \"string\"\n                            },\n                            \"transfer\": {\n                              \"description\": \"The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes.\",\n                              \"example\": 1,\n                              \"format\": \"float\",\n                              \"type\": \"number\"\n                            },\n                            \"vcpus\": {\n                              \"description\": \"The integer of number CPUs allocated to Droplets of this size.\",\n                              \"example\": 1,\n                              \"type\": \"integer\"\n                            }\n                          },\n                          \"required\": [\n                            \"available\",\n                            \"disk\",\n                            \"memory\",\n                            \"price_hourly\",\n                            \"price_monthly\",\n                            \"regions\",\n                            \"slug\",\n                            \"transfer\",\n                            \"vcpus\",\n                            \"description\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"size_slug\": {\n                          \"description\": \"The unique slug identifier for the size of this Droplet.\",\n                          \"example\": \"s-1vcpu-1gb\",\n                          \"type\": \"string\"\n                        },\n                        \"snapshot_ids\": {\n                          \"description\": \"An array of snapshot IDs of any snapshots created from the Droplet instance.\",\n                          \"example\": [\n                            67512819\n                          ],\n                          \"items\": {\n                            \"type\": \"integer\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"status\": {\n                          \"description\": \"A status string indicating the state of the Droplet instance. This may be \\\"new\\\", \\\"active\\\", \\\"off\\\", or \\\"archive\\\".\",\n                          \"enum\": [\n                            \"new\",\n                            \"active\",\n                            \"off\",\n                            \"archive\"\n                          ],\n                          \"example\": \"active\",\n                          \"type\": \"string\"\n                        },\n                        \"tags\": {\n                          \"description\": \"An array of Tags the Droplet has been tagged with.\",\n                          \"example\": [\n                            \"web\",\n                            \"env:prod\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"vcpus\": {\n                          \"description\": \"The number of virtual CPUs.\",\n                          \"example\": 1,\n                          \"type\": \"integer\"\n                        },\n                        \"volume_ids\": {\n                          \"description\": \"A flat array including the unique identifier for each Block Storage volume attached to the Droplet.\",\n                          \"example\": [\n                            \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"vpc_uuid\": {\n                          \"description\": \"A string specifying the UUID of the VPC to which the Droplet is assigned.\",\n                          \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"id\",\n                        \"name\",\n                        \"memory\",\n                        \"vcpus\",\n                        \"disk\",\n                        \"locked\",\n                        \"status\",\n                        \"created_at\",\n                        \"features\",\n                        \"backup_ids\",\n                        \"next_backup_window\",\n                        \"snapshot_ids\",\n                        \"image\",\n                        \"volume_ids\",\n                        \"size\",\n                        \"size_slug\",\n                        \"networks\",\n                        \"region\",\n                        \"tags\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `droplet`. This will be\\nset to a JSON object that contains the standard Droplet attributes.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Droplet\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164494\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    droplet, _, err := client.Droplets.Get(ctx, 3164494)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.droplets.find(id: 3164494)\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}/actions\": {\n      \"get\": {\n        \"description\": \"To retrieve a list of all actions that have been executed for a Droplet, send\\na GET request to `/v2/droplets/$DROPLET_ID/actions`.\\n\\nThe results will be returned as a JSON object with an `actions` key. This will\\nbe set to an array filled with `action` objects containing the standard\\n`action` attributes.\\n\",\n        \"operationId\": \"dropletActions_list\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"actions\": [\n                    {\n                      \"completed_at\": \"2020-07-20T19:37:45Z\",\n                      \"id\": 982864273,\n                      \"region\": {\n                        \"available\": true,\n                        \"features\": [\n                          \"private_networking\",\n                          \"backups\",\n                          \"ipv6\",\n                          \"metadata\",\n                          \"install_agent\",\n                          \"image_transfer\"\n                        ],\n                        \"name\": \"New York 3\",\n                        \"sizes\": [\n                          \"s-1vcpu-1gb\",\n                          \"s-1vcpu-2gb\",\n                          \"s-3vcpu-1gb\",\n                          \"s-2vcpu-2gb\",\n                          \"s-1vcpu-3gb\",\n                          \"s-2vcpu-4gb\",\n                          \"s-4vcpu-8gb\",\n                          \"m-1vcpu-8gb\",\n                          \"s-6vcpu-16gb\",\n                          \"s-8vcpu-32gb\",\n                          \"s-12vcpu-48gb\"\n                        ],\n                        \"slug\": \"nyc3\"\n                      },\n                      \"region_slug\": \"nyc3\",\n                      \"resource_id\": 3164444,\n                      \"resource_type\": \"droplet\",\n                      \"started_at\": \"2020-07-20T19:37:30Z\",\n                      \"status\": \"completed\",\n                      \"type\": \"create\"\n                    }\n                  ],\n                  \"links\": {},\n                  \"meta\": {\n                    \"total\": 1\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"actions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"completed_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                                \"example\": \"2020-11-14T16:30:06Z\",\n                                \"format\": \"date-time\",\n                                \"nullable\": true,\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                                \"example\": 36804636,\n                                \"type\": \"integer\"\n                              },\n                              \"region\": {\n                                \"properties\": {\n                                  \"available\": {\n                                    \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"features\": {\n                                    \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                    \"example\": [\n                                      \"private_networking\",\n                                      \"backups\",\n                                      \"ipv6\",\n                                      \"metadata\",\n                                      \"install_agent\",\n                                      \"storage\",\n                                      \"image_transfer\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                    \"example\": \"New York 3\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"sizes\": {\n                                    \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                    \"example\": [\n                                      \"s-1vcpu-1gb\",\n                                      \"s-1vcpu-2gb\",\n                                      \"s-1vcpu-3gb\",\n                                      \"s-2vcpu-2gb\",\n                                      \"s-3vcpu-1gb\",\n                                      \"s-2vcpu-4gb\",\n                                      \"s-4vcpu-8gb\",\n                                      \"s-6vcpu-16gb\",\n                                      \"s-8vcpu-32gb\",\n                                      \"s-12vcpu-48gb\",\n                                      \"s-16vcpu-64gb\",\n                                      \"s-20vcpu-96gb\",\n                                      \"s-24vcpu-128gb\",\n                                      \"s-32vcpu-192g\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"available\",\n                                  \"features\",\n                                  \"name\",\n                                  \"sizes\",\n                                  \"slug\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"region_slug\": {\n                                \"allOf\": [\n                                  {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  },\n                                  {\n                                    \"nullable\": true,\n                                    \"type\": \"string\"\n                                  }\n                                ]\n                              },\n                              \"resource_id\": {\n                                \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                                \"example\": 3164444,\n                                \"nullable\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"resource_type\": {\n                                \"description\": \"The type of resource that the action is associated with.\",\n                                \"example\": \"droplet\",\n                                \"type\": \"string\"\n                              },\n                              \"started_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                                \"example\": \"2020-11-14T16:29:21Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"status\": {\n                                \"default\": \"in-progress\",\n                                \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                                \"enum\": [\n                                  \"in-progress\",\n                                  \"completed\",\n                                  \"errored\"\n                                ],\n                                \"example\": \"completed\",\n                                \"type\": \"string\"\n                              },\n                              \"type\": {\n                                \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                                \"example\": \"create\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON object with an `actions` key.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Actions for a Droplet\",\n        \"tags\": [\n          \"Droplet Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164494/actions?page=1&per_page=1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    actions, _, err := client.Droplets.Actions(ctx, 3164494, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nactions = client.droplets.actions(id: 3164494)\\nactions.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To initiate an action on a Droplet send a POST request to\\n`/v2/droplets/$DROPLET_ID/actions`. In the JSON body to the request,\\nset the `type` attribute to on of the supported action types:\\n\\n| Action                                   | Details |\\n| ---------------------------------------- | ----------- |\\n| <nobr>`enable_backups`</nobr>            | Enables backups for a Droplet |\\n| <nobr>`disable_backups`</nobr>           | Disables backups for a Droplet |\\n| <nobr>`reboot`</nobr>                    | Reboots a Droplet. A `reboot` action is an attempt to reboot the Droplet in a graceful way, similar to using the `reboot` command from the console. |\\n| <nobr>`power_cycle`</nobr>               | Power cycles a Droplet. A `powercycle` action is similar to pushing the reset button on a physical machine, it's similar to booting from scratch. |\\n| <nobr>`shutdown`</nobr>                  | Shutsdown a Droplet. A shutdown action is an attempt to shutdown the Droplet in a graceful way, similar to using the `shutdown` command from the console. Since a `shutdown` command can fail, this action guarantees that the command is issued, not that it succeeds. The preferred way to turn off a Droplet is to attempt a shutdown, with a reasonable timeout, followed by a `power_off` action to ensure the Droplet is off. |\\n| <nobr>`power_off`</nobr>                 | Powers off a Droplet. A `power_off` event is a hard shutdown and should only be used if the `shutdown` action is not successful. It is similar to cutting the power on a server and could lead to complications. |\\n| <nobr>`power_on`</nobr>                  | Powers on a Droplet. |\\n| <nobr>`restore`</nobr>                   | Restore a Droplet using a backup image. The image ID that is passed in must be a backup of the current Droplet instance. The operation will leave any embedded SSH keys intact. |\\n| <nobr>`password_reset`</nobr>            | Resets the root password for a Droplet. A new password will be provided via email. It must be changed after first use. |\\n| <nobr>`resize`</nobr>                    | Resizes a Droplet. Set the `size` attribute to a size slug. If a permanent resize with disk changes included is desired, set the `disk` attribute to `true`. |\\n| <nobr>`rebuild`</nobr>                   | Rebuilds a Droplet from a new base image. Set the `image` attribute to an image ID or slug. |\\n| <nobr>`rename`</nobr>                    | Renames a Droplet. |\\n| <nobr>`change_kernel`</nobr>             | Changes a Droplet's kernel. Only applies to Droplets with externally managed kernels. All Droplets created after March 2017 use internal kernels by default. |\\n| <nobr>`enable_ipv6`</nobr>               | Enables IPv6 for a Droplet. |\\n| <nobr>`snapshot`</nobr>                  | Takes a snapshot of a Droplet. |\\n\",\n        \"operationId\": \"dropletActions_post\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"anyOf\": [\n                  {\n                    \"description\": \"Specifies the action that will be taken on the Droplet.\",\n                    \"properties\": {\n                      \"type\": {\n                        \"description\": \"The type of action to initiate for the Droplet.\",\n                        \"enum\": [\n                          \"enable_backups\",\n                          \"disable_backups\",\n                          \"reboot\",\n                          \"power_cycle\",\n                          \"shutdown\",\n                          \"power_off\",\n                          \"power_on\",\n                          \"restore\",\n                          \"password_reset\",\n                          \"resize\",\n                          \"rebuild\",\n                          \"rename\",\n                          \"change_kernel\",\n                          \"enable_ipv6\",\n                          \"snapshot\"\n                        ],\n                        \"example\": \"reboot\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"required\": [\n                      \"type\"\n                    ],\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"description\": \"Specifies the action that will be taken on the Droplet.\",\n                        \"properties\": {\n                          \"type\": {\n                            \"description\": \"The type of action to initiate for the Droplet.\",\n                            \"enum\": [\n                              \"enable_backups\",\n                              \"disable_backups\",\n                              \"reboot\",\n                              \"power_cycle\",\n                              \"shutdown\",\n                              \"power_off\",\n                              \"power_on\",\n                              \"restore\",\n                              \"password_reset\",\n                              \"resize\",\n                              \"rebuild\",\n                              \"rename\",\n                              \"change_kernel\",\n                              \"enable_ipv6\",\n                              \"snapshot\"\n                            ],\n                            \"example\": \"reboot\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"image\": {\n                            \"description\": \"The ID of a backup of the current Droplet instance to restore from.\",\n                            \"example\": 12389723,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"description\": \"Specifies the action that will be taken on the Droplet.\",\n                        \"properties\": {\n                          \"type\": {\n                            \"description\": \"The type of action to initiate for the Droplet.\",\n                            \"enum\": [\n                              \"enable_backups\",\n                              \"disable_backups\",\n                              \"reboot\",\n                              \"power_cycle\",\n                              \"shutdown\",\n                              \"power_off\",\n                              \"power_on\",\n                              \"restore\",\n                              \"password_reset\",\n                              \"resize\",\n                              \"rebuild\",\n                              \"rename\",\n                              \"change_kernel\",\n                              \"enable_ipv6\",\n                              \"snapshot\"\n                            ],\n                            \"example\": \"reboot\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"disk\": {\n                            \"description\": \"When `true`, the Droplet's disk will be resized in addition to its RAM and CPU. This is a permanent change and cannot be reversed as a Droplet's disk size cannot be decreased.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"size\": {\n                            \"description\": \"The slug identifier for the size to which you wish to resize the Droplet.\",\n                            \"example\": \"s-2vcpu-2gb\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"description\": \"Specifies the action that will be taken on the Droplet.\",\n                        \"properties\": {\n                          \"type\": {\n                            \"description\": \"The type of action to initiate for the Droplet.\",\n                            \"enum\": [\n                              \"enable_backups\",\n                              \"disable_backups\",\n                              \"reboot\",\n                              \"power_cycle\",\n                              \"shutdown\",\n                              \"power_off\",\n                              \"power_on\",\n                              \"restore\",\n                              \"password_reset\",\n                              \"resize\",\n                              \"rebuild\",\n                              \"rename\",\n                              \"change_kernel\",\n                              \"enable_ipv6\",\n                              \"snapshot\"\n                            ],\n                            \"example\": \"reboot\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"image\": {\n                            \"description\": \"The image ID of a public or private image or the slug identifier for a public image. The Droplet will be rebuilt using this image as its base.\",\n                            \"example\": \"ubuntu-20-04-x64\",\n                            \"oneOf\": [\n                              {\n                                \"type\": \"string\"\n                              },\n                              {\n                                \"type\": \"integer\"\n                              }\n                            ]\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"description\": \"Specifies the action that will be taken on the Droplet.\",\n                        \"properties\": {\n                          \"type\": {\n                            \"description\": \"The type of action to initiate for the Droplet.\",\n                            \"enum\": [\n                              \"enable_backups\",\n                              \"disable_backups\",\n                              \"reboot\",\n                              \"power_cycle\",\n                              \"shutdown\",\n                              \"power_off\",\n                              \"power_on\",\n                              \"restore\",\n                              \"password_reset\",\n                              \"resize\",\n                              \"rebuild\",\n                              \"rename\",\n                              \"change_kernel\",\n                              \"enable_ipv6\",\n                              \"snapshot\"\n                            ],\n                            \"example\": \"reboot\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"name\": {\n                            \"description\": \"The new name for the Droplet.\",\n                            \"example\": \"nifty-new-name\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"description\": \"Specifies the action that will be taken on the Droplet.\",\n                        \"properties\": {\n                          \"type\": {\n                            \"description\": \"The type of action to initiate for the Droplet.\",\n                            \"enum\": [\n                              \"enable_backups\",\n                              \"disable_backups\",\n                              \"reboot\",\n                              \"power_cycle\",\n                              \"shutdown\",\n                              \"power_off\",\n                              \"power_on\",\n                              \"restore\",\n                              \"password_reset\",\n                              \"resize\",\n                              \"rebuild\",\n                              \"rename\",\n                              \"change_kernel\",\n                              \"enable_ipv6\",\n                              \"snapshot\"\n                            ],\n                            \"example\": \"reboot\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"kernel\": {\n                            \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                            \"example\": 12389723,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"description\": \"Specifies the action that will be taken on the Droplet.\",\n                        \"properties\": {\n                          \"type\": {\n                            \"description\": \"The type of action to initiate for the Droplet.\",\n                            \"enum\": [\n                              \"enable_backups\",\n                              \"disable_backups\",\n                              \"reboot\",\n                              \"power_cycle\",\n                              \"shutdown\",\n                              \"power_off\",\n                              \"power_on\",\n                              \"restore\",\n                              \"password_reset\",\n                              \"resize\",\n                              \"rebuild\",\n                              \"rename\",\n                              \"change_kernel\",\n                              \"enable_ipv6\",\n                              \"snapshot\"\n                            ],\n                            \"example\": \"reboot\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"name\": {\n                            \"description\": \"The name to give the new snapshot of the Droplet.\",\n                            \"example\": \"Nifty New Snapshot\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ]\n                  }\n                ],\n                \"discriminator\": {\n                  \"mapping\": {\n                    \"change_kernel\": \"models/droplet_actions.yml#/droplet_action_change_kernel\",\n                    \"disable_backups\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"enable_backups\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"enable_ipv6\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"password_reset\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"power_cycle\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"power_off\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"power_on\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"reboot\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"rebuild\": \"models/droplet_actions.yml#/droplet_action_rebuild\",\n                    \"rename\": \"models/droplet_actions.yml#/droplet_action_rename\",\n                    \"resize\": \"models/droplet_actions.yml#/droplet_action_resize\",\n                    \"restore\": \"models/droplet_actions.yml#/droplet_action_restore\",\n                    \"shutdown\": \"models/droplet_actions.yml#/droplet_action\",\n                    \"snapshot\": \"models/droplet_actions.yml#/droplet_action_snapshot\"\n                  },\n                  \"propertyName\": \"type\"\n                }\n              }\n            }\n          },\n          \"description\": \"The `type` attribute set in the request body will specify the  action that\\nwill be taken on the Droplet. Some actions will require additional\\nattributes to be set as well.\\n\"\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"action\": {\n                      \"properties\": {\n                        \"completed_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                          \"example\": \"2020-11-14T16:30:06Z\",\n                          \"format\": \"date-time\",\n                          \"nullable\": true,\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                          \"example\": 36804636,\n                          \"type\": \"integer\"\n                        },\n                        \"region\": {\n                          \"properties\": {\n                            \"available\": {\n                              \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"features\": {\n                              \"description\": \"This attribute is set to an array which contains features available in this region\",\n                              \"example\": [\n                                \"private_networking\",\n                                \"backups\",\n                                \"ipv6\",\n                                \"metadata\",\n                                \"install_agent\",\n                                \"storage\",\n                                \"image_transfer\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"name\": {\n                              \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                              \"example\": \"New York 3\",\n                              \"type\": \"string\"\n                            },\n                            \"sizes\": {\n                              \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                              \"example\": [\n                                \"s-1vcpu-1gb\",\n                                \"s-1vcpu-2gb\",\n                                \"s-1vcpu-3gb\",\n                                \"s-2vcpu-2gb\",\n                                \"s-3vcpu-1gb\",\n                                \"s-2vcpu-4gb\",\n                                \"s-4vcpu-8gb\",\n                                \"s-6vcpu-16gb\",\n                                \"s-8vcpu-32gb\",\n                                \"s-12vcpu-48gb\",\n                                \"s-16vcpu-64gb\",\n                                \"s-20vcpu-96gb\",\n                                \"s-24vcpu-128gb\",\n                                \"s-32vcpu-192g\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"slug\": {\n                              \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                              \"example\": \"nyc3\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"available\",\n                            \"features\",\n                            \"name\",\n                            \"sizes\",\n                            \"slug\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"region_slug\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                              \"example\": \"nyc3\",\n                              \"type\": \"string\"\n                            },\n                            {\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            }\n                          ]\n                        },\n                        \"resource_id\": {\n                          \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                          \"example\": 3164444,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"resource_type\": {\n                          \"description\": \"The type of resource that the action is associated with.\",\n                          \"example\": \"droplet\",\n                          \"type\": \"string\"\n                        },\n                        \"started_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                          \"example\": \"2020-11-14T16:29:21Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"default\": \"in-progress\",\n                          \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                          \"enum\": [\n                            \"in-progress\",\n                            \"completed\",\n                            \"errored\"\n                          ],\n                          \"example\": \"completed\",\n                          \"type\": \"string\"\n                        },\n                        \"type\": {\n                          \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                          \"example\": \"create\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `action`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Initiate a Droplet Action\",\n        \"tags\": [\n          \"Droplet Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"# Enable Backups\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"enable_backups\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Disable Backups\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"disable_backups\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Reboot a Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"reboot\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Power cycle a Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"power_cycle\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Shutdown and Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"shutdown\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3067649/actions\\\"\\n\\n# Power off a Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"power_off\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Power on a Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"power_on\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Restore a Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"restore\\\", \\\"image\\\": 12389723 }' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3067649/actions\\\"\\n\\n# Password Reset a Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"password_reset\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Resize a Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"resize\\\",\\\"size\\\":\\\"1gb\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Rebuild a Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"rebuild\\\",\\\"image\\\":\\\"ubuntu-16-04-x64\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Rename a Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"rename\\\",\\\"name\\\":\\\"nifty-new-name\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Change the Kernel\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"change_kernel\\\",\\\"kernel\\\":991}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Enable IPv6\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"enable_ipv6\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Enable Private Networking\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"enable_private_networking\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Snapshot a Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"snapshot\\\",\\\"name\\\":\\\"Nifty New Snapshot\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164450/actions\\\"\\n\\n# Acting on Tagged Droplets\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"enable_backups\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/actions?tag_name=awesome\\\"\\n\\n# Retrieve a Droplet Action\\ncurl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164444/actions/36804807\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n// Enable Backups\\n    action, _, err := client.DropletActions.EnableBackups(ctx, 3164450)\\n\\n// Disable Backups\\n//  action, _, err := client.DropletActions.DisableBackups(ctx, 3164450)\\n\\n// Reboot a Droplet\\n//  action, _, err := client.DropletActions.Reboot(ctx, 3164450)\\n\\n// Power Cycle a Droplet\\n//  action, _, err := client.DropletActions.PowerCycle(ctx, 3164450)\\n\\n// Shutdown a Droplet\\n//  action, _, err := client.DropletActions.Shutdown(ctx, 3067649)\\n\\n// Power Off a Droplet\\n//  action, _, err := client.DropletActions.PowerOff(ctx, 3164450)\\n\\n// Power On a Droplet\\n//  action, _, err := client.DropletActions.PowerOn(ctx, 3164450)\\n\\n// Restore a Droplet\\n//  action, _, err := client.DropletActions.Restore(ctx, 3164449, 12389723)\\n\\n// Password Reset a Droplet\\n//  action, _, err := client.DropletActions.PasswordReset(ctx, 3164450)\\n\\n// Resize a Droplet\\n//  action, _, err := client.DropletActions.Resize(ctx, 3164450, \\\"1gb\\\", true)\\n\\n// Rebuild a Droplet\\n//  action, _, err := client.DropletActions.RebuildByImageSlug(ctx, 3164450, \\\"ubuntu-16-04-x64\\\")\\n\\n// Rename a Droplet\\n//  action, _, err := client.DropletActions.Rename(ctx, 3164450, \\\"nifty-new-name\\\")\\n\\n// Change the Kernel\\n//  action, _, err := client.DropletActions.ChangeKernel(ctx, 3164450, 991)\\n\\n// Enable IPv6\\n//  action, _, err := client.DropletActions.EnableIPv6(ctx, 3164450)\\n\\n// Enable Private Networking\\n//  action, _, err := client.DropletActions.EnablePrivateNetworking(ctx, 3164450)\\n\\n// Snapshot a Droplet\\n//  action, _, err := client.DropletActions.Snapshot(ctx, 3164450, \\\"Nifty New Snapshot\\\")\\n\\n// Retrieve a Droplet Action\\n//  action, _, err := client.DropletActions.Get(ctx, 3164450, 36804807)\\n\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\n# Enable Backups\\nclient.droplet_actions.enable_backups(droplet_id: 3164450)\\n\\n# Disable Backups\\n# client.droplet_actions.disable_backups(droplet_id: 3164450)\\n\\n# Reboot a Droplet\\n# client.droplet_actions.reboot(droplet_id: 3164450)\\n\\n# Power Cycle a Droplet\\n# client.droplet_actions.power_cycle(droplet_id: 3164450)\\n\\n# Shutdown a Droplet\\n# client.droplet_actions.shutdown(droplet_id: 3067649)\\n\\n# Power Off a Droplet\\n# client.droplet_actions.power_off(droplet_id: 3164450)\\n\\n# Power On a Droplet\\n# client.droplet_actions.power_on(droplet_id: 3164450)\\n\\n# Restore a Droplet\\n# client.droplet_actions.restore(droplet_id: 3067649, image: 12389723)\\n\\n# Password Reset a Droplet\\n# client.droplet_actions.password_reset(droplet_id: 3164450)\\n\\n# Resize a Droplet\\n# client.droplet_actions.resize(droplet_id: 3164450, size: '1gb')\\n\\n# Rebuild a Droplet\\n# client.droplet_actions.rebuild(droplet_id: 3164450, image: 'ubuntu-16-04-x64')\\n\\n# Rename a Droplet\\n# client.droplet_actions.rename(droplet_id: 3164450, name: 'nifty-new-name')\\n\\n# Change the Kernel\\n# client.droplet_actions.change_kernel(droplet_id: 3164450, kernel: 991)\\n\\n# Enable IPv6\\n# client.droplet_actions.enable_ipv6(droplet_id: 3164450)\\n\\n# Enable Private Networking\\n# client.droplet_actions.enable_private_networking(droplet_id: 3164450)\\n\\n# Snapshot a Droplet\\n# client.droplet_actions.snapshot(droplet_id: 3164450, name: 'Nifty New Snapshot')\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}/actions/{action_id}\": {\n      \"get\": {\n        \"description\": \"To retrieve a Droplet action, send a GET request to\\n`/v2/droplets/$DROPLET_ID/actions/$ACTION_ID`.\\n\\nThe response will be a JSON object with a key called `action`. The value will\\nbe a Droplet action object.\\n\",\n        \"operationId\": \"dropletActions_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n            \"example\": 36804636,\n            \"in\": \"path\",\n            \"name\": \"action_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"action\": {\n                      \"properties\": {\n                        \"completed_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                          \"example\": \"2020-11-14T16:30:06Z\",\n                          \"format\": \"date-time\",\n                          \"nullable\": true,\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                          \"example\": 36804636,\n                          \"type\": \"integer\"\n                        },\n                        \"region\": {\n                          \"properties\": {\n                            \"available\": {\n                              \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"features\": {\n                              \"description\": \"This attribute is set to an array which contains features available in this region\",\n                              \"example\": [\n                                \"private_networking\",\n                                \"backups\",\n                                \"ipv6\",\n                                \"metadata\",\n                                \"install_agent\",\n                                \"storage\",\n                                \"image_transfer\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"name\": {\n                              \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                              \"example\": \"New York 3\",\n                              \"type\": \"string\"\n                            },\n                            \"sizes\": {\n                              \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                              \"example\": [\n                                \"s-1vcpu-1gb\",\n                                \"s-1vcpu-2gb\",\n                                \"s-1vcpu-3gb\",\n                                \"s-2vcpu-2gb\",\n                                \"s-3vcpu-1gb\",\n                                \"s-2vcpu-4gb\",\n                                \"s-4vcpu-8gb\",\n                                \"s-6vcpu-16gb\",\n                                \"s-8vcpu-32gb\",\n                                \"s-12vcpu-48gb\",\n                                \"s-16vcpu-64gb\",\n                                \"s-20vcpu-96gb\",\n                                \"s-24vcpu-128gb\",\n                                \"s-32vcpu-192g\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"slug\": {\n                              \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                              \"example\": \"nyc3\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"available\",\n                            \"features\",\n                            \"name\",\n                            \"sizes\",\n                            \"slug\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"region_slug\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                              \"example\": \"nyc3\",\n                              \"type\": \"string\"\n                            },\n                            {\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            }\n                          ]\n                        },\n                        \"resource_id\": {\n                          \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                          \"example\": 3164444,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"resource_type\": {\n                          \"description\": \"The type of resource that the action is associated with.\",\n                          \"example\": \"droplet\",\n                          \"type\": \"string\"\n                        },\n                        \"started_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                          \"example\": \"2020-11-14T16:29:21Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"default\": \"in-progress\",\n                          \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                          \"enum\": [\n                            \"in-progress\",\n                            \"completed\",\n                            \"errored\"\n                          ],\n                          \"example\": \"completed\",\n                          \"type\": \"string\"\n                        },\n                        \"type\": {\n                          \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                          \"example\": \"create\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The result will be a JSON object with an action key.  This will be set to an action object containing the standard action attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve a Droplet Action\",\n        \"tags\": [\n          \"Droplet Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164444/actions/36804807\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    action, _, err := client.DropletActions.Get(ctx, 3164450, 36804807)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.droplet_actions.find(droplet_id: 3164444, id: 36804807)\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}/backups\": {\n      \"get\": {\n        \"description\": \"To retrieve any backups associated with a Droplet, send a GET request to\\n`/v2/droplets/$DROPLET_ID/backups`.\\n\\nYou will get back a JSON object that has a `backups` key. This will be set to\\nan array of backup objects, each of which contain the standard\\nDroplet backup attributes.\\n\",\n        \"operationId\": \"droplets_list_backups\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"backups\": [\n                    {\n                      \"created_at\": \"2020-07-29T01:44:35Z\",\n                      \"distribution\": \"Ubuntu\",\n                      \"id\": 67539192,\n                      \"min_disk_size\": 50,\n                      \"name\": \"web-01- 2020-07-29\",\n                      \"public\": false,\n                      \"regions\": [\n                        \"nyc3\"\n                      ],\n                      \"size_gigabytes\": 2.34,\n                      \"slug\": null,\n                      \"type\": \"backup\"\n                    }\n                  ],\n                  \"links\": {},\n                  \"meta\": {\n                    \"total\": 1\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"backups\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"id\": {\n                                    \"description\": \"The unique identifier for the snapshot or backup.\",\n                                    \"example\": 6372321,\n                                    \"type\": \"integer\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"id\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the snapshot was created.\",\n                                    \"example\": \"2020-07-28T16:47:44Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"min_disk_size\": {\n                                    \"description\": \"The minimum size in GB required for a volume or Droplet to use this snapshot.\",\n                                    \"example\": 25,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-readable name for the snapshot.\",\n                                    \"example\": \"web-01-1595954862243\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"regions\": {\n                                    \"description\": \"An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values.\",\n                                    \"example\": [\n                                      \"nyc3\",\n                                      \"sfo3\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"size_gigabytes\": {\n                                    \"description\": \"The billable size of the snapshot in gigabytes.\",\n                                    \"example\": 2.34,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\",\n                                  \"created_at\",\n                                  \"regions\",\n                                  \"min_disk_size\",\n                                  \"size_gigabytes\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"type\": {\n                                    \"description\": \"Describes the kind of image. It may be one of `snapshot` or `backup`. This specifies whether an image is a user-generated Droplet snapshot or automatically created Droplet backup.\",\n                                    \"enum\": [\n                                      \"snapshot\",\n                                      \"backup\"\n                                    ],\n                                    \"example\": \"snapshot\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"type\"\n                                ],\n                                \"type\": \"object\"\n                              }\n                            ]\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON object with an `backups` key.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Backups for a Droplet\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3067509/backups\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    backups, _, err := client.Droplets.Backups(ctx, 3164494, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nbackups = client.droplets.backups(id: 3164494)\\nbackups.each\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}/destroy_with_associated_resources\": {\n      \"get\": {\n        \"description\": \"To list the associated billable resources that can be destroyed along with a\\nDroplet, send a GET request to the\\n`/v2/droplets/$DROPLET_ID/destroy_with_associated_resources` endpoint.\\n\\nThe response will be a JSON object containing `snapshots`, `volumes`, and\\n`volume_snapshots` keys. Each will be set to an array of objects containing\\ninformation about the associated resources.\\n\",\n        \"operationId\": \"droplets_list_associatedResources\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"floating_ips\": [\n                    {\n                      \"cost\": \"4.00\",\n                      \"id\": \"6186916\",\n                      \"name\": \"45.55.96.47\"\n                    }\n                  ],\n                  \"reserved_ips\": [\n                    {\n                      \"cost\": \"4.00\",\n                      \"id\": \"6186916\",\n                      \"name\": \"45.55.96.47\"\n                    }\n                  ],\n                  \"snapshots\": [\n                    {\n                      \"cost\": \"0.05\",\n                      \"id\": \"61486916\",\n                      \"name\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\"\n                    }\n                  ],\n                  \"volume_snapshots\": [\n                    {\n                      \"cost\": \"0.04\",\n                      \"id\": \"edb0478d-7436-11ea-86e6-0a58ac144b91\",\n                      \"name\": \"volume-nyc1-01-1585758983629\"\n                    }\n                  ],\n                  \"volumes\": [\n                    {\n                      \"cost\": \"10.00\",\n                      \"id\": \"ba49449a-7435-11ea-b89e-0a58ac14480f\",\n                      \"name\": \"volume-nyc1-01\"\n                    }\n                  ]\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"floating_ips\": {\n                          \"items\": {\n                            \"description\": \"An objects containing information about a resource associated with a Droplet.\",\n                            \"properties\": {\n                              \"cost\": {\n                                \"description\": \"The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed.\",\n                                \"example\": \"0.05\",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"The unique identifier for the resource associated with the Droplet.\",\n                                \"example\": \"61486916\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the resource associated with the Droplet.\",\n                                \"example\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"reserved_ips\": {\n                          \"items\": {\n                            \"description\": \"An objects containing information about a resource associated with a Droplet.\",\n                            \"properties\": {\n                              \"cost\": {\n                                \"description\": \"The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed.\",\n                                \"example\": \"0.05\",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"The unique identifier for the resource associated with the Droplet.\",\n                                \"example\": \"61486916\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the resource associated with the Droplet.\",\n                                \"example\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"snapshots\": {\n                          \"items\": {\n                            \"description\": \"An objects containing information about a resource associated with a Droplet.\",\n                            \"properties\": {\n                              \"cost\": {\n                                \"description\": \"The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed.\",\n                                \"example\": \"0.05\",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"The unique identifier for the resource associated with the Droplet.\",\n                                \"example\": \"61486916\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the resource associated with the Droplet.\",\n                                \"example\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"volume_snapshots\": {\n                          \"items\": {\n                            \"description\": \"An objects containing information about a resource associated with a Droplet.\",\n                            \"properties\": {\n                              \"cost\": {\n                                \"description\": \"The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed.\",\n                                \"example\": \"0.05\",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"The unique identifier for the resource associated with the Droplet.\",\n                                \"example\": \"61486916\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the resource associated with the Droplet.\",\n                                \"example\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"volumes\": {\n                          \"items\": {\n                            \"description\": \"An objects containing information about a resource associated with a Droplet.\",\n                            \"properties\": {\n                              \"cost\": {\n                                \"description\": \"The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed.\",\n                                \"example\": \"0.05\",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"The unique identifier for the resource associated with the Droplet.\",\n                                \"example\": \"61486916\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the resource associated with the Droplet.\",\n                                \"example\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON object containing `snapshots`, `volumes`, and `volume_snapshots` keys.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Associated Resources for a Droplet\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164494/destroy_with_associated_resources\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous\": {\n      \"delete\": {\n        \"description\": \"To destroy a Droplet along with all of its associated resources, send a DELETE\\nrequest to the `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/dangerous`\\nendpoint. The headers of this request must include an `X-Dangerous` key set to\\n`true`. To preview which resources will be destroyed, first query the\\nDroplet's associated resources. This operation _can not_ be reverse and should\\nbe used with caution.\\n\\nA successful response will include a 202 response code and no content. Use the\\nstatus endpoint to check on the success or failure of the destruction of the\\nindividual resources.\\n\",\n        \"operationId\": \"droplets_destroy_withAssociatedResourcesDangerous\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Acknowledge this action will destroy the Droplet and all associated resources and _can not_ be reversed.\",\n            \"example\": true,\n            \"in\": \"header\",\n            \"name\": \"X-Dangerous\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"202\": {\n            \"description\": \"The does not indicate the success or failure of any operation, just that the request has been accepted for processing.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Destroy a Droplet and All of its Associated Resources (Dangerous)\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE -H \\\"X-Dangerous: true\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/187000742/destroy_with_associated_resources/dangerous\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry\": {\n      \"post\": {\n        \"description\": \"If the status of a request to destroy a Droplet with its associated resources\\nreported any errors, it can be retried by sending a POST request to the\\n`/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/retry` endpoint.\\n\\nOnly one destroy can be active at a time per Droplet. If a retry is issued\\nwhile another destroy is in progress for the Droplet a 409 status code will\\nbe returned. A successful response will include a 202 response code and no\\ncontent.\\n\",\n        \"operationId\": \"droplets_destroy_retryWithAssociatedResources\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"202\": {\n            \"description\": \"The does not indicate the success or failure of any operation, just that the request has been accepted for processing.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"409\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"conflict\",\n                  \"message\": \"The request could not be completed due to a conflict.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Conflict\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retry a Droplet Destroy with Associated Resources Request\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164494/destroy_with_associated_resources/retry\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective\": {\n      \"delete\": {\n        \"description\": \"To destroy a Droplet along with a sub-set of its associated resources, send a\\nDELETE request to the `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/selective`\\nendpoint. The JSON body of the request should include `reserved_ips`, `snapshots`, `volumes`,\\nor `volume_snapshots` keys each set to an array of IDs for the associated\\nresources to be destroyed. The IDs can be found by querying the Droplet's\\nassociated resources. Any associated resource not included in the request\\nwill remain and continue to accrue changes on your account.\\n\\nA successful response will include a 202 response code and no content. Use\\nthe status endpoint to check on the success or failure of the destruction of\\nthe individual resources.\\n\",\n        \"operationId\": \"droplets_destroy_withAssociatedResourcesSelective\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"An object containing information about a resource to be scheduled for deletion.\",\n                \"properties\": {\n                  \"floating_ips\": {\n                    \"deprecated\": true,\n                    \"description\": \"An array of unique identifiers for the floating IPs to be scheduled for deletion.\",\n                    \"example\": [\n                      \"6186916\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"reserved_ips\": {\n                    \"description\": \"An array of unique identifiers for the reserved IPs to be scheduled for deletion.\",\n                    \"example\": [\n                      \"6186916\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"snapshots\": {\n                    \"description\": \"An array of unique identifiers for the snapshots to be scheduled for deletion.\",\n                    \"example\": [\n                      \"61486916\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"volume_snapshots\": {\n                    \"description\": \"An array of unique identifiers for the volume snapshots to be scheduled for deletion.\",\n                    \"example\": [\n                      \"edb0478d-7436-11ea-86e6-0a58ac144b91\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"volumes\": {\n                    \"description\": \"An array of unique identifiers for the volumes to be scheduled for deletion.\",\n                    \"example\": [\n                      \"ba49449a-7435-11ea-b89e-0a58ac14480f\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"202\": {\n            \"description\": \"The does not indicate the success or failure of any operation, just that the request has been accepted for processing.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Selectively Destroy a Droplet and its Associated Resources\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"reserved_ips\\\":[\\\"6186916\\\"],\\\"snapshots\\\": [\\\"61486916\\\"],\\\"volumes\\\": [\\\"ba49449a-7435-11ea-b89e-0a58ac14480f\\\"],\\\"volume_snapshots\\\": [\\\"edb0478d-7436-11ea-86e6-0a58ac144b91\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/187000742/destroy_with_associated_resources/selective\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}/destroy_with_associated_resources/status\": {\n      \"get\": {\n        \"description\": \"To check on the status of a request to destroy a Droplet with its associated\\nresources, send a GET request to the\\n`/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/status` endpoint.\\n\",\n        \"operationId\": \"droplets_get_DestroyAssociatedResourcesStatus\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"completed_at\": \"2020-04-01T18:11:49Z\",\n                  \"droplet\": {\n                    \"destroyed_at\": \"2020-04-01T18:11:49Z\",\n                    \"id\": \"187000742\",\n                    \"name\": \"ubuntu-s-1vcpu-1gb-nyc1-01\"\n                  },\n                  \"failures\": 0,\n                  \"resources\": {\n                    \"floating_ips\": [\n                      {\n                        \"destroyed_at\": \"2020-04-01T18:11:44Z\",\n                        \"id\": \"6186916\",\n                        \"name\": \"45.55.96.47\"\n                      }\n                    ],\n                    \"reserved_ips\": [\n                      {\n                        \"destroyed_at\": \"2020-04-01T18:11:44Z\",\n                        \"id\": \"6186916\",\n                        \"name\": \"45.55.96.47\"\n                      }\n                    ],\n                    \"snapshots\": [\n                      {\n                        \"destroyed_at\": \"2020-04-01T18:11:44Z\",\n                        \"id\": \"61486916\",\n                        \"name\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\"\n                      }\n                    ],\n                    \"volume_snapshots\": [\n                      {\n                        \"destroyed_at\": \"2020-04-01T18:11:44Z\",\n                        \"id\": \"edb0478d-7436-11ea-86e6-0a58ac144b91\",\n                        \"name\": \"volume-nyc1-01-1585758983629\"\n                      }\n                    ],\n                    \"volumes\": []\n                  }\n                },\n                \"schema\": {\n                  \"description\": \"An objects containing information about a resources scheduled for deletion.\",\n                  \"properties\": {\n                    \"completed_at\": {\n                      \"description\": \"A time value given in ISO8601 combined date and time format indicating when the requested action was completed.\",\n                      \"example\": \"2020-04-01T18:11:49Z\",\n                      \"format\": \"date-time\",\n                      \"type\": \"string\"\n                    },\n                    \"droplet\": {\n                      \"description\": \"An object containing information about a resource scheduled for deletion.\",\n                      \"properties\": {\n                        \"destroyed_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful.\",\n                          \"example\": \"2020-04-01T18:11:49Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"error_message\": {\n                          \"description\": \"A string indicating that the resource was not successfully destroyed and providing additional information.\",\n                          \"example\": \" \",\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"The unique identifier for the resource scheduled for deletion.\",\n                          \"example\": \"61486916\",\n                          \"type\": \"string\"\n                        },\n                        \"name\": {\n                          \"description\": \"The name of the resource scheduled for deletion.\",\n                          \"example\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    \"failures\": {\n                      \"description\": \"A count of the associated resources that failed to be destroyed, if any.\",\n                      \"example\": 0,\n                      \"type\": \"integer\"\n                    },\n                    \"resources\": {\n                      \"description\": \"An object containing additional information about resource related to a Droplet requested to be destroyed.\",\n                      \"properties\": {\n                        \"floating_ips\": {\n                          \"items\": {\n                            \"description\": \"An object containing information about a resource scheduled for deletion.\",\n                            \"properties\": {\n                              \"destroyed_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful.\",\n                                \"example\": \"2020-04-01T18:11:49Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"error_message\": {\n                                \"description\": \"A string indicating that the resource was not successfully destroyed and providing additional information.\",\n                                \"example\": \" \",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"The unique identifier for the resource scheduled for deletion.\",\n                                \"example\": \"61486916\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the resource scheduled for deletion.\",\n                                \"example\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"reserved_ips\": {\n                          \"items\": {\n                            \"description\": \"An object containing information about a resource scheduled for deletion.\",\n                            \"properties\": {\n                              \"destroyed_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful.\",\n                                \"example\": \"2020-04-01T18:11:49Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"error_message\": {\n                                \"description\": \"A string indicating that the resource was not successfully destroyed and providing additional information.\",\n                                \"example\": \" \",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"The unique identifier for the resource scheduled for deletion.\",\n                                \"example\": \"61486916\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the resource scheduled for deletion.\",\n                                \"example\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"snapshots\": {\n                          \"items\": {\n                            \"description\": \"An object containing information about a resource scheduled for deletion.\",\n                            \"properties\": {\n                              \"destroyed_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful.\",\n                                \"example\": \"2020-04-01T18:11:49Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"error_message\": {\n                                \"description\": \"A string indicating that the resource was not successfully destroyed and providing additional information.\",\n                                \"example\": \" \",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"The unique identifier for the resource scheduled for deletion.\",\n                                \"example\": \"61486916\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the resource scheduled for deletion.\",\n                                \"example\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"volume_snapshots\": {\n                          \"items\": {\n                            \"description\": \"An object containing information about a resource scheduled for deletion.\",\n                            \"properties\": {\n                              \"destroyed_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful.\",\n                                \"example\": \"2020-04-01T18:11:49Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"error_message\": {\n                                \"description\": \"A string indicating that the resource was not successfully destroyed and providing additional information.\",\n                                \"example\": \" \",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"The unique identifier for the resource scheduled for deletion.\",\n                                \"example\": \"61486916\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the resource scheduled for deletion.\",\n                                \"example\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"volumes\": {\n                          \"items\": {\n                            \"description\": \"An object containing information about a resource scheduled for deletion.\",\n                            \"properties\": {\n                              \"destroyed_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful.\",\n                                \"example\": \"2020-04-01T18:11:49Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"error_message\": {\n                                \"description\": \"A string indicating that the resource was not successfully destroyed and providing additional information.\",\n                                \"example\": \" \",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"The unique identifier for the resource scheduled for deletion.\",\n                                \"example\": \"61486916\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the resource scheduled for deletion.\",\n                                \"example\": \"ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object containing containing the status of a request to destroy a Droplet and its associated resources.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Check Status of a Droplet Destroy with Associated Resources Request\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164494/destroy_with_associated_resources/status\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}/firewalls\": {\n      \"get\": {\n        \"description\": \"To retrieve a list of all firewalls available to a Droplet, send a GET request\\nto `/v2/droplets/$DROPLET_ID/firewalls`\\n\\nThe response will be a JSON object that has a key called `firewalls`. This will\\nbe set to an array of `firewall` objects, each of which contain the standard\\n`firewall` attributes.\\n\",\n        \"operationId\": \"droplets_list_firewalls\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"firewalls\": [\n                    {\n                      \"created_at\": \"2020-05-23T21:24:00Z\",\n                      \"droplet_ids\": [\n                        89989,\n                        33322\n                      ],\n                      \"id\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n                      \"inbound_rules\": [\n                        {\n                          \"ports\": \"8000-9000\",\n                          \"protocol\": \"udp\",\n                          \"sources\": {\n                            \"addresses\": [\n                              \"1.2.3.4\",\n                              \"18.0.0.0/8\"\n                            ],\n                            \"droplet_ids\": [\n                              8282823,\n                              3930392\n                            ],\n                            \"load_balancer_uids\": [\n                              \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                            ],\n                            \"tags\": [\n                              \"base-image\",\n                              \"dev\"\n                            ]\n                          }\n                        }\n                      ],\n                      \"name\": \"firewall\",\n                      \"outbound_rules\": [\n                        {\n                          \"destinations\": {\n                            \"addresses\": [\n                              \"1.2.3.4\",\n                              \"18.0.0.0/8\"\n                            ],\n                            \"droplet_ids\": [\n                              3827493,\n                              213213\n                            ],\n                            \"load_balancer_uids\": [\n                              \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                            ],\n                            \"tags\": [\n                              \"base-image\",\n                              \"prod\"\n                            ]\n                          },\n                          \"ports\": \"7000-9000\",\n                          \"protocol\": \"tcp\"\n                        }\n                      ],\n                      \"pending_changes\": [\n                        {\n                          \"droplet_id\": 8043964,\n                          \"removing\": true,\n                          \"status\": \"waiting\"\n                        }\n                      ],\n                      \"status\": \"succeeded\",\n                      \"tags\": [\n                        \"base-image\",\n                        \"prod\"\n                      ]\n                    }\n                  ],\n                  \"links\": {\n                    \"pages\": {}\n                  },\n                  \"meta\": {\n                    \"total\": 1\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"firewalls\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall was created.\",\n                                    \"example\": \"2020-05-23T21:24:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"droplet_ids\": {\n                                    \"description\": \"An array containing the IDs of the Droplets assigned to the firewall.\",\n                                    \"example\": [\n                                      8043964\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"integer\"\n                                    },\n                                    \"nullable\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n                                    \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-).\",\n                                    \"example\": \"firewall\",\n                                    \"pattern\": \"^[a-zA-Z0-9][a-zA-Z0-9\\\\.-]+$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"pending_changes\": {\n                                    \"description\": \"An array of objects each containing the fields \\\"droplet_id\\\", \\\"removing\\\", and \\\"status\\\". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.\",\n                                    \"example\": [\n                                      {\n                                        \"droplet_id\": 8043964,\n                                        \"removing\": false,\n                                        \"status\": \"waiting\"\n                                      }\n                                    ],\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"droplet_id\": {\n                                          \"example\": 8043964,\n                                          \"type\": \"integer\"\n                                        },\n                                        \"removing\": {\n                                          \"example\": false,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"status\": {\n                                          \"example\": \"waiting\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"readOnly\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"status\": {\n                                    \"description\": \"A status string indicating the current state of the firewall. This can be \\\"waiting\\\", \\\"succeeded\\\", or \\\"failed\\\".\",\n                                    \"enum\": [\n                                      \"waiting\",\n                                      \"succeeded\",\n                                      \"failed\"\n                                    ],\n                                    \"example\": \"waiting\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"tags\": {\n                                    \"allOf\": [\n                                      {\n                                        \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                        \"example\": [\n                                          \"base-image\",\n                                          \"prod\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"nullable\": true,\n                                        \"type\": \"array\"\n                                      },\n                                      {\n                                        \"description\": \"An array containing the names of the Tags assigned to the firewall.\",\n                                        \"example\": \"gateway\"\n                                      }\n                                    ]\n                                  }\n                                }\n                              },\n                              {\n                                \"properties\": {\n                                  \"inbound_rules\": {\n                                    \"items\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"ports\": {\n                                              \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                              \"example\": \"8000\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"protocol\": {\n                                              \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                              \"enum\": [\n                                                \"tcp\",\n                                                \"udp\",\n                                                \"icmp\"\n                                              ],\n                                              \"example\": \"tcp\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"protocol\",\n                                            \"ports\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"sources\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"properties\": {\n                                                    \"addresses\": {\n                                                      \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        \"1.2.3.4\",\n                                                        \"18.0.0.0/8\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"droplet_ids\": {\n                                                      \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        8043964\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"integer\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"kubernetes_ids\": {\n                                                      \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"load_balancer_uids\": {\n                                                      \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"tags\": {\n                                                      \"allOf\": [\n                                                        {\n                                                          \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                          \"example\": [\n                                                            \"base-image\",\n                                                            \"prod\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"nullable\": true,\n                                                          \"type\": \"array\"\n                                                        },\n                                                        {\n                                                          \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                          \"example\": [\n                                                            \"frontend\"\n                                                          ]\n                                                        }\n                                                      ]\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"description\": \"An object specifying locations from which inbound traffic will be accepted.\"\n                                                }\n                                              ]\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"sources\"\n                                          ]\n                                        }\n                                      ]\n                                    },\n                                    \"nullable\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"outbound_rules\": {\n                                    \"items\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"ports\": {\n                                              \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                              \"example\": \"8000\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"protocol\": {\n                                              \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                              \"enum\": [\n                                                \"tcp\",\n                                                \"udp\",\n                                                \"icmp\"\n                                              ],\n                                              \"example\": \"tcp\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"protocol\",\n                                            \"ports\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"destinations\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"properties\": {\n                                                    \"addresses\": {\n                                                      \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        \"1.2.3.4\",\n                                                        \"18.0.0.0/8\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"droplet_ids\": {\n                                                      \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        8043964\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"integer\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"kubernetes_ids\": {\n                                                      \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"load_balancer_uids\": {\n                                                      \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"tags\": {\n                                                      \"allOf\": [\n                                                        {\n                                                          \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                          \"example\": [\n                                                            \"base-image\",\n                                                            \"prod\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"nullable\": true,\n                                                          \"type\": \"array\"\n                                                        },\n                                                        {\n                                                          \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                          \"example\": [\n                                                            \"frontend\"\n                                                          ]\n                                                        }\n                                                      ]\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"description\": \"An object specifying locations to which outbound traffic that will be allowed.\"\n                                                }\n                                              ]\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"destinations\"\n                                          ]\n                                        }\n                                      ]\n                                    },\n                                    \"nullable\": true,\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON object that has a key called `firewalls`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List all Firewalls Applied to a Droplet\",\n        \"tags\": [\n          \"Droplets\"\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}/kernels\": {\n      \"get\": {\n        \"description\": \"To retrieve a list of all kernels available to a Droplet, send a GET request\\nto `/v2/droplets/$DROPLET_ID/kernels`\\n\\nThe response will be a JSON object that has a key called `kernels`. This will\\nbe set to an array of `kernel` objects, each of which contain the standard\\n`kernel` attributes.\\n\",\n        \"operationId\": \"droplets_list_kernels\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"kernels\": [\n                    {\n                      \"id\": 7515,\n                      \"name\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                      \"version\": \"2016.07.13-DigitalOcean_loader_Ubuntu\"\n                    }\n                  ],\n                  \"links\": {\n                    \"pages\": {\n                      \"last\": \"https://api.digitalocean.com/v2/droplets/3164444/kernels?page=171&per_page=1\",\n                      \"next\": \"https://api.digitalocean.com/v2/droplets/3164444/kernels?page=2&per_page=1\"\n                    }\n                  },\n                  \"meta\": {\n                    \"total\": 171\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"kernels\": {\n                          \"items\": {\n                            \"deprecated\": true,\n                            \"description\": \"**Note**: All Droplets created after March 2017 use internal kernels by default.\\nThese Droplets will have this attribute set to `null`.\\n\\nThe current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/)\\nfor Droplets with externally managed kernels. This will initially be set to\\nthe kernel of the base image when the Droplet is created.\\n\",\n                            \"nullable\": true,\n                            \"properties\": {\n                              \"id\": {\n                                \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                                \"example\": 7515,\n                                \"type\": \"integer\"\n                              },\n                              \"name\": {\n                                \"description\": \"The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question.\",\n                                \"example\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                                \"type\": \"string\"\n                              },\n                              \"version\": {\n                                \"description\": \"A standard kernel version string representing the version, patch, and release information.\",\n                                \"example\": \"2016.07.13-DigitalOcean_loader_Ubuntu\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON object that has a key called `kernels`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Available Kernels for a Droplet\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164494/kernels?page=1&per_page=1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    kernels, _, err := client.Droplets.Kernels(ctx, 3164494, opt) \\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nkernels = client.droplets.kernels(id: 3164494)\\nkernels.each\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}/neighbors\": {\n      \"get\": {\n        \"description\": \"To retrieve a list of any \\\"neighbors\\\" (i.e. Droplets that are co-located on\\nthe same physical hardware) for a specific Droplet, send a GET request to\\n`/v2/droplets/$DROPLET_ID/neighbors`.\\n\\nThe results will be returned as a JSON object with a key of `droplets`. This\\nwill be set to an array containing objects representing any other Droplets\\nthat share the same physical hardware. An empty array indicates that the\\nDroplet is not co-located any other Droplets associated with your account.\\n\",\n        \"operationId\": \"droplets_list_neighbors\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"droplets\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"backup_ids\": {\n                                \"description\": \"An array of backup IDs of any backups that have been taken of the Droplet instance.  Droplet backups are enabled at the time of the instance creation.\",\n                                \"example\": [\n                                  53893572\n                                ],\n                                \"items\": {\n                                  \"type\": \"integer\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"created_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Droplet was created.\",\n                                \"example\": \"2020-07-21T18:37:44Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"disk\": {\n                                \"description\": \"The size of the Droplet's disk in gigabytes.\",\n                                \"example\": 25,\n                                \"type\": \"integer\"\n                              },\n                              \"features\": {\n                                \"description\": \"An array of features enabled on this Droplet.\",\n                                \"example\": [\n                                  \"backups\",\n                                  \"private_networking\",\n                                  \"ipv6\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.\",\n                                \"example\": 3164444,\n                                \"type\": \"integer\"\n                              },\n                              \"image\": {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                                    \"example\": \"2020-05-04T22:23:02Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"description\": {\n                                    \"description\": \"An optional free-form text field to describe an image.\",\n                                    \"example\": \" \",\n                                    \"type\": \"string\"\n                                  },\n                                  \"distribution\": {\n                                    \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                                    \"enum\": [\n                                      \"Arch Linux\",\n                                      \"CentOS\",\n                                      \"CoreOS\",\n                                      \"Debian\",\n                                      \"Fedora\",\n                                      \"Fedora Atomic\",\n                                      \"FreeBSD\",\n                                      \"Gentoo\",\n                                      \"openSUSE\",\n                                      \"RancherOS\",\n                                      \"Rocky Linux\",\n                                      \"Ubuntu\",\n                                      \"Unknown\"\n                                    ],\n                                    \"example\": \"Ubuntu\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"error_message\": {\n                                    \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                                    \"example\": \" \",\n                                    \"type\": \"string\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                                    \"example\": 7555620,\n                                    \"readOnly\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"min_disk_size\": {\n                                    \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                                    \"example\": 20,\n                                    \"minimum\": 0,\n                                    \"nullable\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                                    \"example\": \"Nifty New Snapshot\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"public\": {\n                                    \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"regions\": {\n                                    \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                                    \"example\": [\n                                      \"nyc1\",\n                                      \"nyc2\"\n                                    ],\n                                    \"items\": {\n                                      \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                                      \"enum\": [\n                                        \"ams1\",\n                                        \"ams2\",\n                                        \"ams3\",\n                                        \"blr1\",\n                                        \"fra1\",\n                                        \"lon1\",\n                                        \"nyc1\",\n                                        \"nyc2\",\n                                        \"nyc3\",\n                                        \"sfo1\",\n                                        \"sfo2\",\n                                        \"sfo3\",\n                                        \"sgp1\",\n                                        \"tor1\"\n                                      ],\n                                      \"example\": \"nyc3\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"size_gigabytes\": {\n                                    \"description\": \"The size of the image in gigabytes.\",\n                                    \"example\": 2.34,\n                                    \"format\": \"float\",\n                                    \"nullable\": true,\n                                    \"type\": \"number\"\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                                    \"example\": \"nifty1\",\n                                    \"nullable\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                                    \"enum\": [\n                                      \"NEW\",\n                                      \"available\",\n                                      \"pending\",\n                                      \"deleted\",\n                                      \"retired\"\n                                    ],\n                                    \"example\": \"NEW\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"tags\": {\n                                    \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                    \"example\": [\n                                      \"base-image\",\n                                      \"prod\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"nullable\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"type\": {\n                                    \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                                    \"enum\": [\n                                      \"base\",\n                                      \"snapshot\",\n                                      \"backup\",\n                                      \"custom\",\n                                      \"admin\"\n                                    ],\n                                    \"example\": \"snapshot\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"kernel\": {\n                                \"deprecated\": true,\n                                \"description\": \"**Note**: All Droplets created after March 2017 use internal kernels by default.\\nThese Droplets will have this attribute set to `null`.\\n\\nThe current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/)\\nfor Droplets with externally managed kernels. This will initially be set to\\nthe kernel of the base image when the Droplet is created.\\n\",\n                                \"nullable\": true,\n                                \"properties\": {\n                                  \"id\": {\n                                    \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                                    \"example\": 7515,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question.\",\n                                    \"example\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"version\": {\n                                    \"description\": \"A standard kernel version string representing the version, patch, and release information.\",\n                                    \"example\": \"2016.07.13-DigitalOcean_loader_Ubuntu\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"locked\": {\n                                \"description\": \"A boolean value indicating whether the Droplet has been locked, preventing actions by users.\",\n                                \"example\": false,\n                                \"type\": \"boolean\"\n                              },\n                              \"memory\": {\n                                \"description\": \"Memory of the Droplet in megabytes.\",\n                                \"example\": 1024,\n                                \"multipleOf\": 8,\n                                \"type\": \"integer\"\n                              },\n                              \"name\": {\n                                \"description\": \"The human-readable name set for the Droplet instance.\",\n                                \"example\": \"example.com\",\n                                \"type\": \"string\"\n                              },\n                              \"networks\": {\n                                \"description\": \"The details of the network that are configured for the Droplet instance.  This is an object that contains keys for IPv4 and IPv6.  The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet.  These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.\",\n                                \"properties\": {\n                                  \"v4\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"gateway\": {\n                                          \"description\": \"The gateway of the specified IPv4 network interface.\\n\\nFor private interfaces, a gateway is not provided. This is denoted by\\nreturning `nil` as its value.\\n\",\n                                          \"example\": \"104.236.0.1\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"ip_address\": {\n                                          \"description\": \"The IP address of the IPv4 network interface.\",\n                                          \"example\": \"104.236.32.182\",\n                                          \"format\": \"ipv4\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"netmask\": {\n                                          \"description\": \"The netmask of the IPv4 network interface.\",\n                                          \"example\": \"255.255.192.0\",\n                                          \"format\": \"ipv4\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": {\n                                          \"description\": \"The type of the IPv4 network interface.\",\n                                          \"enum\": [\n                                            \"public\",\n                                            \"private\"\n                                          ],\n                                          \"example\": \"public\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"v6\": {\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"gateway\": {\n                                          \"description\": \"The gateway of the specified IPv6 network interface.\",\n                                          \"example\": \"2604:a880:0:1010::1\",\n                                          \"format\": \"ipv6\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"ip_address\": {\n                                          \"description\": \"The IP address of the IPv6 network interface.\",\n                                          \"example\": \"2604:a880:0:1010::18a:a001\",\n                                          \"format\": \"ipv6\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"netmask\": {\n                                          \"description\": \"The netmask of the IPv6 network interface.\",\n                                          \"example\": 64,\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": {\n                                          \"description\": \"The type of the IPv6 network interface.\\n\\n**Note**: IPv6 private  networking is not currently supported.\\n\",\n                                          \"enum\": [\n                                            \"public\"\n                                          ],\n                                          \"example\": \"public\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"next_backup_window\": {\n                                \"description\": \"The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.\",\n                                \"nullable\": true,\n                                \"properties\": {\n                                  \"end\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window.\",\n                                    \"example\": \"2019-12-04T23:00:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"start\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window.\",\n                                    \"example\": \"2019-12-04T00:00:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"region\": {\n                                \"properties\": {\n                                  \"available\": {\n                                    \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"features\": {\n                                    \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                    \"example\": [\n                                      \"private_networking\",\n                                      \"backups\",\n                                      \"ipv6\",\n                                      \"metadata\",\n                                      \"install_agent\",\n                                      \"storage\",\n                                      \"image_transfer\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                    \"example\": \"New York 3\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"sizes\": {\n                                    \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                    \"example\": [\n                                      \"s-1vcpu-1gb\",\n                                      \"s-1vcpu-2gb\",\n                                      \"s-1vcpu-3gb\",\n                                      \"s-2vcpu-2gb\",\n                                      \"s-3vcpu-1gb\",\n                                      \"s-2vcpu-4gb\",\n                                      \"s-4vcpu-8gb\",\n                                      \"s-6vcpu-16gb\",\n                                      \"s-8vcpu-32gb\",\n                                      \"s-12vcpu-48gb\",\n                                      \"s-16vcpu-64gb\",\n                                      \"s-20vcpu-96gb\",\n                                      \"s-24vcpu-128gb\",\n                                      \"s-32vcpu-192g\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"available\",\n                                  \"features\",\n                                  \"name\",\n                                  \"sizes\",\n                                  \"slug\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"size\": {\n                                \"properties\": {\n                                  \"available\": {\n                                    \"default\": true,\n                                    \"description\": \"This is a boolean value that represents whether new Droplets can be created with this size.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"description\": {\n                                    \"description\": \"A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.\",\n                                    \"example\": \"Basic\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"disk\": {\n                                    \"description\": \"The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes.\",\n                                    \"example\": 25,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"memory\": {\n                                    \"description\": \"The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes.\",\n                                    \"example\": 1024,\n                                    \"minimum\": 8,\n                                    \"multipleOf\": 8,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"price_hourly\": {\n                                    \"description\": \"This describes the price of the Droplet size as measured hourly. The value is measured in US dollars.\",\n                                    \"example\": 0.00743999984115362,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  },\n                                  \"price_monthly\": {\n                                    \"description\": \"This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars.\",\n                                    \"example\": 5,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  },\n                                  \"regions\": {\n                                    \"description\": \"An array containing the region slugs where this size is available for Droplet creates.\",\n                                    \"example\": [\n                                      \"ams2\",\n                                      \"ams3\",\n                                      \"blr1\",\n                                      \"fra1\",\n                                      \"lon1\",\n                                      \"nyc1\",\n                                      \"nyc2\",\n                                      \"nyc3\",\n                                      \"sfo1\",\n                                      \"sfo2\",\n                                      \"sfo3\",\n                                      \"sgp1\",\n                                      \"tor1\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A human-readable string that is used to uniquely identify each size.\",\n                                    \"example\": \"s-1vcpu-1gb\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"transfer\": {\n                                    \"description\": \"The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes.\",\n                                    \"example\": 1,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  },\n                                  \"vcpus\": {\n                                    \"description\": \"The integer of number CPUs allocated to Droplets of this size.\",\n                                    \"example\": 1,\n                                    \"type\": \"integer\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"available\",\n                                  \"disk\",\n                                  \"memory\",\n                                  \"price_hourly\",\n                                  \"price_monthly\",\n                                  \"regions\",\n                                  \"slug\",\n                                  \"transfer\",\n                                  \"vcpus\",\n                                  \"description\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"size_slug\": {\n                                \"description\": \"The unique slug identifier for the size of this Droplet.\",\n                                \"example\": \"s-1vcpu-1gb\",\n                                \"type\": \"string\"\n                              },\n                              \"snapshot_ids\": {\n                                \"description\": \"An array of snapshot IDs of any snapshots created from the Droplet instance.\",\n                                \"example\": [\n                                  67512819\n                                ],\n                                \"items\": {\n                                  \"type\": \"integer\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"status\": {\n                                \"description\": \"A status string indicating the state of the Droplet instance. This may be \\\"new\\\", \\\"active\\\", \\\"off\\\", or \\\"archive\\\".\",\n                                \"enum\": [\n                                  \"new\",\n                                  \"active\",\n                                  \"off\",\n                                  \"archive\"\n                                ],\n                                \"example\": \"active\",\n                                \"type\": \"string\"\n                              },\n                              \"tags\": {\n                                \"description\": \"An array of Tags the Droplet has been tagged with.\",\n                                \"example\": [\n                                  \"web\",\n                                  \"env:prod\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"vcpus\": {\n                                \"description\": \"The number of virtual CPUs.\",\n                                \"example\": 1,\n                                \"type\": \"integer\"\n                              },\n                              \"volume_ids\": {\n                                \"description\": \"A flat array including the unique identifier for each Block Storage volume attached to the Droplet.\",\n                                \"example\": [\n                                  \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"vpc_uuid\": {\n                                \"description\": \"A string specifying the UUID of the VPC to which the Droplet is assigned.\",\n                                \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"id\",\n                              \"name\",\n                              \"memory\",\n                              \"vcpus\",\n                              \"disk\",\n                              \"locked\",\n                              \"status\",\n                              \"created_at\",\n                              \"features\",\n                              \"backup_ids\",\n                              \"next_backup_window\",\n                              \"snapshot_ids\",\n                              \"image\",\n                              \"volume_ids\",\n                              \"size\",\n                              \"size_slug\",\n                              \"networks\",\n                              \"region\",\n                              \"tags\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON object with an `droplets` key.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Neighbors for a Droplet\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164494/neighbors\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/droplets/{droplet_id}/snapshots\": {\n      \"get\": {\n        \"description\": \"To retrieve the snapshots that have been created from a Droplet, send a GET\\nrequest to `/v2/droplets/$DROPLET_ID/snapshots`.\\n\\nYou will get back a JSON object that has a `snapshots` key. This will be set\\nto an array of snapshot objects, each of which contain the standard Droplet\\nsnapshot attributes.\\n\",\n        \"operationId\": \"droplets_list_snapshots\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a Droplet instance.\",\n            \"example\": 3164444,\n            \"in\": \"path\",\n            \"name\": \"droplet_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"links\": {},\n                  \"meta\": {\n                    \"total\": 1\n                  },\n                  \"snapshots\": [\n                    {\n                      \"created_at\": \"2020-07-28T16:47:44Z\",\n                      \"id\": 6372321,\n                      \"min_disk_size\": 25,\n                      \"name\": \"web-01-1595954862243\",\n                      \"regions\": [\n                        \"nyc3\",\n                        \"sfo3\"\n                      ],\n                      \"size_gigabytes\": 2.34,\n                      \"type\": \"snapshot\"\n                    }\n                  ]\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"snapshots\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"id\": {\n                                    \"description\": \"The unique identifier for the snapshot or backup.\",\n                                    \"example\": 6372321,\n                                    \"type\": \"integer\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"id\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the snapshot was created.\",\n                                    \"example\": \"2020-07-28T16:47:44Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"min_disk_size\": {\n                                    \"description\": \"The minimum size in GB required for a volume or Droplet to use this snapshot.\",\n                                    \"example\": 25,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-readable name for the snapshot.\",\n                                    \"example\": \"web-01-1595954862243\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"regions\": {\n                                    \"description\": \"An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values.\",\n                                    \"example\": [\n                                      \"nyc3\",\n                                      \"sfo3\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"size_gigabytes\": {\n                                    \"description\": \"The billable size of the snapshot in gigabytes.\",\n                                    \"example\": 2.34,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\",\n                                  \"created_at\",\n                                  \"regions\",\n                                  \"min_disk_size\",\n                                  \"size_gigabytes\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"type\": {\n                                    \"description\": \"Describes the kind of image. It may be one of `snapshot` or `backup`. This specifies whether an image is a user-generated Droplet snapshot or automatically created Droplet backup.\",\n                                    \"enum\": [\n                                      \"snapshot\",\n                                      \"backup\"\n                                    ],\n                                    \"example\": \"snapshot\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"type\"\n                                ],\n                                \"type\": \"object\"\n                              }\n                            ]\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON object with an `snapshots` key.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Snapshots for a Droplet\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/droplets/3164494/snapshots?page=1&per_page=1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    snapshots, _, err := client.Droplets.Snapshots(ctx, 3164494, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nsnapshots = client.droplets.snapshots(id: 3164494)\\nsnapshots.each\"\n          }\n        ]\n      }\n    },\n    \"/v2/firewalls\": {\n      \"get\": {\n        \"description\": \"To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`.\",\n        \"operationId\": \"firewalls_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"firewalls\": [\n                    {\n                      \"created_at\": \"2017-05-23T21:23:59Z\",\n                      \"droplet_ids\": [\n                        8043964\n                      ],\n                      \"id\": \"fb6045f1-cf1d-4ca3-bfac-18832663025b\",\n                      \"inbound_rules\": [\n                        {\n                          \"ports\": \"80\",\n                          \"protocol\": \"tcp\",\n                          \"sources\": {\n                            \"load_balancer_uids\": [\n                              \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                            ]\n                          }\n                        },\n                        {\n                          \"ports\": \"22\",\n                          \"protocol\": \"tcp\",\n                          \"sources\": {\n                            \"addresses\": [\n                              \"18.0.0.0/8\"\n                            ],\n                            \"tags\": [\n                              \"gateway\"\n                            ]\n                          }\n                        }\n                      ],\n                      \"name\": \"firewall\",\n                      \"outbound_rules\": [\n                        {\n                          \"destinations\": {\n                            \"addresses\": [\n                              \"0.0.0.0/0\",\n                              \"::/0\"\n                            ]\n                          },\n                          \"ports\": \"80\",\n                          \"protocol\": \"tcp\"\n                        }\n                      ],\n                      \"pending_changes\": [],\n                      \"status\": \"succeeded\",\n                      \"tags\": []\n                    }\n                  ],\n                  \"links\": {},\n                  \"meta\": {\n                    \"total\": 1\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"firewalls\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall was created.\",\n                                    \"example\": \"2020-05-23T21:24:00Z\",\n                                    \"format\": \"date-time\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"droplet_ids\": {\n                                    \"description\": \"An array containing the IDs of the Droplets assigned to the firewall.\",\n                                    \"example\": [\n                                      8043964\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"integer\"\n                                    },\n                                    \"nullable\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n                                    \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-).\",\n                                    \"example\": \"firewall\",\n                                    \"pattern\": \"^[a-zA-Z0-9][a-zA-Z0-9\\\\.-]+$\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"pending_changes\": {\n                                    \"description\": \"An array of objects each containing the fields \\\"droplet_id\\\", \\\"removing\\\", and \\\"status\\\". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.\",\n                                    \"example\": [\n                                      {\n                                        \"droplet_id\": 8043964,\n                                        \"removing\": false,\n                                        \"status\": \"waiting\"\n                                      }\n                                    ],\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"droplet_id\": {\n                                          \"example\": 8043964,\n                                          \"type\": \"integer\"\n                                        },\n                                        \"removing\": {\n                                          \"example\": false,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"status\": {\n                                          \"example\": \"waiting\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"readOnly\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"status\": {\n                                    \"description\": \"A status string indicating the current state of the firewall. This can be \\\"waiting\\\", \\\"succeeded\\\", or \\\"failed\\\".\",\n                                    \"enum\": [\n                                      \"waiting\",\n                                      \"succeeded\",\n                                      \"failed\"\n                                    ],\n                                    \"example\": \"waiting\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"tags\": {\n                                    \"allOf\": [\n                                      {\n                                        \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                        \"example\": [\n                                          \"base-image\",\n                                          \"prod\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"nullable\": true,\n                                        \"type\": \"array\"\n                                      },\n                                      {\n                                        \"description\": \"An array containing the names of the Tags assigned to the firewall.\",\n                                        \"example\": \"gateway\"\n                                      }\n                                    ]\n                                  }\n                                }\n                              },\n                              {\n                                \"properties\": {\n                                  \"inbound_rules\": {\n                                    \"items\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"ports\": {\n                                              \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                              \"example\": \"8000\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"protocol\": {\n                                              \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                              \"enum\": [\n                                                \"tcp\",\n                                                \"udp\",\n                                                \"icmp\"\n                                              ],\n                                              \"example\": \"tcp\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"protocol\",\n                                            \"ports\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"sources\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"properties\": {\n                                                    \"addresses\": {\n                                                      \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        \"1.2.3.4\",\n                                                        \"18.0.0.0/8\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"droplet_ids\": {\n                                                      \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        8043964\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"integer\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"kubernetes_ids\": {\n                                                      \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"load_balancer_uids\": {\n                                                      \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"tags\": {\n                                                      \"allOf\": [\n                                                        {\n                                                          \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                          \"example\": [\n                                                            \"base-image\",\n                                                            \"prod\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"nullable\": true,\n                                                          \"type\": \"array\"\n                                                        },\n                                                        {\n                                                          \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                          \"example\": [\n                                                            \"frontend\"\n                                                          ]\n                                                        }\n                                                      ]\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"description\": \"An object specifying locations from which inbound traffic will be accepted.\"\n                                                }\n                                              ]\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"sources\"\n                                          ]\n                                        }\n                                      ]\n                                    },\n                                    \"nullable\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"outbound_rules\": {\n                                    \"items\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"ports\": {\n                                              \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                              \"example\": \"8000\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"protocol\": {\n                                              \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                              \"enum\": [\n                                                \"tcp\",\n                                                \"udp\",\n                                                \"icmp\"\n                                              ],\n                                              \"example\": \"tcp\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"protocol\",\n                                            \"ports\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"properties\": {\n                                            \"destinations\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"properties\": {\n                                                    \"addresses\": {\n                                                      \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        \"1.2.3.4\",\n                                                        \"18.0.0.0/8\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"droplet_ids\": {\n                                                      \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        8043964\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"integer\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"kubernetes_ids\": {\n                                                      \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"load_balancer_uids\": {\n                                                      \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                                      \"example\": [\n                                                        \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                                      ],\n                                                      \"items\": {\n                                                        \"type\": \"string\"\n                                                      },\n                                                      \"type\": \"array\"\n                                                    },\n                                                    \"tags\": {\n                                                      \"allOf\": [\n                                                        {\n                                                          \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                          \"example\": [\n                                                            \"base-image\",\n                                                            \"prod\"\n                                                          ],\n                                                          \"items\": {\n                                                            \"type\": \"string\"\n                                                          },\n                                                          \"nullable\": true,\n                                                          \"type\": \"array\"\n                                                        },\n                                                        {\n                                                          \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                          \"example\": [\n                                                            \"frontend\"\n                                                          ]\n                                                        }\n                                                      ]\n                                                    }\n                                                  },\n                                                  \"type\": \"object\"\n                                                },\n                                                {\n                                                  \"description\": \"An object specifying locations to which outbound traffic that will be allowed.\"\n                                                }\n                                              ]\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"destinations\"\n                                          ]\n                                        }\n                                      ]\n                                    },\n                                    \"nullable\": true,\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Firewalls\",\n        \"tags\": [\n          \"Firewalls\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/firewalls\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    firewalls, _, err := client.Firewalls.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nfirewalls = client.firewalls.all\\nfirewalls.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a new firewall, send a POST request to `/v2/firewalls`. The request\\nmust contain at least one inbound or outbound access rule.\\n\",\n        \"operationId\": \"firewalls_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"droplet_ids\": [\n                  8043964\n                ],\n                \"inbound_rules\": [\n                  {\n                    \"ports\": \"80\",\n                    \"protocol\": \"tcp\",\n                    \"sources\": {\n                      \"load_balancer_uids\": [\n                        \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                      ]\n                    }\n                  },\n                  {\n                    \"ports\": \"22\",\n                    \"protocol\": \"tcp\",\n                    \"sources\": {\n                      \"addresses\": [\n                        \"18.0.0.0/8\"\n                      ],\n                      \"tags\": [\n                        \"gateway\"\n                      ]\n                    }\n                  }\n                ],\n                \"name\": \"firewall\",\n                \"outbound_rules\": [\n                  {\n                    \"destinations\": {\n                      \"addresses\": [\n                        \"0.0.0.0/0\",\n                        \"::/0\"\n                      ]\n                    },\n                    \"ports\": \"80\",\n                    \"protocol\": \"tcp\"\n                  }\n                ]\n              },\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall was created.\",\n                            \"example\": \"2020-05-23T21:24:00Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"droplet_ids\": {\n                            \"description\": \"An array containing the IDs of the Droplets assigned to the firewall.\",\n                            \"example\": [\n                              8043964\n                            ],\n                            \"items\": {\n                              \"type\": \"integer\"\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n                            \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-).\",\n                            \"example\": \"firewall\",\n                            \"pattern\": \"^[a-zA-Z0-9][a-zA-Z0-9\\\\.-]+$\",\n                            \"type\": \"string\"\n                          },\n                          \"pending_changes\": {\n                            \"description\": \"An array of objects each containing the fields \\\"droplet_id\\\", \\\"removing\\\", and \\\"status\\\". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.\",\n                            \"example\": [\n                              {\n                                \"droplet_id\": 8043964,\n                                \"removing\": false,\n                                \"status\": \"waiting\"\n                              }\n                            ],\n                            \"items\": {\n                              \"properties\": {\n                                \"droplet_id\": {\n                                  \"example\": 8043964,\n                                  \"type\": \"integer\"\n                                },\n                                \"removing\": {\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                },\n                                \"status\": {\n                                  \"example\": \"waiting\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"readOnly\": true,\n                            \"type\": \"array\"\n                          },\n                          \"status\": {\n                            \"description\": \"A status string indicating the current state of the firewall. This can be \\\"waiting\\\", \\\"succeeded\\\", or \\\"failed\\\".\",\n                            \"enum\": [\n                              \"waiting\",\n                              \"succeeded\",\n                              \"failed\"\n                            ],\n                            \"example\": \"waiting\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"tags\": {\n                            \"allOf\": [\n                              {\n                                \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                \"example\": [\n                                  \"base-image\",\n                                  \"prod\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"nullable\": true,\n                                \"type\": \"array\"\n                              },\n                              {\n                                \"description\": \"An array containing the names of the Tags assigned to the firewall.\",\n                                \"example\": \"gateway\"\n                              }\n                            ]\n                          }\n                        }\n                      },\n                      {\n                        \"properties\": {\n                          \"inbound_rules\": {\n                            \"items\": {\n                              \"allOf\": [\n                                {\n                                  \"properties\": {\n                                    \"ports\": {\n                                      \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                      \"example\": \"8000\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"protocol\": {\n                                      \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                      \"enum\": [\n                                        \"tcp\",\n                                        \"udp\",\n                                        \"icmp\"\n                                      ],\n                                      \"example\": \"tcp\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"protocol\",\n                                    \"ports\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                {\n                                  \"properties\": {\n                                    \"sources\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"addresses\": {\n                                              \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"1.2.3.4\",\n                                                \"18.0.0.0/8\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"droplet_ids\": {\n                                              \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                8043964\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"integer\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"kubernetes_ids\": {\n                                              \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"load_balancer_uids\": {\n                                              \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"tags\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                  \"example\": [\n                                                    \"base-image\",\n                                                    \"prod\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"nullable\": true,\n                                                  \"type\": \"array\"\n                                                },\n                                                {\n                                                  \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                  \"example\": [\n                                                    \"frontend\"\n                                                  ]\n                                                }\n                                              ]\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"description\": \"An object specifying locations from which inbound traffic will be accepted.\"\n                                        }\n                                      ]\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"sources\"\n                                  ]\n                                }\n                              ]\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          },\n                          \"outbound_rules\": {\n                            \"items\": {\n                              \"allOf\": [\n                                {\n                                  \"properties\": {\n                                    \"ports\": {\n                                      \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                      \"example\": \"8000\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"protocol\": {\n                                      \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                      \"enum\": [\n                                        \"tcp\",\n                                        \"udp\",\n                                        \"icmp\"\n                                      ],\n                                      \"example\": \"tcp\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"protocol\",\n                                    \"ports\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                {\n                                  \"properties\": {\n                                    \"destinations\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"addresses\": {\n                                              \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"1.2.3.4\",\n                                                \"18.0.0.0/8\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"droplet_ids\": {\n                                              \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                8043964\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"integer\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"kubernetes_ids\": {\n                                              \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"load_balancer_uids\": {\n                                              \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"tags\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                  \"example\": [\n                                                    \"base-image\",\n                                                    \"prod\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"nullable\": true,\n                                                  \"type\": \"array\"\n                                                },\n                                                {\n                                                  \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                  \"example\": [\n                                                    \"frontend\"\n                                                  ]\n                                                }\n                                              ]\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"description\": \"An object specifying locations to which outbound traffic that will be allowed.\"\n                                        }\n                                      ]\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"destinations\"\n                                  ]\n                                }\n                              ]\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ],\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"required\": [\n                      \"name\"\n                    ]\n                  },\n                  {\n                    \"anyOf\": [\n                      {\n                        \"required\": [\n                          \"inbound_rules\"\n                        ],\n                        \"title\": \"Inbound Rules\"\n                      },\n                      {\n                        \"required\": [\n                          \"outbound_rules\"\n                        ],\n                        \"title\": \"Outbound Rules\"\n                      }\n                    ]\n                  }\n                ]\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"202\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"firewall\": {\n                    \"created_at\": \"2017-05-23T21:24:00Z\",\n                    \"droplet_ids\": [\n                      8043964\n                    ],\n                    \"id\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n                    \"inbound_rules\": [\n                      {\n                        \"ports\": \"80\",\n                        \"protocol\": \"tcp\",\n                        \"sources\": {\n                          \"load_balancer_uids\": [\n                            \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                          ]\n                        }\n                      },\n                      {\n                        \"ports\": \"22\",\n                        \"protocol\": \"tcp\",\n                        \"sources\": {\n                          \"addresses\": [\n                            \"18.0.0.0/8\"\n                          ],\n                          \"tags\": [\n                            \"gateway\"\n                          ]\n                        }\n                      }\n                    ],\n                    \"name\": \"firewall\",\n                    \"outbound_rules\": [\n                      {\n                        \"destinations\": {\n                          \"addresses\": [\n                            \"0.0.0.0/0\",\n                            \"::/0\"\n                          ]\n                        },\n                        \"ports\": \"80\",\n                        \"protocol\": \"tcp\"\n                      }\n                    ],\n                    \"pending_changes\": [\n                      {\n                        \"droplet_id\": 8043964,\n                        \"removing\": false,\n                        \"status\": \"waiting\"\n                      }\n                    ],\n                    \"status\": \"waiting\",\n                    \"tags\": []\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"firewall\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall was created.\",\n                              \"example\": \"2020-05-23T21:24:00Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"droplet_ids\": {\n                              \"description\": \"An array containing the IDs of the Droplets assigned to the firewall.\",\n                              \"example\": [\n                                8043964\n                              ],\n                              \"items\": {\n                                \"type\": \"integer\"\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n                              \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-).\",\n                              \"example\": \"firewall\",\n                              \"pattern\": \"^[a-zA-Z0-9][a-zA-Z0-9\\\\.-]+$\",\n                              \"type\": \"string\"\n                            },\n                            \"pending_changes\": {\n                              \"description\": \"An array of objects each containing the fields \\\"droplet_id\\\", \\\"removing\\\", and \\\"status\\\". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.\",\n                              \"example\": [\n                                {\n                                  \"droplet_id\": 8043964,\n                                  \"removing\": false,\n                                  \"status\": \"waiting\"\n                                }\n                              ],\n                              \"items\": {\n                                \"properties\": {\n                                  \"droplet_id\": {\n                                    \"example\": 8043964,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"removing\": {\n                                    \"example\": false,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"status\": {\n                                    \"example\": \"waiting\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"readOnly\": true,\n                              \"type\": \"array\"\n                            },\n                            \"status\": {\n                              \"description\": \"A status string indicating the current state of the firewall. This can be \\\"waiting\\\", \\\"succeeded\\\", or \\\"failed\\\".\",\n                              \"enum\": [\n                                \"waiting\",\n                                \"succeeded\",\n                                \"failed\"\n                              ],\n                              \"example\": \"waiting\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"tags\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                  \"example\": [\n                                    \"base-image\",\n                                    \"prod\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"nullable\": true,\n                                  \"type\": \"array\"\n                                },\n                                {\n                                  \"description\": \"An array containing the names of the Tags assigned to the firewall.\",\n                                  \"example\": \"gateway\"\n                                }\n                              ]\n                            }\n                          }\n                        },\n                        {\n                          \"properties\": {\n                            \"inbound_rules\": {\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"ports\": {\n                                        \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                        \"example\": \"8000\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"protocol\": {\n                                        \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                        \"enum\": [\n                                          \"tcp\",\n                                          \"udp\",\n                                          \"icmp\"\n                                        ],\n                                        \"example\": \"tcp\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"protocol\",\n                                      \"ports\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"sources\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"addresses\": {\n                                                \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"1.2.3.4\",\n                                                  \"18.0.0.0/8\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"droplet_ids\": {\n                                                \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  8043964\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"kubernetes_ids\": {\n                                                \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"load_balancer_uids\": {\n                                                \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"tags\": {\n                                                \"allOf\": [\n                                                  {\n                                                    \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                    \"example\": [\n                                                      \"base-image\",\n                                                      \"prod\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"nullable\": true,\n                                                    \"type\": \"array\"\n                                                  },\n                                                  {\n                                                    \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                    \"example\": [\n                                                      \"frontend\"\n                                                    ]\n                                                  }\n                                                ]\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"description\": \"An object specifying locations from which inbound traffic will be accepted.\"\n                                          }\n                                        ]\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"sources\"\n                                    ]\n                                  }\n                                ]\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            },\n                            \"outbound_rules\": {\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"ports\": {\n                                        \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                        \"example\": \"8000\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"protocol\": {\n                                        \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                        \"enum\": [\n                                          \"tcp\",\n                                          \"udp\",\n                                          \"icmp\"\n                                        ],\n                                        \"example\": \"tcp\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"protocol\",\n                                      \"ports\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"destinations\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"addresses\": {\n                                                \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"1.2.3.4\",\n                                                  \"18.0.0.0/8\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"droplet_ids\": {\n                                                \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  8043964\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"kubernetes_ids\": {\n                                                \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"load_balancer_uids\": {\n                                                \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"tags\": {\n                                                \"allOf\": [\n                                                  {\n                                                    \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                    \"example\": [\n                                                      \"base-image\",\n                                                      \"prod\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"nullable\": true,\n                                                    \"type\": \"array\"\n                                                  },\n                                                  {\n                                                    \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                    \"example\": [\n                                                      \"frontend\"\n                                                    ]\n                                                  }\n                                                ]\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"description\": \"An object specifying locations to which outbound traffic that will be allowed.\"\n                                          }\n                                        ]\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"destinations\"\n                                    ]\n                                  }\n                                ]\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a firewall key. This will be set to an object containing the standard firewall attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"error parsing request body\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Firewall\",\n        \"tags\": [\n          \"Firewalls\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"firewall\\\",\\\"inbound_rules\\\":[{\\\"protocol\\\":\\\"tcp\\\",\\\"ports\\\":\\\"80\\\",\\\"sources\\\":{\\\"load_balancer_uids\\\": [\\\"4de7ac8b-495b-4884-9a69-1050c6793cd6\\\"]}},{\\\"protocol\\\": \\\"tcp\\\",\\\"ports\\\": \\\"22\\\",\\\"sources\\\":{\\\"tags\\\": [\\\"gateway\\\"],\\\"addresses\\\": [\\\"18.0.0.0/8\\\"]}}],\\\"outbound_rules\\\":[{\\\"protocol\\\":\\\"tcp\\\",\\\"ports\\\":\\\"80\\\",\\\"destinations\\\":{\\\"addresses\\\":[\\\"0.0.0.0/0\\\",\\\"::/0\\\"]}}],\\\"droplet_ids\\\":[8043964]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/firewalls\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &godo.FirewallRequest{\\n        Name: 'firewall',\\n        InboundRules: []godo.InboundRule{\\n            {\\n                Protocol: 'tcp',\\n                PortRange: '80',\\n                Sources: &godo.Sources{\\n                    LoadBalancerUIDs: []string{'4de7ac8b-495b-4884-9a69-1050c6793cd6'},\\n                },\\n            },\\n            {\\n                Protocol:  'tcp',\\n                PortRange: '22',\\n                Sources: &godo.Sources{\\n                    Addresses: []string{'18.0.0.0/8'},\\n                    Tags: []string{'gateway'},\\n                },\\n            },\\n        },\\n        OutboundRules: []godo.OutboundRule{\\n            {\\n                Protocol: 'tcp',\\n                PortRange: '80',\\n                Destinations: &godo.Destinations{\\n                    Addresses: []string{'0.0.0.0/0', '::/0'},\\n                },\\n            },\\n        },\\n        DropletIDs: []int{8043964},\\n    }\\n\\n    firewall, req, err := client.Firewalls.Create(ctx, createRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nfirewall = DropletKit::Firewall.new(\\n  name: 'firewall',\\n  inbound_rules: [\\n    DropletKit::FirewallInboundRule.new(\\n      protocol: 'tcp',\\n      ports: '80',\\n      sources: {\\n        load_balancer_uids: ['4de7ac8b-495b-4884-9a69-1050c6793cd6']\\n      }\\n    ),\\n    DropletKit::FirewallInboundRule.new(\\n      protocol: 'tcp',\\n      ports: '22',\\n      sources: {\\n        tags: ['gateway'],\\n        addresses: ['18.0.0.0/8']\\n      }\\n    )\\n  ],\\n  outbound_rules: [\\n    DropletKit::FirewallOutboundRule.new(\\n      protocol: 'tcp',\\n      ports: '80',\\n      destinations: {\\n        addresses: ['0.0.0.0/0', '::/0'],\\n      }\\n    )\\n  ],\\n  droplet_ids: [8043964]\\n)\\n\\nclient.firewalls.create(firewall)\"\n          }\n        ]\n      }\n    },\n    \"/v2/firewalls/{firewall_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a firewall send a DELETE request to `/v2/firewalls/$FIREWALL_ID`.\\n\\nNo response body will be sent back, but the response code will indicate\\nsuccess. Specifically, the response code will be a 204, which means that the\\naction was successful with no returned body data.\\n\",\n        \"operationId\": \"firewalls_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n            \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n            \"in\": \"path\",\n            \"name\": \"firewall_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Firewall\",\n        \"tags\": [\n          \"Firewalls\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/firewalls/bb4b2611-3d72-467b-8602-280330ecd65c\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Firewalls.Delete(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c')\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.firewalls.delete(id: 'bb4b2611-3d72-467b-8602-280330ecd65c')\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an existing firewall, send a GET request to `/v2/firewalls/$FIREWALL_ID`.\",\n        \"operationId\": \"firewalls_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n            \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n            \"in\": \"path\",\n            \"name\": \"firewall_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"firewall\": {\n                    \"created_at\": \"2017-05-23T21:24:00Z\",\n                    \"droplet_ids\": [\n                      8043964\n                    ],\n                    \"id\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n                    \"inbound_rules\": [\n                      {\n                        \"ports\": \"80\",\n                        \"protocol\": \"tcp\",\n                        \"sources\": {\n                          \"load_balancer_uids\": [\n                            \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                          ]\n                        }\n                      },\n                      {\n                        \"ports\": \"22\",\n                        \"protocol\": \"tcp\",\n                        \"sources\": {\n                          \"addresses\": [\n                            \"18.0.0.0/8\"\n                          ],\n                          \"tags\": [\n                            \"gateway\"\n                          ]\n                        }\n                      }\n                    ],\n                    \"name\": \"firewall\",\n                    \"outbound_rules\": [\n                      {\n                        \"destinations\": {\n                          \"addresses\": [\n                            \"0.0.0.0/0\",\n                            \"::/0\"\n                          ]\n                        },\n                        \"ports\": \"80\",\n                        \"protocol\": \"tcp\"\n                      }\n                    ],\n                    \"pending_changes\": [],\n                    \"status\": \"succeeded\",\n                    \"tags\": []\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"firewall\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall was created.\",\n                              \"example\": \"2020-05-23T21:24:00Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"droplet_ids\": {\n                              \"description\": \"An array containing the IDs of the Droplets assigned to the firewall.\",\n                              \"example\": [\n                                8043964\n                              ],\n                              \"items\": {\n                                \"type\": \"integer\"\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n                              \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-).\",\n                              \"example\": \"firewall\",\n                              \"pattern\": \"^[a-zA-Z0-9][a-zA-Z0-9\\\\.-]+$\",\n                              \"type\": \"string\"\n                            },\n                            \"pending_changes\": {\n                              \"description\": \"An array of objects each containing the fields \\\"droplet_id\\\", \\\"removing\\\", and \\\"status\\\". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.\",\n                              \"example\": [\n                                {\n                                  \"droplet_id\": 8043964,\n                                  \"removing\": false,\n                                  \"status\": \"waiting\"\n                                }\n                              ],\n                              \"items\": {\n                                \"properties\": {\n                                  \"droplet_id\": {\n                                    \"example\": 8043964,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"removing\": {\n                                    \"example\": false,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"status\": {\n                                    \"example\": \"waiting\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"readOnly\": true,\n                              \"type\": \"array\"\n                            },\n                            \"status\": {\n                              \"description\": \"A status string indicating the current state of the firewall. This can be \\\"waiting\\\", \\\"succeeded\\\", or \\\"failed\\\".\",\n                              \"enum\": [\n                                \"waiting\",\n                                \"succeeded\",\n                                \"failed\"\n                              ],\n                              \"example\": \"waiting\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"tags\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                  \"example\": [\n                                    \"base-image\",\n                                    \"prod\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"nullable\": true,\n                                  \"type\": \"array\"\n                                },\n                                {\n                                  \"description\": \"An array containing the names of the Tags assigned to the firewall.\",\n                                  \"example\": \"gateway\"\n                                }\n                              ]\n                            }\n                          }\n                        },\n                        {\n                          \"properties\": {\n                            \"inbound_rules\": {\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"ports\": {\n                                        \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                        \"example\": \"8000\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"protocol\": {\n                                        \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                        \"enum\": [\n                                          \"tcp\",\n                                          \"udp\",\n                                          \"icmp\"\n                                        ],\n                                        \"example\": \"tcp\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"protocol\",\n                                      \"ports\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"sources\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"addresses\": {\n                                                \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"1.2.3.4\",\n                                                  \"18.0.0.0/8\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"droplet_ids\": {\n                                                \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  8043964\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"kubernetes_ids\": {\n                                                \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"load_balancer_uids\": {\n                                                \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"tags\": {\n                                                \"allOf\": [\n                                                  {\n                                                    \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                    \"example\": [\n                                                      \"base-image\",\n                                                      \"prod\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"nullable\": true,\n                                                    \"type\": \"array\"\n                                                  },\n                                                  {\n                                                    \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                    \"example\": [\n                                                      \"frontend\"\n                                                    ]\n                                                  }\n                                                ]\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"description\": \"An object specifying locations from which inbound traffic will be accepted.\"\n                                          }\n                                        ]\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"sources\"\n                                    ]\n                                  }\n                                ]\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            },\n                            \"outbound_rules\": {\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"ports\": {\n                                        \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                        \"example\": \"8000\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"protocol\": {\n                                        \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                        \"enum\": [\n                                          \"tcp\",\n                                          \"udp\",\n                                          \"icmp\"\n                                        ],\n                                        \"example\": \"tcp\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"protocol\",\n                                      \"ports\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"destinations\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"addresses\": {\n                                                \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"1.2.3.4\",\n                                                  \"18.0.0.0/8\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"droplet_ids\": {\n                                                \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  8043964\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"kubernetes_ids\": {\n                                                \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"load_balancer_uids\": {\n                                                \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"tags\": {\n                                                \"allOf\": [\n                                                  {\n                                                    \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                    \"example\": [\n                                                      \"base-image\",\n                                                      \"prod\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"nullable\": true,\n                                                    \"type\": \"array\"\n                                                  },\n                                                  {\n                                                    \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                    \"example\": [\n                                                      \"frontend\"\n                                                    ]\n                                                  }\n                                                ]\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"description\": \"An object specifying locations to which outbound traffic that will be allowed.\"\n                                          }\n                                        ]\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"destinations\"\n                                    ]\n                                  }\n                                ]\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a firewall key. This will be set to an object containing the standard firewall attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Firewall\",\n        \"tags\": [\n          \"Firewalls\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/firewalls/bb4b2611-3d72-467b-8602-280330ecd65c\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    firewall, _, err := client.Firewalls.Get(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c')\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.firewalls.find(id: 'bb4b2611-3d72-467b-8602-280330ecd65c')\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update the configuration of an existing firewall, send a PUT request to\\n`/v2/firewalls/$FIREWALL_ID`. The request should contain a full representation\\nof the firewall including existing attributes. **Note that any attributes that\\nare not provided will be reset to their default values.**\\n\",\n        \"operationId\": \"firewalls_update\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n            \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n            \"in\": \"path\",\n            \"name\": \"firewall_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"droplet_ids\": [\n                  8043964\n                ],\n                \"inbound_rules\": [\n                  {\n                    \"ports\": \"8080\",\n                    \"protocol\": \"tcp\",\n                    \"sources\": {\n                      \"load_balancer_uids\": [\n                        \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                      ]\n                    }\n                  },\n                  {\n                    \"ports\": \"22\",\n                    \"protocol\": \"tcp\",\n                    \"sources\": {\n                      \"addresses\": [\n                        \"18.0.0.0/8\"\n                      ],\n                      \"tags\": [\n                        \"gateway\"\n                      ]\n                    }\n                  }\n                ],\n                \"name\": \"frontend-firewall\",\n                \"outbound_rules\": [\n                  {\n                    \"destinations\": {\n                      \"addresses\": [\n                        \"0.0.0.0/0\",\n                        \"::/0\"\n                      ]\n                    },\n                    \"ports\": \"8080\",\n                    \"protocol\": \"tcp\"\n                  }\n                ],\n                \"tags\": [\n                  \"frontend\"\n                ]\n              },\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall was created.\",\n                            \"example\": \"2020-05-23T21:24:00Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"droplet_ids\": {\n                            \"description\": \"An array containing the IDs of the Droplets assigned to the firewall.\",\n                            \"example\": [\n                              8043964\n                            ],\n                            \"items\": {\n                              \"type\": \"integer\"\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n                            \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-).\",\n                            \"example\": \"firewall\",\n                            \"pattern\": \"^[a-zA-Z0-9][a-zA-Z0-9\\\\.-]+$\",\n                            \"type\": \"string\"\n                          },\n                          \"pending_changes\": {\n                            \"description\": \"An array of objects each containing the fields \\\"droplet_id\\\", \\\"removing\\\", and \\\"status\\\". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.\",\n                            \"example\": [\n                              {\n                                \"droplet_id\": 8043964,\n                                \"removing\": false,\n                                \"status\": \"waiting\"\n                              }\n                            ],\n                            \"items\": {\n                              \"properties\": {\n                                \"droplet_id\": {\n                                  \"example\": 8043964,\n                                  \"type\": \"integer\"\n                                },\n                                \"removing\": {\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                },\n                                \"status\": {\n                                  \"example\": \"waiting\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"readOnly\": true,\n                            \"type\": \"array\"\n                          },\n                          \"status\": {\n                            \"description\": \"A status string indicating the current state of the firewall. This can be \\\"waiting\\\", \\\"succeeded\\\", or \\\"failed\\\".\",\n                            \"enum\": [\n                              \"waiting\",\n                              \"succeeded\",\n                              \"failed\"\n                            ],\n                            \"example\": \"waiting\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"tags\": {\n                            \"allOf\": [\n                              {\n                                \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                \"example\": [\n                                  \"base-image\",\n                                  \"prod\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"nullable\": true,\n                                \"type\": \"array\"\n                              },\n                              {\n                                \"description\": \"An array containing the names of the Tags assigned to the firewall.\",\n                                \"example\": \"gateway\"\n                              }\n                            ]\n                          }\n                        }\n                      },\n                      {\n                        \"properties\": {\n                          \"inbound_rules\": {\n                            \"items\": {\n                              \"allOf\": [\n                                {\n                                  \"properties\": {\n                                    \"ports\": {\n                                      \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                      \"example\": \"8000\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"protocol\": {\n                                      \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                      \"enum\": [\n                                        \"tcp\",\n                                        \"udp\",\n                                        \"icmp\"\n                                      ],\n                                      \"example\": \"tcp\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"protocol\",\n                                    \"ports\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                {\n                                  \"properties\": {\n                                    \"sources\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"addresses\": {\n                                              \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"1.2.3.4\",\n                                                \"18.0.0.0/8\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"droplet_ids\": {\n                                              \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                8043964\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"integer\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"kubernetes_ids\": {\n                                              \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"load_balancer_uids\": {\n                                              \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"tags\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                  \"example\": [\n                                                    \"base-image\",\n                                                    \"prod\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"nullable\": true,\n                                                  \"type\": \"array\"\n                                                },\n                                                {\n                                                  \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                  \"example\": [\n                                                    \"frontend\"\n                                                  ]\n                                                }\n                                              ]\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"description\": \"An object specifying locations from which inbound traffic will be accepted.\"\n                                        }\n                                      ]\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"sources\"\n                                  ]\n                                }\n                              ]\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          },\n                          \"outbound_rules\": {\n                            \"items\": {\n                              \"allOf\": [\n                                {\n                                  \"properties\": {\n                                    \"ports\": {\n                                      \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                      \"example\": \"8000\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"protocol\": {\n                                      \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                      \"enum\": [\n                                        \"tcp\",\n                                        \"udp\",\n                                        \"icmp\"\n                                      ],\n                                      \"example\": \"tcp\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"protocol\",\n                                    \"ports\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                {\n                                  \"properties\": {\n                                    \"destinations\": {\n                                      \"allOf\": [\n                                        {\n                                          \"properties\": {\n                                            \"addresses\": {\n                                              \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"1.2.3.4\",\n                                                \"18.0.0.0/8\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"droplet_ids\": {\n                                              \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                8043964\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"integer\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"kubernetes_ids\": {\n                                              \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"load_balancer_uids\": {\n                                              \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"type\": \"array\"\n                                            },\n                                            \"tags\": {\n                                              \"allOf\": [\n                                                {\n                                                  \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                  \"example\": [\n                                                    \"base-image\",\n                                                    \"prod\"\n                                                  ],\n                                                  \"items\": {\n                                                    \"type\": \"string\"\n                                                  },\n                                                  \"nullable\": true,\n                                                  \"type\": \"array\"\n                                                },\n                                                {\n                                                  \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                  \"example\": [\n                                                    \"frontend\"\n                                                  ]\n                                                }\n                                              ]\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        {\n                                          \"description\": \"An object specifying locations to which outbound traffic that will be allowed.\"\n                                        }\n                                      ]\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"destinations\"\n                                  ]\n                                }\n                              ]\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ],\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"anyOf\": [\n                      {\n                        \"required\": [\n                          \"inbound_rules\"\n                        ],\n                        \"title\": \"Inbound Rules\"\n                      },\n                      {\n                        \"required\": [\n                          \"outbound_rules\"\n                        ],\n                        \"title\": \"Outbound Rules\"\n                      }\n                    ]\n                  }\n                ],\n                \"required\": [\n                  \"name\"\n                ]\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"firewall\": {\n                    \"created_at\": \"2020-05-23T21:24:00Z\",\n                    \"droplet_ids\": [\n                      8043964\n                    ],\n                    \"id\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n                    \"inbound_rules\": [\n                      {\n                        \"ports\": \"80\",\n                        \"protocol\": \"tcp\",\n                        \"sources\": {\n                          \"load_balancer_uids\": [\n                            \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                          ]\n                        }\n                      },\n                      {\n                        \"ports\": \"22\",\n                        \"protocol\": \"tcp\",\n                        \"sources\": {\n                          \"addresses\": [\n                            \"18.0.0.0/8\"\n                          ],\n                          \"tags\": [\n                            \"gateway\"\n                          ]\n                        }\n                      }\n                    ],\n                    \"name\": \"frontend-firewall\",\n                    \"outbound_rules\": [\n                      {\n                        \"destinations\": {\n                          \"addresses\": [\n                            \"0.0.0.0/0\",\n                            \"::/0\"\n                          ]\n                        },\n                        \"ports\": \"80\",\n                        \"protocol\": \"tcp\"\n                      }\n                    ],\n                    \"pending_changes\": [\n                      {\n                        \"droplet_id\": 8043964,\n                        \"removing\": false,\n                        \"status\": \"waiting\"\n                      }\n                    ],\n                    \"status\": \"waiting\",\n                    \"tags\": [\n                      \"frontend\"\n                    ]\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"firewall\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the firewall was created.\",\n                              \"example\": \"2020-05-23T21:24:00Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"droplet_ids\": {\n                              \"description\": \"An array containing the IDs of the Droplets assigned to the firewall.\",\n                              \"example\": [\n                                8043964\n                              ],\n                              \"items\": {\n                                \"type\": \"integer\"\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n                              \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-).\",\n                              \"example\": \"firewall\",\n                              \"pattern\": \"^[a-zA-Z0-9][a-zA-Z0-9\\\\.-]+$\",\n                              \"type\": \"string\"\n                            },\n                            \"pending_changes\": {\n                              \"description\": \"An array of objects each containing the fields \\\"droplet_id\\\", \\\"removing\\\", and \\\"status\\\". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.\",\n                              \"example\": [\n                                {\n                                  \"droplet_id\": 8043964,\n                                  \"removing\": false,\n                                  \"status\": \"waiting\"\n                                }\n                              ],\n                              \"items\": {\n                                \"properties\": {\n                                  \"droplet_id\": {\n                                    \"example\": 8043964,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"removing\": {\n                                    \"example\": false,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"status\": {\n                                    \"example\": \"waiting\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"readOnly\": true,\n                              \"type\": \"array\"\n                            },\n                            \"status\": {\n                              \"description\": \"A status string indicating the current state of the firewall. This can be \\\"waiting\\\", \\\"succeeded\\\", or \\\"failed\\\".\",\n                              \"enum\": [\n                                \"waiting\",\n                                \"succeeded\",\n                                \"failed\"\n                              ],\n                              \"example\": \"waiting\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"tags\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                  \"example\": [\n                                    \"base-image\",\n                                    \"prod\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"nullable\": true,\n                                  \"type\": \"array\"\n                                },\n                                {\n                                  \"description\": \"An array containing the names of the Tags assigned to the firewall.\",\n                                  \"example\": \"gateway\"\n                                }\n                              ]\n                            }\n                          }\n                        },\n                        {\n                          \"properties\": {\n                            \"inbound_rules\": {\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"ports\": {\n                                        \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                        \"example\": \"8000\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"protocol\": {\n                                        \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                        \"enum\": [\n                                          \"tcp\",\n                                          \"udp\",\n                                          \"icmp\"\n                                        ],\n                                        \"example\": \"tcp\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"protocol\",\n                                      \"ports\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"sources\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"addresses\": {\n                                                \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"1.2.3.4\",\n                                                  \"18.0.0.0/8\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"droplet_ids\": {\n                                                \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  8043964\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"kubernetes_ids\": {\n                                                \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"load_balancer_uids\": {\n                                                \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"tags\": {\n                                                \"allOf\": [\n                                                  {\n                                                    \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                    \"example\": [\n                                                      \"base-image\",\n                                                      \"prod\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"nullable\": true,\n                                                    \"type\": \"array\"\n                                                  },\n                                                  {\n                                                    \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                    \"example\": [\n                                                      \"frontend\"\n                                                    ]\n                                                  }\n                                                ]\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"description\": \"An object specifying locations from which inbound traffic will be accepted.\"\n                                          }\n                                        ]\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"sources\"\n                                    ]\n                                  }\n                                ]\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            },\n                            \"outbound_rules\": {\n                              \"items\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"ports\": {\n                                        \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                        \"example\": \"8000\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"protocol\": {\n                                        \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                        \"enum\": [\n                                          \"tcp\",\n                                          \"udp\",\n                                          \"icmp\"\n                                        ],\n                                        \"example\": \"tcp\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"protocol\",\n                                      \"ports\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"destinations\": {\n                                        \"allOf\": [\n                                          {\n                                            \"properties\": {\n                                              \"addresses\": {\n                                                \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"1.2.3.4\",\n                                                  \"18.0.0.0/8\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"droplet_ids\": {\n                                                \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  8043964\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"kubernetes_ids\": {\n                                                \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"load_balancer_uids\": {\n                                                \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                                \"example\": [\n                                                  \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                                ],\n                                                \"items\": {\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": \"array\"\n                                              },\n                                              \"tags\": {\n                                                \"allOf\": [\n                                                  {\n                                                    \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                                    \"example\": [\n                                                      \"base-image\",\n                                                      \"prod\"\n                                                    ],\n                                                    \"items\": {\n                                                      \"type\": \"string\"\n                                                    },\n                                                    \"nullable\": true,\n                                                    \"type\": \"array\"\n                                                  },\n                                                  {\n                                                    \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                                    \"example\": [\n                                                      \"frontend\"\n                                                    ]\n                                                  }\n                                                ]\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          {\n                                            \"description\": \"An object specifying locations to which outbound traffic that will be allowed.\"\n                                          }\n                                        ]\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"destinations\"\n                                    ]\n                                  }\n                                ]\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a `firewall` key. This will be set to an object containing the standard firewall attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"error parsing request body\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update a Firewall\",\n        \"tags\": [\n          \"Firewalls\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"firewall\\\",\\\"inbound_rules\\\":[{\\\"protocol\\\":\\\"tcp\\\",\\\"ports\\\":\\\"8080\\\",\\\"sources\\\":{\\\"load_balancer_uids\\\": [\\\"4de7ac8b-495b-4884-9a69-1050c6793cd6\\\"]}},{\\\"protocol\\\": \\\"tcp\\\",\\\"ports\\\": \\\"22\\\",\\\"sources\\\":{\\\"tags\\\": [\\\"gateway\\\"],\\\"addresses\\\": [\\\"18.0.0.0/8\\\"]}}],\\\"outbound_rules\\\":[{\\\"protocol\\\":\\\"tcp\\\",\\\"ports\\\":\\\"8080\\\",\\\"destinations\\\":{\\\"addresses\\\":[\\\"0.0.0.0/0\\\",\\\"::/0\\\"]}}],\\\"droplet_ids\\\":[8043964],\\\"tags\\\":[\\\"frontend\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/firewalls/bb4b2611-3d72-467b-8602-280330ecd65c\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    updateRequest := &godo.FirewallRequest{\\n        Name: 'firewall',\\n        InboundRules: []godo.InboundRule{\\n            {\\n                Protocol: 'tcp',\\n                PortRange: '8080',\\n                Sources: &godo.Sources{\\n                    LoadBalancerUIDs: []string{'4de7ac8b-495b-4884-9a69-1050c6793cd6'},\\n                },\\n            },\\n            {\\n                Protocol:  'tcp',\\n                PortRange: '22',\\n                Sources: &godo.Sources{\\n                    Addresses: []string{'18.0.0.0/8'},\\n                    Tags: []string{'gateway'},\\n                },\\n            },\\n        },\\n        OutboundRules: []godo.OutboundRule{\\n            {\\n                Protocol: 'tcp',\\n                PortRange: '8080',\\n                Destinations: &godo.Destinations{\\n                    Addresses: []string{'0.0.0.0/0', '::/0'},\\n                },\\n            },\\n        },\\n        DropletIDs: []int{8043964},\\n        Tags: []string{'frontend'}\\n    }\\n\\n    firewall, req, err := client.Firewalls.Create(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', updateRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nfirewall = DropletKit::Firewall.new(\\n  name: 'firewall',\\n  inbound_rules: [\\n    DropletKit::FirewallInboundRule.new(\\n      protocol: 'tcp',\\n      ports: '8080',\\n      sources: {\\n        load_balancer_uids: ['4de7ac8b-495b-4884-9a69-1050c6793cd6']\\n      }\\n    ),\\n    DropletKit::FirewallInboundRule.new(\\n      protocol: 'tcp',\\n      ports: '22',\\n      sources: {\\n        tags: ['gateway'],\\n        addresses: ['18.0.0.0/8']\\n      }\\n    )\\n  ],\\n  outbound_rules: [\\n    DropletKit::FirewallOutboundRule.new(\\n      protocol: 'tcp',\\n      ports: '8080',\\n      destinations: {\\n        addresses: ['0.0.0.0/0', '::/0'],\\n      }\\n    )\\n  ],\\n  droplet_ids: [8043964],\\n  tags: ['frontend']\\n)\\n\\nclient.firewalls.update(firewall, id: 'bb4b2611-3d72-467b-8602-280330ecd65c')\"\n          }\n        ]\n      }\n    },\n    \"/v2/firewalls/{firewall_id}/droplets\": {\n      \"delete\": {\n        \"description\": \"To remove a Droplet from a firewall, send a DELETE request to\\n`/v2/firewalls/$FIREWALL_ID/droplets`. In the body of the request, there should\\nbe a `droplet_ids` attribute containing a list of Droplet IDs.\\n\\nNo response body will be sent back, but the response code will indicate\\nsuccess. Specifically, the response code will be a 204, which means that the\\naction was successful with no returned body data.\\n\",\n        \"operationId\": \"firewalls_delete_droplets\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n            \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n            \"in\": \"path\",\n            \"name\": \"firewall_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"droplet_ids\": [\n                  49696269\n                ]\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"droplet_ids\": {\n                    \"description\": \"An array containing the IDs of the Droplets to be removed from the firewall.\",\n                    \"example\": [\n                      49696269\n                    ],\n                    \"items\": {\n                      \"type\": \"integer\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"required\": [\n                  \"droplet_ids\"\n                ]\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"error parsing request body\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Remove Droplets from a Firewall\",\n        \"tags\": [\n          \"Firewalls\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"droplet_ids\\\":[49696269]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/firewalls/bb4b2611-3d72-467b-8602-280330ecd65c/droplets\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Firewalls.RemoveDroplets(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', 49696269)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.firewalls.remove_droplets([49696269], id: 'bb4b2611-3d72-467b-8602-280330ecd65c')\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To assign a Droplet to a firewall, send a POST request to\\n`/v2/firewalls/$FIREWALL_ID/droplets`. In the body of the request, there\\nshould be a `droplet_ids` attribute containing a list of Droplet IDs.\\n\\nNo response body will be sent back, but the response code will indicate\\nsuccess. Specifically, the response code will be a 204, which means that the\\naction was successful with no returned body data.\\n\",\n        \"operationId\": \"firewalls_assign_droplets\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n            \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n            \"in\": \"path\",\n            \"name\": \"firewall_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"droplet_ids\": [\n                  49696269\n                ]\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"droplet_ids\": {\n                    \"description\": \"An array containing the IDs of the Droplets to be assigned to the firewall.\",\n                    \"example\": [\n                      49696269\n                    ],\n                    \"items\": {\n                      \"type\": \"integer\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"required\": [\n                  \"droplet_ids\"\n                ]\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"error parsing request body\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Add Droplets to a Firewall\",\n        \"tags\": [\n          \"Firewalls\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"droplet_ids\\\":[49696269]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/firewalls/bb4b2611-3d72-467b-8602-280330ecd65c/droplets\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Firewalls.AddDroplets(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', 49696269) \\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.firewalls.add_droplets([49696269], id: 'bb4b2611-3d72-467b-8602-280330ecd65c')\"\n          }\n        ]\n      }\n    },\n    \"/v2/firewalls/{firewall_id}/rules\": {\n      \"delete\": {\n        \"description\": \"To remove access rules from a firewall, send a DELETE request to\\n`/v2/firewalls/$FIREWALL_ID/rules`. The body of the request may include an\\n`inbound_rules` and/or `outbound_rules` attribute containing an array of rules\\nto be removed.\\n\\nNo response body will be sent back, but the response code will indicate\\nsuccess. Specifically, the response code will be a 204, which means that the\\naction was successful with no returned body data.\\n\",\n        \"operationId\": \"firewalls_delete_rules\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n            \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n            \"in\": \"path\",\n            \"name\": \"firewall_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"inbound_rules\": [\n                  {\n                    \"ports\": \"3306\",\n                    \"protocol\": \"tcp\",\n                    \"sources\": {\n                      \"droplet_ids\": [\n                        49696269\n                      ]\n                    }\n                  }\n                ],\n                \"outbound_rules\": [\n                  {\n                    \"destinations\": {\n                      \"droplet_ids\": [\n                        49696269\n                      ]\n                    },\n                    \"ports\": \"3306\",\n                    \"protocol\": \"tcp\"\n                  }\n                ]\n              },\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"inbound_rules\": {\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"ports\": {\n                                  \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                  \"example\": \"8000\",\n                                  \"type\": \"string\"\n                                },\n                                \"protocol\": {\n                                  \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                  \"enum\": [\n                                    \"tcp\",\n                                    \"udp\",\n                                    \"icmp\"\n                                  ],\n                                  \"example\": \"tcp\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"protocol\",\n                                \"ports\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"sources\": {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"addresses\": {\n                                          \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            \"1.2.3.4\",\n                                            \"18.0.0.0/8\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"droplet_ids\": {\n                                          \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            8043964\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"integer\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"kubernetes_ids\": {\n                                          \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"load_balancer_uids\": {\n                                          \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"tags\": {\n                                          \"allOf\": [\n                                            {\n                                              \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                              \"example\": [\n                                                \"base-image\",\n                                                \"prod\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"nullable\": true,\n                                              \"type\": \"array\"\n                                            },\n                                            {\n                                              \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"frontend\"\n                                              ]\n                                            }\n                                          ]\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"description\": \"An object specifying locations from which inbound traffic will be accepted.\"\n                                    }\n                                  ]\n                                }\n                              },\n                              \"required\": [\n                                \"sources\"\n                              ]\n                            }\n                          ]\n                        },\n                        \"nullable\": true,\n                        \"type\": \"array\"\n                      },\n                      \"outbound_rules\": {\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"ports\": {\n                                  \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                  \"example\": \"8000\",\n                                  \"type\": \"string\"\n                                },\n                                \"protocol\": {\n                                  \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                  \"enum\": [\n                                    \"tcp\",\n                                    \"udp\",\n                                    \"icmp\"\n                                  ],\n                                  \"example\": \"tcp\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"protocol\",\n                                \"ports\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"destinations\": {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"addresses\": {\n                                          \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            \"1.2.3.4\",\n                                            \"18.0.0.0/8\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"droplet_ids\": {\n                                          \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            8043964\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"integer\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"kubernetes_ids\": {\n                                          \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"load_balancer_uids\": {\n                                          \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"tags\": {\n                                          \"allOf\": [\n                                            {\n                                              \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                              \"example\": [\n                                                \"base-image\",\n                                                \"prod\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"nullable\": true,\n                                              \"type\": \"array\"\n                                            },\n                                            {\n                                              \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"frontend\"\n                                              ]\n                                            }\n                                          ]\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"description\": \"An object specifying locations to which outbound traffic that will be allowed.\"\n                                    }\n                                  ]\n                                }\n                              },\n                              \"required\": [\n                                \"destinations\"\n                              ]\n                            }\n                          ]\n                        },\n                        \"nullable\": true,\n                        \"type\": \"array\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"anyOf\": [\n                      {\n                        \"required\": [\n                          \"inbound_rules\"\n                        ],\n                        \"title\": \"Inbound Rules\"\n                      },\n                      {\n                        \"required\": [\n                          \"outbound_rules\"\n                        ],\n                        \"title\": \"Outbound Rules\"\n                      }\n                    ]\n                  }\n                ]\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"error parsing request body\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Remove Rules from a Firewall\",\n        \"tags\": [\n          \"Firewalls\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"inbound_rules\\\":[{\\\"protocol\\\":\\\"tcp\\\",\\\"ports\\\":\\\"3306\\\",\\\"sources\\\":{\\\"droplet_ids\\\":[49696269]}}],\\\"outbound_rules\\\":[{\\\"protocol\\\":\\\"tcp\\\",\\\"ports\\\":\\\"3306\\\",\\\"destinations\\\":{\\\"droplet_ids\\\":[49696269]}}]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/firewalls/bb4b2611-3d72-467b-8602-280330ecd65c/rules\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    ruleRequest := &godo.FirewallRulesRequest{\\n        InboundRules: []godo.InboundRule{\\n            {\\n                Protocol:      'tcp',\\n                PortRange:     '3306',\\n                Sources: &godo.Sources{\\n                    DropletIDs: []int{49696269},\\n                },\\n            },\\n        },\\n        OutboundRules: []godo.OutboundRule{\\n            {\\n                Protocol:      'tcp',\\n                PortRange:     '3306',\\n                Destinations: &godo.Destinations{\\n                    DropletIDs: []int{49696269},\\n                },\\n            },\\n        },\\n    }\\n\\n    _, err := c.Firewalls.RemoveRules(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', ruleRequest)\\n\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ninbound_rule = DropletKit::FirewallInboundRule.new(\\n  protocol: 'tcp',\\n  ports: '3306',\\n  sources: {\\n    droplet_ids: [49696269]\\n  }\\n)\\n\\noutbound_rule = DropletKit::FirewallOutboundRule.new(\\n  protocol: 'tcp',\\n  ports: '3306',\\n  destinations: {\\n    droplet_ids: [49696269]\\n  }\\n)\\n\\nclient.firewalls.remove_rules(inbound_rules: [inbound_rule], outbound_rules: [outbound_rule], id: 'bb4b2611-3d72-467b-8602-280330ecd65c')\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To add additional access rules to a firewall, send a POST request to\\n`/v2/firewalls/$FIREWALL_ID/rules`. The body of the request may include an\\ninbound_rules and/or outbound_rules attribute containing an array of rules to\\nbe added.\\n\\nNo response body will be sent back, but the response code will indicate\\nsuccess. Specifically, the response code will be a 204, which means that the\\naction was successful with no returned body data.\\n\",\n        \"operationId\": \"firewalls_add_rules\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n            \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n            \"in\": \"path\",\n            \"name\": \"firewall_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"inbound_rules\": [\n                  {\n                    \"ports\": \"3306\",\n                    \"protocol\": \"tcp\",\n                    \"sources\": {\n                      \"droplet_ids\": [\n                        49696269\n                      ]\n                    }\n                  }\n                ],\n                \"outbound_rules\": [\n                  {\n                    \"destinations\": {\n                      \"droplet_ids\": [\n                        49696269\n                      ]\n                    },\n                    \"ports\": \"3306\",\n                    \"protocol\": \"tcp\"\n                  }\n                ]\n              },\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"inbound_rules\": {\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"ports\": {\n                                  \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                  \"example\": \"8000\",\n                                  \"type\": \"string\"\n                                },\n                                \"protocol\": {\n                                  \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                  \"enum\": [\n                                    \"tcp\",\n                                    \"udp\",\n                                    \"icmp\"\n                                  ],\n                                  \"example\": \"tcp\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"protocol\",\n                                \"ports\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"sources\": {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"addresses\": {\n                                          \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            \"1.2.3.4\",\n                                            \"18.0.0.0/8\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"droplet_ids\": {\n                                          \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            8043964\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"integer\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"kubernetes_ids\": {\n                                          \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"load_balancer_uids\": {\n                                          \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"tags\": {\n                                          \"allOf\": [\n                                            {\n                                              \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                              \"example\": [\n                                                \"base-image\",\n                                                \"prod\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"nullable\": true,\n                                              \"type\": \"array\"\n                                            },\n                                            {\n                                              \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"frontend\"\n                                              ]\n                                            }\n                                          ]\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"description\": \"An object specifying locations from which inbound traffic will be accepted.\"\n                                    }\n                                  ]\n                                }\n                              },\n                              \"required\": [\n                                \"sources\"\n                              ]\n                            }\n                          ]\n                        },\n                        \"nullable\": true,\n                        \"type\": \"array\"\n                      },\n                      \"outbound_rules\": {\n                        \"items\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"ports\": {\n                                  \"description\": \"The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. \\\"8000-9000\\\"), or \\\"0\\\" when all ports are open for a protocol. For ICMP rules this parameter will always return \\\"0\\\".\",\n                                  \"example\": \"8000\",\n                                  \"type\": \"string\"\n                                },\n                                \"protocol\": {\n                                  \"description\": \"The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.\",\n                                  \"enum\": [\n                                    \"tcp\",\n                                    \"udp\",\n                                    \"icmp\"\n                                  ],\n                                  \"example\": \"tcp\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"protocol\",\n                                \"ports\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"destinations\": {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"addresses\": {\n                                          \"description\": \"An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            \"1.2.3.4\",\n                                            \"18.0.0.0/8\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"droplet_ids\": {\n                                          \"description\": \"An array containing the IDs of the Droplets to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            8043964\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"integer\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"kubernetes_ids\": {\n                                          \"description\": \"An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            \"41b74c5d-9bd0-5555-5555-a57c495b81a3\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"load_balancer_uids\": {\n                                          \"description\": \"An array containing the IDs of the load balancers to which the firewall will allow traffic.\",\n                                          \"example\": [\n                                            \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"tags\": {\n                                          \"allOf\": [\n                                            {\n                                              \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                              \"example\": [\n                                                \"base-image\",\n                                                \"prod\"\n                                              ],\n                                              \"items\": {\n                                                \"type\": \"string\"\n                                              },\n                                              \"nullable\": true,\n                                              \"type\": \"array\"\n                                            },\n                                            {\n                                              \"description\": \"An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.\",\n                                              \"example\": [\n                                                \"frontend\"\n                                              ]\n                                            }\n                                          ]\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"description\": \"An object specifying locations to which outbound traffic that will be allowed.\"\n                                    }\n                                  ]\n                                }\n                              },\n                              \"required\": [\n                                \"destinations\"\n                              ]\n                            }\n                          ]\n                        },\n                        \"nullable\": true,\n                        \"type\": \"array\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"anyOf\": [\n                      {\n                        \"required\": [\n                          \"inbound_rules\"\n                        ],\n                        \"title\": \"Inbound Rules\"\n                      },\n                      {\n                        \"required\": [\n                          \"outbound_rules\"\n                        ],\n                        \"title\": \"Outbound Rules\"\n                      }\n                    ]\n                  }\n                ]\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"error parsing request body\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Add Rules to a Firewall\",\n        \"tags\": [\n          \"Firewalls\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"inbound_rules\\\":[{\\\"protocol\\\":\\\"tcp\\\",\\\"ports\\\":\\\"3306\\\",\\\"sources\\\":{\\\"droplet_ids\\\":[49696269]}}],\\\"outbound_rules\\\":[{\\\"protocol\\\":\\\"tcp\\\",\\\"ports\\\":\\\"3306\\\",\\\"destinations\\\":{\\\"droplet_ids\\\":[49696269]}}]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/firewalls/bb4b2611-3d72-467b-8602-280330ecd65c/rules\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\nruleRequest := &godo.FirewallRulesRequest{\\n    InboundRules: []godo.InboundRule{\\n        {\\n            Protocol:      'tcp',\\n            PortRange:     '3306',\\n            Sources: &godo.Sources{\\n                DropletIDs: []int{49696269},\\n            },\\n        },\\n    },\\n    OutboundRules: []godo.OutboundRule{\\n        {\\n            Protocol:      'tcp',\\n            PortRange:     '3306',\\n            Destinations: &godo.Destinations{\\n                DropletIDs: []int{49696269},\\n            },\\n        },\\n    },\\n}\\n\\n_, err := c.Firewalls.AddRules(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', ruleRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ninbound_rule = DropletKit::FirewallInboundRule.new(\\n  protocol: 'tcp',\\n  ports: '3306',\\n  sources: {\\n    droplet_ids: [49696269]\\n  }\\n)\\n\\noutbound_rule = DropletKit::FirewallOutboundRule.new(\\n  protocol: 'tcp',\\n  ports: '3306',\\n  destinations: {\\n    droplet_ids: [49696269]\\n  }\\n)\\n\\nclient.firewalls.add_rules(inbound_rules: [inbound_rule], outbound_rules: [outbound_rule], id: 'bb4b2611-3d72-467b-8602-280330ecd65c')\"\n          }\n        ]\n      }\n    },\n    \"/v2/firewalls/{firewall_id}/tags\": {\n      \"delete\": {\n        \"description\": \"To remove a tag representing a group of Droplets from a firewall, send a\\nDELETE request to `/v2/firewalls/$FIREWALL_ID/tags`. In the body of the\\nrequest, there should be a `tags` attribute containing a list of tag names.\\n\\nNo response body will be sent back, but the response code will indicate\\nsuccess. Specifically, the response code will be a 204, which means that the\\naction was successful with no returned body data.\\n\",\n        \"operationId\": \"firewalls_delete_tags\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n            \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n            \"in\": \"path\",\n            \"name\": \"firewall_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"tags\": [\n                  \"frontend\"\n                ]\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"tags\": {\n                    \"allOf\": [\n                      {\n                        \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                        \"example\": [\n                          \"base-image\",\n                          \"prod\"\n                        ],\n                        \"items\": {\n                          \"type\": \"string\"\n                        },\n                        \"nullable\": true,\n                        \"type\": \"array\"\n                      },\n                      {\n                        \"description\": \"An array containing the names of the Tags to be removed from the firewall.\"\n                      }\n                    ]\n                  }\n                },\n                \"required\": [\n                  \"tags\"\n                ]\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"error parsing request body\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Remove Tags from a Firewall\",\n        \"tags\": [\n          \"Firewalls\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"tags\\\":[\\\"frontend\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/firewalls/bb4b2611-3d72-467b-8602-280330ecd65c/tags\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Firewalls.RemoveTags(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', 'frontend')\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.firewalls.remove_tags(['frontend'], id: 'bb4b2611-3d72-467b-8602-280330ecd65c')\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To assign a tag representing a group of Droplets to a firewall, send a POST\\nrequest to `/v2/firewalls/$FIREWALL_ID/tags`. In the body of the request,\\nthere should be a `tags` attribute containing a list of tag names.\\n\\nNo response body will be sent back, but the response code will indicate\\nsuccess. Specifically, the response code will be a 204, which means that the\\naction was successful with no returned body data.\\n\",\n        \"operationId\": \"firewalls_add_tags\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to identify and reference a firewall.\",\n            \"example\": \"bb4b2611-3d72-467b-8602-280330ecd65c\",\n            \"in\": \"path\",\n            \"name\": \"firewall_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"tags\": [\n                  \"frontend\"\n                ]\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"tags\": {\n                    \"allOf\": [\n                      {\n                        \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                        \"example\": [\n                          \"base-image\",\n                          \"prod\"\n                        ],\n                        \"items\": {\n                          \"type\": \"string\"\n                        },\n                        \"nullable\": true,\n                        \"type\": \"array\"\n                      },\n                      {\n                        \"description\": \"An array containing the names of the Tags to be assigned to the firewall.\"\n                      }\n                    ]\n                  }\n                },\n                \"required\": [\n                  \"tags\"\n                ]\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"error parsing request body\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Add Tags to a Firewall\",\n        \"tags\": [\n          \"Firewalls\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"tags\\\":[\\\"frontend\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/firewalls/bb4b2611-3d72-467b-8602-280330ecd65c/tags\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Firewalls.AddTags(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', 'frontend') \\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.firewalls.add_tags(['frontend'], id: 'bb4b2611-3d72-467b-8602-280330ecd65c')\"\n          }\n        ]\n      }\n    },\n    \"/v2/floating_ips\": {\n      \"get\": {\n        \"description\": \"To list all of the floating IPs available on your account, send a GET request to `/v2/floating_ips`.\",\n        \"operationId\": \"floatingIPs_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"floating_ips\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"droplet\": {\n                                \"anyOf\": [\n                                  {\n                                    \"description\": \"If the floating IP is not assigned to a Droplet, the value will be null.\",\n                                    \"nullable\": true,\n                                    \"title\": \"null\",\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"backup_ids\": {\n                                        \"description\": \"An array of backup IDs of any backups that have been taken of the Droplet instance.  Droplet backups are enabled at the time of the instance creation.\",\n                                        \"example\": [\n                                          53893572\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"created_at\": {\n                                        \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Droplet was created.\",\n                                        \"example\": \"2020-07-21T18:37:44Z\",\n                                        \"format\": \"date-time\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"disk\": {\n                                        \"description\": \"The size of the Droplet's disk in gigabytes.\",\n                                        \"example\": 25,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"features\": {\n                                        \"description\": \"An array of features enabled on this Droplet.\",\n                                        \"example\": [\n                                          \"backups\",\n                                          \"private_networking\",\n                                          \"ipv6\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"id\": {\n                                        \"description\": \"A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.\",\n                                        \"example\": 3164444,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"created_at\": {\n                                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                                            \"example\": \"2020-05-04T22:23:02Z\",\n                                            \"format\": \"date-time\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"description\": {\n                                            \"description\": \"An optional free-form text field to describe an image.\",\n                                            \"example\": \" \",\n                                            \"type\": \"string\"\n                                          },\n                                          \"distribution\": {\n                                            \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                                            \"enum\": [\n                                              \"Arch Linux\",\n                                              \"CentOS\",\n                                              \"CoreOS\",\n                                              \"Debian\",\n                                              \"Fedora\",\n                                              \"Fedora Atomic\",\n                                              \"FreeBSD\",\n                                              \"Gentoo\",\n                                              \"openSUSE\",\n                                              \"RancherOS\",\n                                              \"Rocky Linux\",\n                                              \"Ubuntu\",\n                                              \"Unknown\"\n                                            ],\n                                            \"example\": \"Ubuntu\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"error_message\": {\n                                            \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                                            \"example\": \" \",\n                                            \"type\": \"string\"\n                                          },\n                                          \"id\": {\n                                            \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                                            \"example\": 7555620,\n                                            \"readOnly\": true,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"min_disk_size\": {\n                                            \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                                            \"example\": 20,\n                                            \"minimum\": 0,\n                                            \"nullable\": true,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                                            \"example\": \"Nifty New Snapshot\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"public\": {\n                                            \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"regions\": {\n                                            \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                                            \"example\": [\n                                              \"nyc1\",\n                                              \"nyc2\"\n                                            ],\n                                            \"items\": {\n                                              \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                                              \"enum\": [\n                                                \"ams1\",\n                                                \"ams2\",\n                                                \"ams3\",\n                                                \"blr1\",\n                                                \"fra1\",\n                                                \"lon1\",\n                                                \"nyc1\",\n                                                \"nyc2\",\n                                                \"nyc3\",\n                                                \"sfo1\",\n                                                \"sfo2\",\n                                                \"sfo3\",\n                                                \"sgp1\",\n                                                \"tor1\"\n                                              ],\n                                              \"example\": \"nyc3\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"size_gigabytes\": {\n                                            \"description\": \"The size of the image in gigabytes.\",\n                                            \"example\": 2.34,\n                                            \"format\": \"float\",\n                                            \"nullable\": true,\n                                            \"type\": \"number\"\n                                          },\n                                          \"slug\": {\n                                            \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                                            \"example\": \"nifty1\",\n                                            \"nullable\": true,\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                                            \"enum\": [\n                                              \"NEW\",\n                                              \"available\",\n                                              \"pending\",\n                                              \"deleted\",\n                                              \"retired\"\n                                            ],\n                                            \"example\": \"NEW\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tags\": {\n                                            \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                            \"example\": [\n                                              \"base-image\",\n                                              \"prod\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"nullable\": true,\n                                            \"type\": \"array\"\n                                          },\n                                          \"type\": {\n                                            \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                                            \"enum\": [\n                                              \"base\",\n                                              \"snapshot\",\n                                              \"backup\",\n                                              \"custom\",\n                                              \"admin\"\n                                            ],\n                                            \"example\": \"snapshot\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"kernel\": {\n                                        \"deprecated\": true,\n                                        \"description\": \"**Note**: All Droplets created after March 2017 use internal kernels by default.\\nThese Droplets will have this attribute set to `null`.\\n\\nThe current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/)\\nfor Droplets with externally managed kernels. This will initially be set to\\nthe kernel of the base image when the Droplet is created.\\n\",\n                                        \"nullable\": true,\n                                        \"properties\": {\n                                          \"id\": {\n                                            \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                                            \"example\": 7515,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question.\",\n                                            \"example\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"version\": {\n                                            \"description\": \"A standard kernel version string representing the version, patch, and release information.\",\n                                            \"example\": \"2016.07.13-DigitalOcean_loader_Ubuntu\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"locked\": {\n                                        \"description\": \"A boolean value indicating whether the Droplet has been locked, preventing actions by users.\",\n                                        \"example\": false,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"memory\": {\n                                        \"description\": \"Memory of the Droplet in megabytes.\",\n                                        \"example\": 1024,\n                                        \"multipleOf\": 8,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The human-readable name set for the Droplet instance.\",\n                                        \"example\": \"example.com\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"networks\": {\n                                        \"description\": \"The details of the network that are configured for the Droplet instance.  This is an object that contains keys for IPv4 and IPv6.  The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet.  These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.\",\n                                        \"properties\": {\n                                          \"v4\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"gateway\": {\n                                                  \"description\": \"The gateway of the specified IPv4 network interface.\\n\\nFor private interfaces, a gateway is not provided. This is denoted by\\nreturning `nil` as its value.\\n\",\n                                                  \"example\": \"104.236.0.1\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"ip_address\": {\n                                                  \"description\": \"The IP address of the IPv4 network interface.\",\n                                                  \"example\": \"104.236.32.182\",\n                                                  \"format\": \"ipv4\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"netmask\": {\n                                                  \"description\": \"The netmask of the IPv4 network interface.\",\n                                                  \"example\": \"255.255.192.0\",\n                                                  \"format\": \"ipv4\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"description\": \"The type of the IPv4 network interface.\",\n                                                  \"enum\": [\n                                                    \"public\",\n                                                    \"private\"\n                                                  ],\n                                                  \"example\": \"public\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"v6\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"gateway\": {\n                                                  \"description\": \"The gateway of the specified IPv6 network interface.\",\n                                                  \"example\": \"2604:a880:0:1010::1\",\n                                                  \"format\": \"ipv6\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"ip_address\": {\n                                                  \"description\": \"The IP address of the IPv6 network interface.\",\n                                                  \"example\": \"2604:a880:0:1010::18a:a001\",\n                                                  \"format\": \"ipv6\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"netmask\": {\n                                                  \"description\": \"The netmask of the IPv6 network interface.\",\n                                                  \"example\": 64,\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": {\n                                                  \"description\": \"The type of the IPv6 network interface.\\n\\n**Note**: IPv6 private  networking is not currently supported.\\n\",\n                                                  \"enum\": [\n                                                    \"public\"\n                                                  ],\n                                                  \"example\": \"public\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"next_backup_window\": {\n                                        \"description\": \"The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.\",\n                                        \"nullable\": true,\n                                        \"properties\": {\n                                          \"end\": {\n                                            \"description\": \"A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window.\",\n                                            \"example\": \"2019-12-04T23:00:00Z\",\n                                            \"format\": \"date-time\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"start\": {\n                                            \"description\": \"A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window.\",\n                                            \"example\": \"2019-12-04T00:00:00Z\",\n                                            \"format\": \"date-time\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"region\": {\n                                        \"properties\": {\n                                          \"available\": {\n                                            \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"features\": {\n                                            \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                            \"example\": [\n                                              \"private_networking\",\n                                              \"backups\",\n                                              \"ipv6\",\n                                              \"metadata\",\n                                              \"install_agent\",\n                                              \"storage\",\n                                              \"image_transfer\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                            \"example\": \"New York 3\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"sizes\": {\n                                            \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                            \"example\": [\n                                              \"s-1vcpu-1gb\",\n                                              \"s-1vcpu-2gb\",\n                                              \"s-1vcpu-3gb\",\n                                              \"s-2vcpu-2gb\",\n                                              \"s-3vcpu-1gb\",\n                                              \"s-2vcpu-4gb\",\n                                              \"s-4vcpu-8gb\",\n                                              \"s-6vcpu-16gb\",\n                                              \"s-8vcpu-32gb\",\n                                              \"s-12vcpu-48gb\",\n                                              \"s-16vcpu-64gb\",\n                                              \"s-20vcpu-96gb\",\n                                              \"s-24vcpu-128gb\",\n                                              \"s-32vcpu-192g\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"slug\": {\n                                            \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                            \"example\": \"nyc3\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"available\",\n                                          \"features\",\n                                          \"name\",\n                                          \"sizes\",\n                                          \"slug\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"size\": {\n                                        \"properties\": {\n                                          \"available\": {\n                                            \"default\": true,\n                                            \"description\": \"This is a boolean value that represents whether new Droplets can be created with this size.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"description\": {\n                                            \"description\": \"A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.\",\n                                            \"example\": \"Basic\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"disk\": {\n                                            \"description\": \"The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes.\",\n                                            \"example\": 25,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"memory\": {\n                                            \"description\": \"The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes.\",\n                                            \"example\": 1024,\n                                            \"minimum\": 8,\n                                            \"multipleOf\": 8,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"price_hourly\": {\n                                            \"description\": \"This describes the price of the Droplet size as measured hourly. The value is measured in US dollars.\",\n                                            \"example\": 0.00743999984115362,\n                                            \"format\": \"float\",\n                                            \"type\": \"number\"\n                                          },\n                                          \"price_monthly\": {\n                                            \"description\": \"This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars.\",\n                                            \"example\": 5,\n                                            \"format\": \"float\",\n                                            \"type\": \"number\"\n                                          },\n                                          \"regions\": {\n                                            \"description\": \"An array containing the region slugs where this size is available for Droplet creates.\",\n                                            \"example\": [\n                                              \"ams2\",\n                                              \"ams3\",\n                                              \"blr1\",\n                                              \"fra1\",\n                                              \"lon1\",\n                                              \"nyc1\",\n                                              \"nyc2\",\n                                              \"nyc3\",\n                                              \"sfo1\",\n                                              \"sfo2\",\n                                              \"sfo3\",\n                                              \"sgp1\",\n                                              \"tor1\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"slug\": {\n                                            \"description\": \"A human-readable string that is used to uniquely identify each size.\",\n                                            \"example\": \"s-1vcpu-1gb\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"transfer\": {\n                                            \"description\": \"The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes.\",\n                                            \"example\": 1,\n                                            \"format\": \"float\",\n                                            \"type\": \"number\"\n                                          },\n                                          \"vcpus\": {\n                                            \"description\": \"The integer of number CPUs allocated to Droplets of this size.\",\n                                            \"example\": 1,\n                                            \"type\": \"integer\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"available\",\n                                          \"disk\",\n                                          \"memory\",\n                                          \"price_hourly\",\n                                          \"price_monthly\",\n                                          \"regions\",\n                                          \"slug\",\n                                          \"transfer\",\n                                          \"vcpus\",\n                                          \"description\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"size_slug\": {\n                                        \"description\": \"The unique slug identifier for the size of this Droplet.\",\n                                        \"example\": \"s-1vcpu-1gb\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"snapshot_ids\": {\n                                        \"description\": \"An array of snapshot IDs of any snapshots created from the Droplet instance.\",\n                                        \"example\": [\n                                          67512819\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"status\": {\n                                        \"description\": \"A status string indicating the state of the Droplet instance. This may be \\\"new\\\", \\\"active\\\", \\\"off\\\", or \\\"archive\\\".\",\n                                        \"enum\": [\n                                          \"new\",\n                                          \"active\",\n                                          \"off\",\n                                          \"archive\"\n                                        ],\n                                        \"example\": \"active\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"tags\": {\n                                        \"description\": \"An array of Tags the Droplet has been tagged with.\",\n                                        \"example\": [\n                                          \"web\",\n                                          \"env:prod\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"vcpus\": {\n                                        \"description\": \"The number of virtual CPUs.\",\n                                        \"example\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"volume_ids\": {\n                                        \"description\": \"A flat array including the unique identifier for each Block Storage volume attached to the Droplet.\",\n                                        \"example\": [\n                                          \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"vpc_uuid\": {\n                                        \"description\": \"A string specifying the UUID of the VPC to which the Droplet is assigned.\",\n                                        \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"id\",\n                                      \"name\",\n                                      \"memory\",\n                                      \"vcpus\",\n                                      \"disk\",\n                                      \"locked\",\n                                      \"status\",\n                                      \"created_at\",\n                                      \"features\",\n                                      \"backup_ids\",\n                                      \"next_backup_window\",\n                                      \"snapshot_ids\",\n                                      \"image\",\n                                      \"volume_ids\",\n                                      \"size\",\n                                      \"size_slug\",\n                                      \"networks\",\n                                      \"region\",\n                                      \"tags\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"description\": \"The Droplet that the floating IP has been assigned to. When you query a floating IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.\",\n                                \"example\": null\n                              },\n                              \"ip\": {\n                                \"description\": \"The public IP address of the floating IP. It also serves as its identifier.\",\n                                \"example\": \"45.55.96.47\",\n                                \"format\": \"ipv4\",\n                                \"type\": \"string\"\n                              },\n                              \"locked\": {\n                                \"description\": \"A boolean value indicating whether or not the floating IP has pending actions preventing new ones from being submitted.\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"project_id\": {\n                                \"description\": \"The UUID of the project to which the reserved IP currently belongs.\",\n                                \"example\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                                \"format\": \"uuid\",\n                                \"type\": \"string\"\n                              },\n                              \"region\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"available\": {\n                                        \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"features\": {\n                                        \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                        \"example\": [\n                                          \"private_networking\",\n                                          \"backups\",\n                                          \"ipv6\",\n                                          \"metadata\",\n                                          \"install_agent\",\n                                          \"storage\",\n                                          \"image_transfer\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                        \"example\": \"New York 3\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"sizes\": {\n                                        \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                        \"example\": [\n                                          \"s-1vcpu-1gb\",\n                                          \"s-1vcpu-2gb\",\n                                          \"s-1vcpu-3gb\",\n                                          \"s-2vcpu-2gb\",\n                                          \"s-3vcpu-1gb\",\n                                          \"s-2vcpu-4gb\",\n                                          \"s-4vcpu-8gb\",\n                                          \"s-6vcpu-16gb\",\n                                          \"s-8vcpu-32gb\",\n                                          \"s-12vcpu-48gb\",\n                                          \"s-16vcpu-64gb\",\n                                          \"s-20vcpu-96gb\",\n                                          \"s-24vcpu-128gb\",\n                                          \"s-32vcpu-192g\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"slug\": {\n                                        \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                        \"example\": \"nyc3\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"available\",\n                                      \"features\",\n                                      \"name\",\n                                      \"sizes\",\n                                      \"slug\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"description\": \"The region that the floating IP is reserved to. When you query a floating IP, the entire region object will be returned.\",\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"floating_ips\": [\n                      {\n                        \"droplet\": null,\n                        \"ip\": \"45.55.96.47\",\n                        \"locked\": false,\n                        \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        }\n                      }\n                    ],\n                    \"links\": {},\n                    \"meta\": {\n                      \"total\": 1\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `floating_ips`. This will be set to an array of floating IP objects, each of which will contain the standard floating IP attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Floating IPs\",\n        \"tags\": [\n          \"Floating IPs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/floating_ips?page=1&per_page=20\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    floatingIPs, _, err := client.FloatingIPs.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nfloating_ips = client.floating_ips.all\\nfloating_ips.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"On creation, a floating IP must be either assigned to a Droplet or reserved to a region.\\n* To create a new floating IP assigned to a Droplet, send a POST\\n  request to `/v2/floating_ips` with the `droplet_id` attribute.\\n\\n* To create a new floating IP reserved to a region, send a POST request to\\n  `/v2/floating_ips` with the `region` attribute.\\n\\n**Note**:  In addition to the standard rate limiting, only 12 floating IPs may be created per 60 seconds.\",\n        \"operationId\": \"floatingIPs_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"oneOf\": [\n                  {\n                    \"properties\": {\n                      \"droplet_id\": {\n                        \"description\": \"The ID of the Droplet that the floating IP will be assigned to.\",\n                        \"example\": 2457247,\n                        \"type\": \"integer\"\n                      }\n                    },\n                    \"required\": [\n                      \"droplet_id\"\n                    ],\n                    \"title\": \"Assign to Droplet\",\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"properties\": {\n                      \"project_id\": {\n                        \"description\": \"The UUID of the project to which the floating IP will be assigned.\",\n                        \"example\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                        \"format\": \"uuid\",\n                        \"type\": \"string\"\n                      },\n                      \"region\": {\n                        \"description\": \"The slug identifier for the region the floating IP will be reserved to.\",\n                        \"example\": \"nyc3\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"required\": [\n                      \"region\"\n                    ],\n                    \"title\": \"Reserve to Region\",\n                    \"type\": \"object\"\n                  }\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"202\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"floating_ip_assigning\": {\n                    \"summary\": \"Assigning to Droplet\",\n                    \"value\": {\n                      \"floating_ip\": {\n                        \"droplet\": null,\n                        \"ip\": \"45.55.96.47\",\n                        \"locked\": true,\n                        \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        }\n                      },\n                      \"links\": {\n                        \"actions\": [\n                          {\n                            \"href\": \"https://api.digitalocean.com/v2/actions/1088924622\",\n                            \"id\": 1088924622,\n                            \"rel\": \"assign_ip\"\n                          }\n                        ],\n                        \"droplets\": [\n                          {\n                            \"href\": \"https://api.digitalocean.com/v2/droplets/213939433\",\n                            \"id\": 213939433,\n                            \"rel\": \"droplet\"\n                          }\n                        ]\n                      }\n                    }\n                  },\n                  \"floating_ip_reserving\": {\n                    \"summary\": \"Reserving to Region\",\n                    \"value\": {\n                      \"floating_ip\": {\n                        \"droplet\": null,\n                        \"ip\": \"45.55.96.47\",\n                        \"locked\": false,\n                        \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        }\n                      },\n                      \"links\": {}\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"floating_ip\": {\n                      \"properties\": {\n                        \"droplet\": {\n                          \"anyOf\": [\n                            {\n                              \"description\": \"If the floating IP is not assigned to a Droplet, the value will be null.\",\n                              \"nullable\": true,\n                              \"title\": \"null\",\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"backup_ids\": {\n                                  \"description\": \"An array of backup IDs of any backups that have been taken of the Droplet instance.  Droplet backups are enabled at the time of the instance creation.\",\n                                  \"example\": [\n                                    53893572\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"created_at\": {\n                                  \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Droplet was created.\",\n                                  \"example\": \"2020-07-21T18:37:44Z\",\n                                  \"format\": \"date-time\",\n                                  \"type\": \"string\"\n                                },\n                                \"disk\": {\n                                  \"description\": \"The size of the Droplet's disk in gigabytes.\",\n                                  \"example\": 25,\n                                  \"type\": \"integer\"\n                                },\n                                \"features\": {\n                                  \"description\": \"An array of features enabled on this Droplet.\",\n                                  \"example\": [\n                                    \"backups\",\n                                    \"private_networking\",\n                                    \"ipv6\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"id\": {\n                                  \"description\": \"A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.\",\n                                  \"example\": 3164444,\n                                  \"type\": \"integer\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"created_at\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                                      \"example\": \"2020-05-04T22:23:02Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"description\": {\n                                      \"description\": \"An optional free-form text field to describe an image.\",\n                                      \"example\": \" \",\n                                      \"type\": \"string\"\n                                    },\n                                    \"distribution\": {\n                                      \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                                      \"enum\": [\n                                        \"Arch Linux\",\n                                        \"CentOS\",\n                                        \"CoreOS\",\n                                        \"Debian\",\n                                        \"Fedora\",\n                                        \"Fedora Atomic\",\n                                        \"FreeBSD\",\n                                        \"Gentoo\",\n                                        \"openSUSE\",\n                                        \"RancherOS\",\n                                        \"Rocky Linux\",\n                                        \"Ubuntu\",\n                                        \"Unknown\"\n                                      ],\n                                      \"example\": \"Ubuntu\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"error_message\": {\n                                      \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                                      \"example\": \" \",\n                                      \"type\": \"string\"\n                                    },\n                                    \"id\": {\n                                      \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                                      \"example\": 7555620,\n                                      \"readOnly\": true,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"min_disk_size\": {\n                                      \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                                      \"example\": 20,\n                                      \"minimum\": 0,\n                                      \"nullable\": true,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                                      \"example\": \"Nifty New Snapshot\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"public\": {\n                                      \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"regions\": {\n                                      \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                                      \"example\": [\n                                        \"nyc1\",\n                                        \"nyc2\"\n                                      ],\n                                      \"items\": {\n                                        \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                                        \"enum\": [\n                                          \"ams1\",\n                                          \"ams2\",\n                                          \"ams3\",\n                                          \"blr1\",\n                                          \"fra1\",\n                                          \"lon1\",\n                                          \"nyc1\",\n                                          \"nyc2\",\n                                          \"nyc3\",\n                                          \"sfo1\",\n                                          \"sfo2\",\n                                          \"sfo3\",\n                                          \"sgp1\",\n                                          \"tor1\"\n                                        ],\n                                        \"example\": \"nyc3\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"size_gigabytes\": {\n                                      \"description\": \"The size of the image in gigabytes.\",\n                                      \"example\": 2.34,\n                                      \"format\": \"float\",\n                                      \"nullable\": true,\n                                      \"type\": \"number\"\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                                      \"example\": \"nifty1\",\n                                      \"nullable\": true,\n                                      \"type\": \"string\"\n                                    },\n                                    \"status\": {\n                                      \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                                      \"enum\": [\n                                        \"NEW\",\n                                        \"available\",\n                                        \"pending\",\n                                        \"deleted\",\n                                        \"retired\"\n                                      ],\n                                      \"example\": \"NEW\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tags\": {\n                                      \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                      \"example\": [\n                                        \"base-image\",\n                                        \"prod\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"nullable\": true,\n                                      \"type\": \"array\"\n                                    },\n                                    \"type\": {\n                                      \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                                      \"enum\": [\n                                        \"base\",\n                                        \"snapshot\",\n                                        \"backup\",\n                                        \"custom\",\n                                        \"admin\"\n                                      ],\n                                      \"example\": \"snapshot\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"kernel\": {\n                                  \"deprecated\": true,\n                                  \"description\": \"**Note**: All Droplets created after March 2017 use internal kernels by default.\\nThese Droplets will have this attribute set to `null`.\\n\\nThe current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/)\\nfor Droplets with externally managed kernels. This will initially be set to\\nthe kernel of the base image when the Droplet is created.\\n\",\n                                  \"nullable\": true,\n                                  \"properties\": {\n                                    \"id\": {\n                                      \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                                      \"example\": 7515,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question.\",\n                                      \"example\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"version\": {\n                                      \"description\": \"A standard kernel version string representing the version, patch, and release information.\",\n                                      \"example\": \"2016.07.13-DigitalOcean_loader_Ubuntu\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"locked\": {\n                                  \"description\": \"A boolean value indicating whether the Droplet has been locked, preventing actions by users.\",\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                },\n                                \"memory\": {\n                                  \"description\": \"Memory of the Droplet in megabytes.\",\n                                  \"example\": 1024,\n                                  \"multipleOf\": 8,\n                                  \"type\": \"integer\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The human-readable name set for the Droplet instance.\",\n                                  \"example\": \"example.com\",\n                                  \"type\": \"string\"\n                                },\n                                \"networks\": {\n                                  \"description\": \"The details of the network that are configured for the Droplet instance.  This is an object that contains keys for IPv4 and IPv6.  The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet.  These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.\",\n                                  \"properties\": {\n                                    \"v4\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"gateway\": {\n                                            \"description\": \"The gateway of the specified IPv4 network interface.\\n\\nFor private interfaces, a gateway is not provided. This is denoted by\\nreturning `nil` as its value.\\n\",\n                                            \"example\": \"104.236.0.1\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ip_address\": {\n                                            \"description\": \"The IP address of the IPv4 network interface.\",\n                                            \"example\": \"104.236.32.182\",\n                                            \"format\": \"ipv4\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"netmask\": {\n                                            \"description\": \"The netmask of the IPv4 network interface.\",\n                                            \"example\": \"255.255.192.0\",\n                                            \"format\": \"ipv4\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": {\n                                            \"description\": \"The type of the IPv4 network interface.\",\n                                            \"enum\": [\n                                              \"public\",\n                                              \"private\"\n                                            ],\n                                            \"example\": \"public\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"v6\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"gateway\": {\n                                            \"description\": \"The gateway of the specified IPv6 network interface.\",\n                                            \"example\": \"2604:a880:0:1010::1\",\n                                            \"format\": \"ipv6\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ip_address\": {\n                                            \"description\": \"The IP address of the IPv6 network interface.\",\n                                            \"example\": \"2604:a880:0:1010::18a:a001\",\n                                            \"format\": \"ipv6\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"netmask\": {\n                                            \"description\": \"The netmask of the IPv6 network interface.\",\n                                            \"example\": 64,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"type\": {\n                                            \"description\": \"The type of the IPv6 network interface.\\n\\n**Note**: IPv6 private  networking is not currently supported.\\n\",\n                                            \"enum\": [\n                                              \"public\"\n                                            ],\n                                            \"example\": \"public\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"next_backup_window\": {\n                                  \"description\": \"The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.\",\n                                  \"nullable\": true,\n                                  \"properties\": {\n                                    \"end\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window.\",\n                                      \"example\": \"2019-12-04T23:00:00Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"start\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window.\",\n                                      \"example\": \"2019-12-04T00:00:00Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"region\": {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"features\": {\n                                      \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                      \"example\": [\n                                        \"private_networking\",\n                                        \"backups\",\n                                        \"ipv6\",\n                                        \"metadata\",\n                                        \"install_agent\",\n                                        \"storage\",\n                                        \"image_transfer\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                      \"example\": \"New York 3\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"sizes\": {\n                                      \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                      \"example\": [\n                                        \"s-1vcpu-1gb\",\n                                        \"s-1vcpu-2gb\",\n                                        \"s-1vcpu-3gb\",\n                                        \"s-2vcpu-2gb\",\n                                        \"s-3vcpu-1gb\",\n                                        \"s-2vcpu-4gb\",\n                                        \"s-4vcpu-8gb\",\n                                        \"s-6vcpu-16gb\",\n                                        \"s-8vcpu-32gb\",\n                                        \"s-12vcpu-48gb\",\n                                        \"s-16vcpu-64gb\",\n                                        \"s-20vcpu-96gb\",\n                                        \"s-24vcpu-128gb\",\n                                        \"s-32vcpu-192g\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                      \"example\": \"nyc3\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"features\",\n                                    \"name\",\n                                    \"sizes\",\n                                    \"slug\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"size\": {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"default\": true,\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created with this size.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"description\": {\n                                      \"description\": \"A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.\",\n                                      \"example\": \"Basic\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"disk\": {\n                                      \"description\": \"The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes.\",\n                                      \"example\": 25,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"memory\": {\n                                      \"description\": \"The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes.\",\n                                      \"example\": 1024,\n                                      \"minimum\": 8,\n                                      \"multipleOf\": 8,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"price_hourly\": {\n                                      \"description\": \"This describes the price of the Droplet size as measured hourly. The value is measured in US dollars.\",\n                                      \"example\": 0.00743999984115362,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"price_monthly\": {\n                                      \"description\": \"This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars.\",\n                                      \"example\": 5,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"regions\": {\n                                      \"description\": \"An array containing the region slugs where this size is available for Droplet creates.\",\n                                      \"example\": [\n                                        \"ams2\",\n                                        \"ams3\",\n                                        \"blr1\",\n                                        \"fra1\",\n                                        \"lon1\",\n                                        \"nyc1\",\n                                        \"nyc2\",\n                                        \"nyc3\",\n                                        \"sfo1\",\n                                        \"sfo2\",\n                                        \"sfo3\",\n                                        \"sgp1\",\n                                        \"tor1\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used to uniquely identify each size.\",\n                                      \"example\": \"s-1vcpu-1gb\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"transfer\": {\n                                      \"description\": \"The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes.\",\n                                      \"example\": 1,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"vcpus\": {\n                                      \"description\": \"The integer of number CPUs allocated to Droplets of this size.\",\n                                      \"example\": 1,\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"disk\",\n                                    \"memory\",\n                                    \"price_hourly\",\n                                    \"price_monthly\",\n                                    \"regions\",\n                                    \"slug\",\n                                    \"transfer\",\n                                    \"vcpus\",\n                                    \"description\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"size_slug\": {\n                                  \"description\": \"The unique slug identifier for the size of this Droplet.\",\n                                  \"example\": \"s-1vcpu-1gb\",\n                                  \"type\": \"string\"\n                                },\n                                \"snapshot_ids\": {\n                                  \"description\": \"An array of snapshot IDs of any snapshots created from the Droplet instance.\",\n                                  \"example\": [\n                                    67512819\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"status\": {\n                                  \"description\": \"A status string indicating the state of the Droplet instance. This may be \\\"new\\\", \\\"active\\\", \\\"off\\\", or \\\"archive\\\".\",\n                                  \"enum\": [\n                                    \"new\",\n                                    \"active\",\n                                    \"off\",\n                                    \"archive\"\n                                  ],\n                                  \"example\": \"active\",\n                                  \"type\": \"string\"\n                                },\n                                \"tags\": {\n                                  \"description\": \"An array of Tags the Droplet has been tagged with.\",\n                                  \"example\": [\n                                    \"web\",\n                                    \"env:prod\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"vcpus\": {\n                                  \"description\": \"The number of virtual CPUs.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"volume_ids\": {\n                                  \"description\": \"A flat array including the unique identifier for each Block Storage volume attached to the Droplet.\",\n                                  \"example\": [\n                                    \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"vpc_uuid\": {\n                                  \"description\": \"A string specifying the UUID of the VPC to which the Droplet is assigned.\",\n                                  \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"id\",\n                                \"name\",\n                                \"memory\",\n                                \"vcpus\",\n                                \"disk\",\n                                \"locked\",\n                                \"status\",\n                                \"created_at\",\n                                \"features\",\n                                \"backup_ids\",\n                                \"next_backup_window\",\n                                \"snapshot_ids\",\n                                \"image\",\n                                \"volume_ids\",\n                                \"size\",\n                                \"size_slug\",\n                                \"networks\",\n                                \"region\",\n                                \"tags\"\n                              ],\n                              \"type\": \"object\"\n                            }\n                          ],\n                          \"description\": \"The Droplet that the floating IP has been assigned to. When you query a floating IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.\",\n                          \"example\": null\n                        },\n                        \"ip\": {\n                          \"description\": \"The public IP address of the floating IP. It also serves as its identifier.\",\n                          \"example\": \"45.55.96.47\",\n                          \"format\": \"ipv4\",\n                          \"type\": \"string\"\n                        },\n                        \"locked\": {\n                          \"description\": \"A boolean value indicating whether or not the floating IP has pending actions preventing new ones from being submitted.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"project_id\": {\n                          \"description\": \"The UUID of the project to which the reserved IP currently belongs.\",\n                          \"example\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                          \"format\": \"uuid\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"available\": {\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"features\": {\n                                  \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                  \"example\": [\n                                    \"private_networking\",\n                                    \"backups\",\n                                    \"ipv6\",\n                                    \"metadata\",\n                                    \"install_agent\",\n                                    \"storage\",\n                                    \"image_transfer\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                  \"example\": \"New York 3\",\n                                  \"type\": \"string\"\n                                },\n                                \"sizes\": {\n                                  \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                  \"example\": [\n                                    \"s-1vcpu-1gb\",\n                                    \"s-1vcpu-2gb\",\n                                    \"s-1vcpu-3gb\",\n                                    \"s-2vcpu-2gb\",\n                                    \"s-3vcpu-1gb\",\n                                    \"s-2vcpu-4gb\",\n                                    \"s-4vcpu-8gb\",\n                                    \"s-6vcpu-16gb\",\n                                    \"s-8vcpu-32gb\",\n                                    \"s-12vcpu-48gb\",\n                                    \"s-16vcpu-64gb\",\n                                    \"s-20vcpu-96gb\",\n                                    \"s-24vcpu-128gb\",\n                                    \"s-32vcpu-192g\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"features\",\n                                \"name\",\n                                \"sizes\",\n                                \"slug\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"description\": \"The region that the floating IP is reserved to. When you query a floating IP, the entire region object will be returned.\",\n                              \"type\": \"object\"\n                            }\n                          ]\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    \"links\": {\n                      \"properties\": {\n                        \"actions\": {\n                          \"items\": {\n                            \"description\": \"The linked actions can be used to check the status of a Droplet's create event.\",\n                            \"properties\": {\n                              \"href\": {\n                                \"description\": \"A URL that can be used to access the action.\",\n                                \"example\": \"https://api.digitalocean.com/v2/actions/7515\",\n                                \"format\": \"uri\",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                                \"example\": 7515,\n                                \"type\": \"integer\"\n                              },\n                              \"rel\": {\n                                \"description\": \"A string specifying the type of the related action.\",\n                                \"example\": \"create\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"droplets\": {\n                          \"items\": {\n                            \"description\": \"The linked actions can be used to check the status of a Droplet's create event.\",\n                            \"properties\": {\n                              \"href\": {\n                                \"description\": \"A URL that can be used to access the action.\",\n                                \"example\": \"https://api.digitalocean.com/v2/actions/7515\",\n                                \"format\": \"uri\",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                                \"example\": 7515,\n                                \"type\": \"integer\"\n                              },\n                              \"rel\": {\n                                \"description\": \"A string specifying the type of the related action.\",\n                                \"example\": \"create\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `floating_ip`. The value of this will be an object that contains the standard attributes associated with a floating IP.\\nWhen assigning a floating IP to a Droplet at same time as it created, the response's `links` object will contain links to both the Droplet and the assignment action. The latter can be used to check the status of the action.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Floating IP\",\n        \"tags\": [\n          \"Floating IPs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"droplet_id\\\": 123456}' \\\\\\n  \\\"https://api.digitalocean.com/v2/floating_ips\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &godo.FloatingIPCreateRequest{\\n        DropletID: 123456,\\n\\n    }\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nfloating_ip = DropletKit::FloatingIp.new(droplet_id: 123456)\\nclient.floating_ips.create(floating_ip) \"\n          }\n        ]\n      }\n    },\n    \"/v2/floating_ips/{floating_ip}\": {\n      \"delete\": {\n        \"description\": \"To delete a floating IP and remove it from your account, send a DELETE request\\nto `/v2/floating_ips/$FLOATING_IP_ADDR`.\\n\\nA successful request will receive a 204 status code with no body in response.\\nThis indicates that the request was processed successfully.\\n\",\n        \"operationId\": \"floatingIPs_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"A floating IP address.\",\n            \"example\": \"45.55.96.47\",\n            \"in\": \"path\",\n            \"name\": \"floating_ip\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"ipv4\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Floating IP\",\n        \"tags\": [\n          \"Floating IPs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/floating_ips/45.55.96.47\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.FloatingIPs.Delete(ctx, \\\"45.55.96.34\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.floating_ips.delete(ip: '45.55.96.47') \"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP_ADDR`.\",\n        \"operationId\": \"floatingIPs_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A floating IP address.\",\n            \"example\": \"45.55.96.47\",\n            \"in\": \"path\",\n            \"name\": \"floating_ip\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"ipv4\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"floating_ip_assigned\": {\n                    \"summary\": \"Assigned to Droplet\",\n                    \"value\": {\n                      \"floating_ip\": {\n                        \"droplet\": {\n                          \"backup_ids\": [\n                            53893572\n                          ],\n                          \"created_at\": \"2020-07-21T18:37:44Z\",\n                          \"disk\": 25,\n                          \"features\": [\n                            \"backups\",\n                            \"private_networking\",\n                            \"ipv6\"\n                          ],\n                          \"id\": 3164444,\n                          \"image\": {\n                            \"created_at\": \"2020-05-15T05:47:50Z\",\n                            \"description\": \"\",\n                            \"distribution\": \"Ubuntu\",\n                            \"error_message\": \"\",\n                            \"id\": 63663980,\n                            \"min_disk_size\": 20,\n                            \"name\": \"20.04 (LTS) x64\",\n                            \"public\": true,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"size_gigabytes\": 2.36,\n                            \"slug\": \"ubuntu-20-04-x64\",\n                            \"status\": \"available\",\n                            \"tags\": [],\n                            \"type\": \"base\"\n                          },\n                          \"kernel\": null,\n                          \"locked\": false,\n                          \"memory\": 1024,\n                          \"name\": \"example.com\",\n                          \"networks\": {\n                            \"v4\": [\n                              {\n                                \"gateway\": \"nil\",\n                                \"ip_address\": \"10.128.192.124\",\n                                \"netmask\": \"255.255.0.0\",\n                                \"type\": \"private\"\n                              },\n                              {\n                                \"gateway\": \"192.241.165.1\",\n                                \"ip_address\": \"192.241.165.154\",\n                                \"netmask\": \"255.255.255.0\",\n                                \"type\": \"public\"\n                              }\n                            ],\n                            \"v6\": [\n                              {\n                                \"gateway\": \"2604:a880:0:1010::1\",\n                                \"ip_address\": \"2604:a880:0:1010::18a:a001\",\n                                \"netmask\": 64,\n                                \"type\": \"public\"\n                              }\n                            ]\n                          },\n                          \"next_backup_window\": {\n                            \"end\": \"2020-07-30T23:00:00Z\",\n                            \"start\": \"2020-07-30T00:00:00Z\"\n                          },\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\",\n                              \"install_agent\",\n                              \"storage\",\n                              \"image_transfer\"\n                            ],\n                            \"name\": \"New York 3\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192g\"\n                            ],\n                            \"slug\": \"nyc3\"\n                          },\n                          \"size\": {\n                            \"available\": true,\n                            \"description\": \"Basic\",\n                            \"disk\": 25,\n                            \"memory\": 1024,\n                            \"price_hourly\": 0.00743999984115362,\n                            \"price_monthly\": 5,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"slug\": \"s-1vcpu-1gb\",\n                            \"transfer\": 1,\n                            \"vcpus\": 1\n                          },\n                          \"size_slug\": \"s-1vcpu-1gb\",\n                          \"snapshot_ids\": [\n                            67512819\n                          ],\n                          \"status\": \"active\",\n                          \"tags\": [\n                            \"web\",\n                            \"env:prod\"\n                          ],\n                          \"vcpus\": 1,\n                          \"volume_ids\": [],\n                          \"vpc_uuid\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\"\n                        },\n                        \"ip\": \"45.55.96.47\",\n                        \"locked\": false,\n                        \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        }\n                      }\n                    }\n                  },\n                  \"floating_ip_reserved\": {\n                    \"summary\": \"Reserved to Region\",\n                    \"value\": {\n                      \"floating_ip\": {\n                        \"droplet\": null,\n                        \"ip\": \"45.55.96.47\",\n                        \"locked\": false,\n                        \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        }\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"floating_ip\": {\n                      \"properties\": {\n                        \"droplet\": {\n                          \"anyOf\": [\n                            {\n                              \"description\": \"If the floating IP is not assigned to a Droplet, the value will be null.\",\n                              \"nullable\": true,\n                              \"title\": \"null\",\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"backup_ids\": {\n                                  \"description\": \"An array of backup IDs of any backups that have been taken of the Droplet instance.  Droplet backups are enabled at the time of the instance creation.\",\n                                  \"example\": [\n                                    53893572\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"created_at\": {\n                                  \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Droplet was created.\",\n                                  \"example\": \"2020-07-21T18:37:44Z\",\n                                  \"format\": \"date-time\",\n                                  \"type\": \"string\"\n                                },\n                                \"disk\": {\n                                  \"description\": \"The size of the Droplet's disk in gigabytes.\",\n                                  \"example\": 25,\n                                  \"type\": \"integer\"\n                                },\n                                \"features\": {\n                                  \"description\": \"An array of features enabled on this Droplet.\",\n                                  \"example\": [\n                                    \"backups\",\n                                    \"private_networking\",\n                                    \"ipv6\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"id\": {\n                                  \"description\": \"A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.\",\n                                  \"example\": 3164444,\n                                  \"type\": \"integer\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"created_at\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                                      \"example\": \"2020-05-04T22:23:02Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"description\": {\n                                      \"description\": \"An optional free-form text field to describe an image.\",\n                                      \"example\": \" \",\n                                      \"type\": \"string\"\n                                    },\n                                    \"distribution\": {\n                                      \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                                      \"enum\": [\n                                        \"Arch Linux\",\n                                        \"CentOS\",\n                                        \"CoreOS\",\n                                        \"Debian\",\n                                        \"Fedora\",\n                                        \"Fedora Atomic\",\n                                        \"FreeBSD\",\n                                        \"Gentoo\",\n                                        \"openSUSE\",\n                                        \"RancherOS\",\n                                        \"Rocky Linux\",\n                                        \"Ubuntu\",\n                                        \"Unknown\"\n                                      ],\n                                      \"example\": \"Ubuntu\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"error_message\": {\n                                      \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                                      \"example\": \" \",\n                                      \"type\": \"string\"\n                                    },\n                                    \"id\": {\n                                      \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                                      \"example\": 7555620,\n                                      \"readOnly\": true,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"min_disk_size\": {\n                                      \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                                      \"example\": 20,\n                                      \"minimum\": 0,\n                                      \"nullable\": true,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                                      \"example\": \"Nifty New Snapshot\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"public\": {\n                                      \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"regions\": {\n                                      \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                                      \"example\": [\n                                        \"nyc1\",\n                                        \"nyc2\"\n                                      ],\n                                      \"items\": {\n                                        \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                                        \"enum\": [\n                                          \"ams1\",\n                                          \"ams2\",\n                                          \"ams3\",\n                                          \"blr1\",\n                                          \"fra1\",\n                                          \"lon1\",\n                                          \"nyc1\",\n                                          \"nyc2\",\n                                          \"nyc3\",\n                                          \"sfo1\",\n                                          \"sfo2\",\n                                          \"sfo3\",\n                                          \"sgp1\",\n                                          \"tor1\"\n                                        ],\n                                        \"example\": \"nyc3\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"size_gigabytes\": {\n                                      \"description\": \"The size of the image in gigabytes.\",\n                                      \"example\": 2.34,\n                                      \"format\": \"float\",\n                                      \"nullable\": true,\n                                      \"type\": \"number\"\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                                      \"example\": \"nifty1\",\n                                      \"nullable\": true,\n                                      \"type\": \"string\"\n                                    },\n                                    \"status\": {\n                                      \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                                      \"enum\": [\n                                        \"NEW\",\n                                        \"available\",\n                                        \"pending\",\n                                        \"deleted\",\n                                        \"retired\"\n                                      ],\n                                      \"example\": \"NEW\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tags\": {\n                                      \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                      \"example\": [\n                                        \"base-image\",\n                                        \"prod\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"nullable\": true,\n                                      \"type\": \"array\"\n                                    },\n                                    \"type\": {\n                                      \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                                      \"enum\": [\n                                        \"base\",\n                                        \"snapshot\",\n                                        \"backup\",\n                                        \"custom\",\n                                        \"admin\"\n                                      ],\n                                      \"example\": \"snapshot\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"kernel\": {\n                                  \"deprecated\": true,\n                                  \"description\": \"**Note**: All Droplets created after March 2017 use internal kernels by default.\\nThese Droplets will have this attribute set to `null`.\\n\\nThe current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/)\\nfor Droplets with externally managed kernels. This will initially be set to\\nthe kernel of the base image when the Droplet is created.\\n\",\n                                  \"nullable\": true,\n                                  \"properties\": {\n                                    \"id\": {\n                                      \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                                      \"example\": 7515,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question.\",\n                                      \"example\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"version\": {\n                                      \"description\": \"A standard kernel version string representing the version, patch, and release information.\",\n                                      \"example\": \"2016.07.13-DigitalOcean_loader_Ubuntu\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"locked\": {\n                                  \"description\": \"A boolean value indicating whether the Droplet has been locked, preventing actions by users.\",\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                },\n                                \"memory\": {\n                                  \"description\": \"Memory of the Droplet in megabytes.\",\n                                  \"example\": 1024,\n                                  \"multipleOf\": 8,\n                                  \"type\": \"integer\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The human-readable name set for the Droplet instance.\",\n                                  \"example\": \"example.com\",\n                                  \"type\": \"string\"\n                                },\n                                \"networks\": {\n                                  \"description\": \"The details of the network that are configured for the Droplet instance.  This is an object that contains keys for IPv4 and IPv6.  The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet.  These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.\",\n                                  \"properties\": {\n                                    \"v4\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"gateway\": {\n                                            \"description\": \"The gateway of the specified IPv4 network interface.\\n\\nFor private interfaces, a gateway is not provided. This is denoted by\\nreturning `nil` as its value.\\n\",\n                                            \"example\": \"104.236.0.1\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ip_address\": {\n                                            \"description\": \"The IP address of the IPv4 network interface.\",\n                                            \"example\": \"104.236.32.182\",\n                                            \"format\": \"ipv4\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"netmask\": {\n                                            \"description\": \"The netmask of the IPv4 network interface.\",\n                                            \"example\": \"255.255.192.0\",\n                                            \"format\": \"ipv4\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": {\n                                            \"description\": \"The type of the IPv4 network interface.\",\n                                            \"enum\": [\n                                              \"public\",\n                                              \"private\"\n                                            ],\n                                            \"example\": \"public\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"v6\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"gateway\": {\n                                            \"description\": \"The gateway of the specified IPv6 network interface.\",\n                                            \"example\": \"2604:a880:0:1010::1\",\n                                            \"format\": \"ipv6\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ip_address\": {\n                                            \"description\": \"The IP address of the IPv6 network interface.\",\n                                            \"example\": \"2604:a880:0:1010::18a:a001\",\n                                            \"format\": \"ipv6\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"netmask\": {\n                                            \"description\": \"The netmask of the IPv6 network interface.\",\n                                            \"example\": 64,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"type\": {\n                                            \"description\": \"The type of the IPv6 network interface.\\n\\n**Note**: IPv6 private  networking is not currently supported.\\n\",\n                                            \"enum\": [\n                                              \"public\"\n                                            ],\n                                            \"example\": \"public\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"next_backup_window\": {\n                                  \"description\": \"The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.\",\n                                  \"nullable\": true,\n                                  \"properties\": {\n                                    \"end\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window.\",\n                                      \"example\": \"2019-12-04T23:00:00Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"start\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window.\",\n                                      \"example\": \"2019-12-04T00:00:00Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"region\": {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"features\": {\n                                      \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                      \"example\": [\n                                        \"private_networking\",\n                                        \"backups\",\n                                        \"ipv6\",\n                                        \"metadata\",\n                                        \"install_agent\",\n                                        \"storage\",\n                                        \"image_transfer\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                      \"example\": \"New York 3\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"sizes\": {\n                                      \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                      \"example\": [\n                                        \"s-1vcpu-1gb\",\n                                        \"s-1vcpu-2gb\",\n                                        \"s-1vcpu-3gb\",\n                                        \"s-2vcpu-2gb\",\n                                        \"s-3vcpu-1gb\",\n                                        \"s-2vcpu-4gb\",\n                                        \"s-4vcpu-8gb\",\n                                        \"s-6vcpu-16gb\",\n                                        \"s-8vcpu-32gb\",\n                                        \"s-12vcpu-48gb\",\n                                        \"s-16vcpu-64gb\",\n                                        \"s-20vcpu-96gb\",\n                                        \"s-24vcpu-128gb\",\n                                        \"s-32vcpu-192g\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                      \"example\": \"nyc3\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"features\",\n                                    \"name\",\n                                    \"sizes\",\n                                    \"slug\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"size\": {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"default\": true,\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created with this size.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"description\": {\n                                      \"description\": \"A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.\",\n                                      \"example\": \"Basic\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"disk\": {\n                                      \"description\": \"The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes.\",\n                                      \"example\": 25,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"memory\": {\n                                      \"description\": \"The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes.\",\n                                      \"example\": 1024,\n                                      \"minimum\": 8,\n                                      \"multipleOf\": 8,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"price_hourly\": {\n                                      \"description\": \"This describes the price of the Droplet size as measured hourly. The value is measured in US dollars.\",\n                                      \"example\": 0.00743999984115362,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"price_monthly\": {\n                                      \"description\": \"This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars.\",\n                                      \"example\": 5,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"regions\": {\n                                      \"description\": \"An array containing the region slugs where this size is available for Droplet creates.\",\n                                      \"example\": [\n                                        \"ams2\",\n                                        \"ams3\",\n                                        \"blr1\",\n                                        \"fra1\",\n                                        \"lon1\",\n                                        \"nyc1\",\n                                        \"nyc2\",\n                                        \"nyc3\",\n                                        \"sfo1\",\n                                        \"sfo2\",\n                                        \"sfo3\",\n                                        \"sgp1\",\n                                        \"tor1\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used to uniquely identify each size.\",\n                                      \"example\": \"s-1vcpu-1gb\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"transfer\": {\n                                      \"description\": \"The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes.\",\n                                      \"example\": 1,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"vcpus\": {\n                                      \"description\": \"The integer of number CPUs allocated to Droplets of this size.\",\n                                      \"example\": 1,\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"disk\",\n                                    \"memory\",\n                                    \"price_hourly\",\n                                    \"price_monthly\",\n                                    \"regions\",\n                                    \"slug\",\n                                    \"transfer\",\n                                    \"vcpus\",\n                                    \"description\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"size_slug\": {\n                                  \"description\": \"The unique slug identifier for the size of this Droplet.\",\n                                  \"example\": \"s-1vcpu-1gb\",\n                                  \"type\": \"string\"\n                                },\n                                \"snapshot_ids\": {\n                                  \"description\": \"An array of snapshot IDs of any snapshots created from the Droplet instance.\",\n                                  \"example\": [\n                                    67512819\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"status\": {\n                                  \"description\": \"A status string indicating the state of the Droplet instance. This may be \\\"new\\\", \\\"active\\\", \\\"off\\\", or \\\"archive\\\".\",\n                                  \"enum\": [\n                                    \"new\",\n                                    \"active\",\n                                    \"off\",\n                                    \"archive\"\n                                  ],\n                                  \"example\": \"active\",\n                                  \"type\": \"string\"\n                                },\n                                \"tags\": {\n                                  \"description\": \"An array of Tags the Droplet has been tagged with.\",\n                                  \"example\": [\n                                    \"web\",\n                                    \"env:prod\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"vcpus\": {\n                                  \"description\": \"The number of virtual CPUs.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"volume_ids\": {\n                                  \"description\": \"A flat array including the unique identifier for each Block Storage volume attached to the Droplet.\",\n                                  \"example\": [\n                                    \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"vpc_uuid\": {\n                                  \"description\": \"A string specifying the UUID of the VPC to which the Droplet is assigned.\",\n                                  \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"id\",\n                                \"name\",\n                                \"memory\",\n                                \"vcpus\",\n                                \"disk\",\n                                \"locked\",\n                                \"status\",\n                                \"created_at\",\n                                \"features\",\n                                \"backup_ids\",\n                                \"next_backup_window\",\n                                \"snapshot_ids\",\n                                \"image\",\n                                \"volume_ids\",\n                                \"size\",\n                                \"size_slug\",\n                                \"networks\",\n                                \"region\",\n                                \"tags\"\n                              ],\n                              \"type\": \"object\"\n                            }\n                          ],\n                          \"description\": \"The Droplet that the floating IP has been assigned to. When you query a floating IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.\",\n                          \"example\": null\n                        },\n                        \"ip\": {\n                          \"description\": \"The public IP address of the floating IP. It also serves as its identifier.\",\n                          \"example\": \"45.55.96.47\",\n                          \"format\": \"ipv4\",\n                          \"type\": \"string\"\n                        },\n                        \"locked\": {\n                          \"description\": \"A boolean value indicating whether or not the floating IP has pending actions preventing new ones from being submitted.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"project_id\": {\n                          \"description\": \"The UUID of the project to which the reserved IP currently belongs.\",\n                          \"example\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                          \"format\": \"uuid\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"available\": {\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"features\": {\n                                  \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                  \"example\": [\n                                    \"private_networking\",\n                                    \"backups\",\n                                    \"ipv6\",\n                                    \"metadata\",\n                                    \"install_agent\",\n                                    \"storage\",\n                                    \"image_transfer\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                  \"example\": \"New York 3\",\n                                  \"type\": \"string\"\n                                },\n                                \"sizes\": {\n                                  \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                  \"example\": [\n                                    \"s-1vcpu-1gb\",\n                                    \"s-1vcpu-2gb\",\n                                    \"s-1vcpu-3gb\",\n                                    \"s-2vcpu-2gb\",\n                                    \"s-3vcpu-1gb\",\n                                    \"s-2vcpu-4gb\",\n                                    \"s-4vcpu-8gb\",\n                                    \"s-6vcpu-16gb\",\n                                    \"s-8vcpu-32gb\",\n                                    \"s-12vcpu-48gb\",\n                                    \"s-16vcpu-64gb\",\n                                    \"s-20vcpu-96gb\",\n                                    \"s-24vcpu-128gb\",\n                                    \"s-32vcpu-192g\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"features\",\n                                \"name\",\n                                \"sizes\",\n                                \"slug\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"description\": \"The region that the floating IP is reserved to. When you query a floating IP, the entire region object will be returned.\",\n                              \"type\": \"object\"\n                            }\n                          ]\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `floating_ip`. The value of this will be an object that contains the standard attributes associated with a floating IP.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Floating IP\",\n        \"tags\": [\n          \"Floating IPs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/floating_ips/45.55.96.47\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    floatingIP, _, err := client.FloatingIPs.Get(ctx, \\\"45.55.96.47\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.floating_ips.find(ip: '45.55.96.47')\"\n          }\n        ]\n      }\n    },\n    \"/v2/floating_ips/{floating_ip}/actions\": {\n      \"get\": {\n        \"description\": \"To retrieve all actions that have been executed on a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions`.\",\n        \"operationId\": \"floatingIPsAction_list\",\n        \"parameters\": [\n          {\n            \"description\": \"A floating IP address.\",\n            \"example\": \"45.55.96.47\",\n            \"in\": \"path\",\n            \"name\": \"floating_ip\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"ipv4\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"actions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"completed_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                                \"example\": \"2020-11-14T16:30:06Z\",\n                                \"format\": \"date-time\",\n                                \"nullable\": true,\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                                \"example\": 36804636,\n                                \"type\": \"integer\"\n                              },\n                              \"region\": {\n                                \"properties\": {\n                                  \"available\": {\n                                    \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"features\": {\n                                    \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                    \"example\": [\n                                      \"private_networking\",\n                                      \"backups\",\n                                      \"ipv6\",\n                                      \"metadata\",\n                                      \"install_agent\",\n                                      \"storage\",\n                                      \"image_transfer\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                    \"example\": \"New York 3\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"sizes\": {\n                                    \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                    \"example\": [\n                                      \"s-1vcpu-1gb\",\n                                      \"s-1vcpu-2gb\",\n                                      \"s-1vcpu-3gb\",\n                                      \"s-2vcpu-2gb\",\n                                      \"s-3vcpu-1gb\",\n                                      \"s-2vcpu-4gb\",\n                                      \"s-4vcpu-8gb\",\n                                      \"s-6vcpu-16gb\",\n                                      \"s-8vcpu-32gb\",\n                                      \"s-12vcpu-48gb\",\n                                      \"s-16vcpu-64gb\",\n                                      \"s-20vcpu-96gb\",\n                                      \"s-24vcpu-128gb\",\n                                      \"s-32vcpu-192g\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"available\",\n                                  \"features\",\n                                  \"name\",\n                                  \"sizes\",\n                                  \"slug\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"region_slug\": {\n                                \"allOf\": [\n                                  {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  },\n                                  {\n                                    \"nullable\": true,\n                                    \"type\": \"string\"\n                                  }\n                                ]\n                              },\n                              \"resource_id\": {\n                                \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                                \"example\": 3164444,\n                                \"nullable\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"resource_type\": {\n                                \"description\": \"The type of resource that the action is associated with.\",\n                                \"example\": \"droplet\",\n                                \"type\": \"string\"\n                              },\n                              \"started_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                                \"example\": \"2020-11-14T16:29:21Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"status\": {\n                                \"default\": \"in-progress\",\n                                \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                                \"enum\": [\n                                  \"in-progress\",\n                                  \"completed\",\n                                  \"errored\"\n                                ],\n                                \"example\": \"completed\",\n                                \"type\": \"string\"\n                              },\n                              \"type\": {\n                                \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                                \"example\": \"create\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"actions\": [\n                      {\n                        \"completed_at\": \"2015-11-21T21:51:09Z\",\n                        \"id\": 72531856,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        },\n                        \"region_slug\": \"nyc3\",\n                        \"resource_id\": 758604197,\n                        \"resource_type\": \"floating_ip\",\n                        \"started_at\": \"2015-11-21T21:51:09Z\",\n                        \"status\": \"completed\",\n                        \"type\": \"reserve_ip\"\n                      }\n                    ],\n                    \"links\": {},\n                    \"meta\": {\n                      \"total\": 1\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard floating IP action attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Actions for a Floating IP\",\n        \"tags\": [\n          \"Floating IP Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/floating_ips/45.55.96.47/actions?page=1&per_page=1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    actions, _, err := client.FloatingIPActions.List(ctx, '45.55.96.47', opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nactions = client.floating_ip_actions.all(ip: '45.55.96.47')\\nactions.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To initiate an action on a floating IP send a POST request to\\n`/v2/floating_ips/$FLOATING_IP/actions`. In the JSON body to the request,\\nset the `type` attribute to on of the supported action types:\\n\\n| Action     | Details\\n|------------|--------\\n| `assign`   | Assigns a floating IP to a Droplet\\n| `unassign` | Unassign a floating IP from a Droplet\\n\",\n        \"operationId\": \"floatingIPsAction_post\",\n        \"parameters\": [\n          {\n            \"description\": \"A floating IP address.\",\n            \"example\": \"45.55.96.47\",\n            \"in\": \"path\",\n            \"name\": \"floating_ip\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"ipv4\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"anyOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"discriminator\": {\n                          \"mapping\": {\n                            \"assign\": \"#/floating_ip_action_assign\",\n                            \"unassign\": \"#/floating_ip_action_unassign\"\n                          },\n                          \"propertyName\": \"type\"\n                        },\n                        \"properties\": {\n                          \"type\": {\n                            \"description\": \"The type of action to initiate for the floating IP.\",\n                            \"enum\": [\n                              \"assign\",\n                              \"unassign\"\n                            ],\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"discriminator\": {\n                          \"mapping\": {\n                            \"assign\": \"#/floating_ip_action_assign\",\n                            \"unassign\": \"#/floating_ip_action_unassign\"\n                          },\n                          \"propertyName\": \"type\"\n                        },\n                        \"properties\": {\n                          \"type\": {\n                            \"description\": \"The type of action to initiate for the floating IP.\",\n                            \"enum\": [\n                              \"assign\",\n                              \"unassign\"\n                            ],\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"droplet_id\": {\n                            \"description\": \"The ID of the Droplet that the floating IP will be assigned to.\",\n                            \"example\": 758604968,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\",\n                          \"droplet_id\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ]\n                  }\n                ],\n                \"discriminator\": {\n                  \"mapping\": {\n                    \"assign\": \"models/floating_ip_actions.yml#/floating_ip_action_assign\",\n                    \"unassign\": \"models/floating_ip_actions.yml#/floating_ip_action_unassign\"\n                  },\n                  \"propertyName\": \"type\"\n                }\n              }\n            }\n          },\n          \"description\": \"The `type` attribute set in the request body will specify the action that\\nwill be taken on the floating IP.\\n\"\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"action\": {\n                      \"completed_at\": \"2015-11-12T17:51:14Z\",\n                      \"id\": 72531856,\n                      \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                      \"region\": {\n                        \"available\": true,\n                        \"features\": [\n                          \"private_networking\",\n                          \"backups\",\n                          \"ipv6\",\n                          \"metadata\"\n                        ],\n                        \"name\": \"New York 3\",\n                        \"sizes\": [\n                          \"s-1vcpu-1gb\",\n                          \"s-1vcpu-2gb\",\n                          \"s-1vcpu-3gb\",\n                          \"s-2vcpu-2gb\",\n                          \"s-3vcpu-1gb\",\n                          \"s-2vcpu-4gb\",\n                          \"s-4vcpu-8gb\",\n                          \"s-6vcpu-16gb\",\n                          \"s-8vcpu-32gb\",\n                          \"s-12vcpu-48gb\",\n                          \"s-16vcpu-64gb\",\n                          \"s-20vcpu-96gb\",\n                          \"s-24vcpu-128gb\",\n                          \"s-32vcpu-192gb\"\n                        ],\n                        \"slug\": \"nyc3\"\n                      },\n                      \"region_slug\": \"nyc3\",\n                      \"resource_id\": 758604968,\n                      \"resource_type\": \"floating_ip\",\n                      \"started_at\": \"2015-11-12T17:51:03Z\",\n                      \"status\": \"completed\",\n                      \"type\": \"assign_ip\"\n                    }\n                  },\n                  \"properties\": {\n                    \"action\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"completed_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                              \"example\": \"2020-11-14T16:30:06Z\",\n                              \"format\": \"date-time\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                              \"example\": 36804636,\n                              \"type\": \"integer\"\n                            },\n                            \"region\": {\n                              \"properties\": {\n                                \"available\": {\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"features\": {\n                                  \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                  \"example\": [\n                                    \"private_networking\",\n                                    \"backups\",\n                                    \"ipv6\",\n                                    \"metadata\",\n                                    \"install_agent\",\n                                    \"storage\",\n                                    \"image_transfer\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                  \"example\": \"New York 3\",\n                                  \"type\": \"string\"\n                                },\n                                \"sizes\": {\n                                  \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                  \"example\": [\n                                    \"s-1vcpu-1gb\",\n                                    \"s-1vcpu-2gb\",\n                                    \"s-1vcpu-3gb\",\n                                    \"s-2vcpu-2gb\",\n                                    \"s-3vcpu-1gb\",\n                                    \"s-2vcpu-4gb\",\n                                    \"s-4vcpu-8gb\",\n                                    \"s-6vcpu-16gb\",\n                                    \"s-8vcpu-32gb\",\n                                    \"s-12vcpu-48gb\",\n                                    \"s-16vcpu-64gb\",\n                                    \"s-20vcpu-96gb\",\n                                    \"s-24vcpu-128gb\",\n                                    \"s-32vcpu-192g\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"features\",\n                                \"name\",\n                                \"sizes\",\n                                \"slug\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"region_slug\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                },\n                                {\n                                  \"nullable\": true,\n                                  \"type\": \"string\"\n                                }\n                              ]\n                            },\n                            \"resource_id\": {\n                              \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                              \"example\": 3164444,\n                              \"nullable\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"resource_type\": {\n                              \"description\": \"The type of resource that the action is associated with.\",\n                              \"example\": \"droplet\",\n                              \"type\": \"string\"\n                            },\n                            \"started_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                              \"example\": \"2020-11-14T16:29:21Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"status\": {\n                              \"default\": \"in-progress\",\n                              \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                              \"enum\": [\n                                \"in-progress\",\n                                \"completed\",\n                                \"errored\"\n                              ],\n                              \"example\": \"completed\",\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                              \"example\": \"create\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"project_id\": {\n                              \"description\": \"The UUID of the project to which the reserved IP currently belongs.\",\n                              \"example\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                              \"format\": \"uuid\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be an object with a key called `action`. The value of this will be an object that contains the standard floating IP action attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Initiate a Floating IP Action\",\n        \"tags\": [\n          \"Floating IP Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"# Assign a Floating IP to a Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"assign\\\",\\\"droplet_id\\\":8219222}' \\\\\\n  \\\"https://api.digitalocean.com/v2/floating_ips/45.55.96.47/actions\\\"\\n\\n# Unassign a Floating IP\\n# curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"unassign\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/floating_ips/45.55.96.47/actions\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n  // Assign a Floating IP to a Droplet\\n    action, _, err := client.FloatingIPActions.Assign(ctx, \\\"45.55.96.47\\\", 8219222)\\n\\n  // Unassign a Floating IP\\n  // action, _, err := client.FloatingIPActions.Unassign(ctx, \\\"45.55.96.47\\\")  \\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\n# Assign a Floating IP to a Droplet\\nclient.floating_ip_actions.assign(ip: '45.55.96.47', droplet_id: 8219222)\\n\\n# Unassign a Floating IP\\n# client.floating_ip_actions.unassign(ip: '45.55.96.47')\"\n          }\n        ]\n      }\n    },\n    \"/v2/floating_ips/{floating_ip}/actions/{action_id}\": {\n      \"get\": {\n        \"description\": \"To retrieve the status of a floating IP action, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions/$ACTION_ID`.\",\n        \"operationId\": \"floatingIPsAction_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A floating IP address.\",\n            \"example\": \"45.55.96.47\",\n            \"in\": \"path\",\n            \"name\": \"floating_ip\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"ipv4\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n            \"example\": 36804636,\n            \"in\": \"path\",\n            \"name\": \"action_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"action\": {\n                      \"completed_at\": \"2015-11-12T17:51:14Z\",\n                      \"id\": 72531856,\n                      \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                      \"region\": {\n                        \"available\": true,\n                        \"features\": [\n                          \"private_networking\",\n                          \"backups\",\n                          \"ipv6\",\n                          \"metadata\"\n                        ],\n                        \"name\": \"New York 3\",\n                        \"sizes\": [\n                          \"s-1vcpu-1gb\",\n                          \"s-1vcpu-2gb\",\n                          \"s-1vcpu-3gb\",\n                          \"s-2vcpu-2gb\",\n                          \"s-3vcpu-1gb\",\n                          \"s-2vcpu-4gb\",\n                          \"s-4vcpu-8gb\",\n                          \"s-6vcpu-16gb\",\n                          \"s-8vcpu-32gb\",\n                          \"s-12vcpu-48gb\",\n                          \"s-16vcpu-64gb\",\n                          \"s-20vcpu-96gb\",\n                          \"s-24vcpu-128gb\",\n                          \"s-32vcpu-192gb\"\n                        ],\n                        \"slug\": \"nyc3\"\n                      },\n                      \"region_slug\": \"nyc3\",\n                      \"resource_id\": 758604968,\n                      \"resource_type\": \"floating_ip\",\n                      \"started_at\": \"2015-11-12T17:51:03Z\",\n                      \"status\": \"completed\",\n                      \"type\": \"assign_ip\"\n                    }\n                  },\n                  \"properties\": {\n                    \"action\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"completed_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                              \"example\": \"2020-11-14T16:30:06Z\",\n                              \"format\": \"date-time\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                              \"example\": 36804636,\n                              \"type\": \"integer\"\n                            },\n                            \"region\": {\n                              \"properties\": {\n                                \"available\": {\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"features\": {\n                                  \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                  \"example\": [\n                                    \"private_networking\",\n                                    \"backups\",\n                                    \"ipv6\",\n                                    \"metadata\",\n                                    \"install_agent\",\n                                    \"storage\",\n                                    \"image_transfer\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                  \"example\": \"New York 3\",\n                                  \"type\": \"string\"\n                                },\n                                \"sizes\": {\n                                  \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                  \"example\": [\n                                    \"s-1vcpu-1gb\",\n                                    \"s-1vcpu-2gb\",\n                                    \"s-1vcpu-3gb\",\n                                    \"s-2vcpu-2gb\",\n                                    \"s-3vcpu-1gb\",\n                                    \"s-2vcpu-4gb\",\n                                    \"s-4vcpu-8gb\",\n                                    \"s-6vcpu-16gb\",\n                                    \"s-8vcpu-32gb\",\n                                    \"s-12vcpu-48gb\",\n                                    \"s-16vcpu-64gb\",\n                                    \"s-20vcpu-96gb\",\n                                    \"s-24vcpu-128gb\",\n                                    \"s-32vcpu-192g\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"features\",\n                                \"name\",\n                                \"sizes\",\n                                \"slug\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"region_slug\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                },\n                                {\n                                  \"nullable\": true,\n                                  \"type\": \"string\"\n                                }\n                              ]\n                            },\n                            \"resource_id\": {\n                              \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                              \"example\": 3164444,\n                              \"nullable\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"resource_type\": {\n                              \"description\": \"The type of resource that the action is associated with.\",\n                              \"example\": \"droplet\",\n                              \"type\": \"string\"\n                            },\n                            \"started_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                              \"example\": \"2020-11-14T16:29:21Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"status\": {\n                              \"default\": \"in-progress\",\n                              \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                              \"enum\": [\n                                \"in-progress\",\n                                \"completed\",\n                                \"errored\"\n                              ],\n                              \"example\": \"completed\",\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                              \"example\": \"create\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"project_id\": {\n                              \"description\": \"The UUID of the project to which the reserved IP currently belongs.\",\n                              \"example\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                              \"format\": \"uuid\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be an object with a key called `action`. The value of this will be an object that contains the standard floating IP action attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Floating IP Action\",\n        \"tags\": [\n          \"Floating IP Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/floating_ips/45.55.96.47/actions/72531856\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    action, _, err := client.FloatingIPActions.Get(ctx, \\\"45.55.96.47\\\", 72531856)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.floating_ip_actions.find(ip: '45.55.96.47', id: 72531856)\"\n          }\n        ]\n      }\n    },\n    \"/v2/functions/namespaces\": {\n      \"get\": {\n        \"description\": \"Returns a list of namespaces associated with the current user. To get all namespaces, send a GET request to `/v2/functions/namespaces`.\",\n        \"operationId\": \"functions_list_namespaces\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"namespaces\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"api_host\": {\n                                \"description\": \"The namespace's API hostname. Each function in a namespace is provided an endpoint at the namespace's hostname.\",\n                                \"example\": \"https://api_host.io\",\n                                \"type\": \"string\"\n                              },\n                              \"created_at\": {\n                                \"description\": \"UTC time string.\",\n                                \"example\": \"2022-09-14T04:16:45Z\",\n                                \"type\": \"string\"\n                              },\n                              \"key\": {\n                                \"description\": \"A random alpha numeric string. This key is used in conjunction with the namespace's UUID to authenticate \\na user to use the namespace via `doctl`, DigitalOcean's official CLI.\",\n                                \"example\": \"d1zcd455h01mqjfs4s2eaewyejehi5f2uj4etqq3h7cera8iwkub6xg5of1wdde2\",\n                                \"type\": \"string\"\n                              },\n                              \"label\": {\n                                \"description\": \"The namespace's unique name.\",\n                                \"example\": \"my namespace\",\n                                \"type\": \"string\"\n                              },\n                              \"namespace\": {\n                                \"description\": \"A unique string format of UUID with a prefix fn-.\",\n                                \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n                                \"type\": \"string\"\n                              },\n                              \"region\": {\n                                \"description\": \"The namespace's datacenter region.\",\n                                \"example\": \"nyc1\",\n                                \"type\": \"string\"\n                              },\n                              \"updated_at\": {\n                                \"description\": \"UTC time string.\",\n                                \"example\": \"2022-09-14T04:16:45Z\",\n                                \"type\": \"string\"\n                              },\n                              \"uuid\": {\n                                \"description\": \"The namespace's Universally Unique Identifier.\",\n                                \"example\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"An array of JSON objects with a key called `namespaces`.  Each object represents a namespace and contains\\nthe properties associated with it. \",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Namespaces\",\n        \"tags\": [\n          \"Functions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/functions/namespaces\\\"\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"Creates a new serverless functions namespace in the desired region and associates it with the provided label. A namespace is a collection of functions and their associated packages, triggers, and project specifications. To create a namespace, send a POST request to `/v2/functions/namespaces` with the `region` and `label` properties.\",\n        \"operationId\": \"functions_create_namespace\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"label\": {\n                    \"description\": \"The namespace's unique name.\",\n                    \"example\": \"my namespace\",\n                    \"type\": \"string\"\n                  },\n                  \"region\": {\n                    \"description\": \"The [datacenter region](https://docs.digitalocean.com/products/platform/availability-matrix/#available-datacenters) in which to create the namespace.\",\n                    \"example\": \"nyc1\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"region\",\n                  \"label\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"namespace\": {\n                      \"properties\": {\n                        \"api_host\": {\n                          \"description\": \"The namespace's API hostname. Each function in a namespace is provided an endpoint at the namespace's hostname.\",\n                          \"example\": \"https://api_host.io\",\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"UTC time string.\",\n                          \"example\": \"2022-09-14T04:16:45Z\",\n                          \"type\": \"string\"\n                        },\n                        \"key\": {\n                          \"description\": \"A random alpha numeric string. This key is used in conjunction with the namespace's UUID to authenticate \\na user to use the namespace via `doctl`, DigitalOcean's official CLI.\",\n                          \"example\": \"d1zcd455h01mqjfs4s2eaewyejehi5f2uj4etqq3h7cera8iwkub6xg5of1wdde2\",\n                          \"type\": \"string\"\n                        },\n                        \"label\": {\n                          \"description\": \"The namespace's unique name.\",\n                          \"example\": \"my namespace\",\n                          \"type\": \"string\"\n                        },\n                        \"namespace\": {\n                          \"description\": \"A unique string format of UUID with a prefix fn-.\",\n                          \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"description\": \"The namespace's datacenter region.\",\n                          \"example\": \"nyc1\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"UTC time string.\",\n                          \"example\": \"2022-09-14T04:16:45Z\",\n                          \"type\": \"string\"\n                        },\n                        \"uuid\": {\n                          \"description\": \"The namespace's Universally Unique Identifier.\",\n                          \"example\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON response object with a key called `namespace`. The object contains the properties associated\\nwith the namespace.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"Invalid request payload: missing label field\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"422\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unprocessable_entity\",\n                  \"message\": \"namespace limit reached\",\n                  \"request_id\": \"a3275238-3d04-4405-a123-55c389b406c0\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Limit Reached\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create Namespace\",\n        \"tags\": [\n          \"Functions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"region\\\": \\\"nyc1\\\", \\\"label\\\": \\\"my namespace label\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/functions/namespaces\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/functions/namespaces/{namespace_id}\": {\n      \"delete\": {\n        \"description\": \"Deletes the given namespace.  When a namespace is deleted all assets, in the namespace are deleted, this includes packages, functions and triggers. Deleting a namespace is a destructive operation and assets in the namespace are not recoverable after deletion. Some metadata is retained, such as activations, or soft deleted for reporting purposes.\\nTo delete namespace, send a DELETE request to `/v2/functions/namespaces/$NAMESPACE_ID`.\\nA successful deletion returns a 204 response.\",\n        \"operationId\": \"functions_delete_namespace\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the namespace to be managed.\",\n            \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n            \"in\": \"path\",\n            \"name\": \"namespace_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"namespace not found\",\n                  \"request_id\": \"88d17b7a-630b-4083-99ce-5b91045efdb4\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete Namespace\",\n        \"tags\": [\n          \"Functions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}\\\"\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"Gets the namespace details for the given namespace UUID. To get namespace details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID` with no parameters.\",\n        \"operationId\": \"functions_get_namespace\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the namespace to be managed.\",\n            \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n            \"in\": \"path\",\n            \"name\": \"namespace_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"namespace\": {\n                      \"properties\": {\n                        \"api_host\": {\n                          \"description\": \"The namespace's API hostname. Each function in a namespace is provided an endpoint at the namespace's hostname.\",\n                          \"example\": \"https://api_host.io\",\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"UTC time string.\",\n                          \"example\": \"2022-09-14T04:16:45Z\",\n                          \"type\": \"string\"\n                        },\n                        \"key\": {\n                          \"description\": \"A random alpha numeric string. This key is used in conjunction with the namespace's UUID to authenticate \\na user to use the namespace via `doctl`, DigitalOcean's official CLI.\",\n                          \"example\": \"d1zcd455h01mqjfs4s2eaewyejehi5f2uj4etqq3h7cera8iwkub6xg5of1wdde2\",\n                          \"type\": \"string\"\n                        },\n                        \"label\": {\n                          \"description\": \"The namespace's unique name.\",\n                          \"example\": \"my namespace\",\n                          \"type\": \"string\"\n                        },\n                        \"namespace\": {\n                          \"description\": \"A unique string format of UUID with a prefix fn-.\",\n                          \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"description\": \"The namespace's datacenter region.\",\n                          \"example\": \"nyc1\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"UTC time string.\",\n                          \"example\": \"2022-09-14T04:16:45Z\",\n                          \"type\": \"string\"\n                        },\n                        \"uuid\": {\n                          \"description\": \"The namespace's Universally Unique Identifier.\",\n                          \"example\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON response object with a key called `namespace`. The object contains the properties associated\\nwith the namespace.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"403\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"forbidden\",\n                  \"message\": \"not allowed to get namespace\",\n                  \"request_id\": \"b11e45a4-892c-48c9-9001-b6cffe9fe795\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Not Allowed.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"namespace not found\",\n                  \"request_id\": \"88d17b7a-630b-4083-99ce-5b91045efdb4\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Namespace\",\n        \"tags\": [\n          \"Functions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/functions/namespaces/{namespace_id}/triggers\": {\n      \"get\": {\n        \"description\": \"Returns a list of triggers associated with the current user and namespace. To get all triggers, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers`.\",\n        \"operationId\": \"functions_list_triggers\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the namespace to be managed.\",\n            \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n            \"in\": \"path\",\n            \"name\": \"namespace_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"triggers\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"created_at\": {\n                                \"description\": \"UTC time string.\",\n                                \"example\": \"2022-11-11T04:16:45Z\",\n                                \"type\": \"string\"\n                              },\n                              \"function\": {\n                                \"description\": \"Name of function(action) that exists in the given namespace.\",\n                                \"example\": \"hello\",\n                                \"type\": \"string\"\n                              },\n                              \"is_enabled\": {\n                                \"description\": \"Indicates weather the trigger is paused or unpaused.\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"name\": {\n                                \"description\": \"The trigger's unique name within the namespace.\",\n                                \"example\": \"my trigger\",\n                                \"type\": \"string\"\n                              },\n                              \"namespace\": {\n                                \"description\": \"A unique string format of UUID with a prefix fn-.\",\n                                \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n                                \"type\": \"string\"\n                              },\n                              \"scheduled_details\": {\n                                \"description\": \"Trigger details for SCHEDULED type, where body is optional.\\n\",\n                                \"properties\": {\n                                  \"body\": {\n                                    \"description\": \"Optional data to be sent to function while triggering the function.\",\n                                    \"nullable\": true,\n                                    \"properties\": {\n                                      \"name\": {\n                                        \"example\": \"Welcome to DO!\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"cron\": {\n                                    \"description\": \"valid cron expression string which is required for SCHEDULED type triggers.\",\n                                    \"example\": \"* * * * *\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"cron\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"scheduled_runs\": {\n                                \"properties\": {\n                                  \"last_run_at\": {\n                                    \"description\": \"Indicates last run time. null value indicates trigger not run yet.\",\n                                    \"example\": \"2022-11-11T04:16:45Z\",\n                                    \"nullable\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"next_run_at\": {\n                                    \"description\": \"Indicates next run time. null value indicates trigger will not run.\",\n                                    \"example\": \"2022-11-11T04:16:45Z\",\n                                    \"nullable\": true,\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": {\n                                \"description\": \"String which indicates the type of trigger source like SCHEDULED.\",\n                                \"example\": \"SCHEDULED\",\n                                \"type\": \"string\"\n                              },\n                              \"updated_at\": {\n                                \"description\": \"UTC time string.\",\n                                \"example\": \"2022-11-11T04:16:45Z\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"An array of JSON objects with a key called `namespaces`.  Each object represents a namespace and contains\\nthe properties associated with it. \",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"namespace not found\",\n                  \"request_id\": \"88d17b7a-630b-4083-99ce-5b91045efdb4\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Triggers\",\n        \"tags\": [\n          \"Functions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}/triggers\\\"\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"Creates a new trigger for a given function in a namespace. To create a trigger, send a POST request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers` with the `name`, `function`, `type`, `is_enabled` and `scheduled_details` properties.\",\n        \"operationId\": \"functions_create_trigger\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the namespace to be managed.\",\n            \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n            \"in\": \"path\",\n            \"name\": \"namespace_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"function\": {\n                    \"description\": \"Name of function(action) that exists in the given namespace.\",\n                    \"example\": \"hello\",\n                    \"type\": \"string\"\n                  },\n                  \"is_enabled\": {\n                    \"description\": \"Indicates weather the trigger is paused or unpaused.\",\n                    \"example\": true,\n                    \"type\": \"boolean\"\n                  },\n                  \"name\": {\n                    \"description\": \"The trigger's unique name within the namespace.\",\n                    \"example\": \"my trigger\",\n                    \"type\": \"string\"\n                  },\n                  \"scheduled_details\": {\n                    \"description\": \"Trigger details for SCHEDULED type, where body is optional.\\n\",\n                    \"properties\": {\n                      \"body\": {\n                        \"description\": \"Optional data to be sent to function while triggering the function.\",\n                        \"nullable\": true,\n                        \"properties\": {\n                          \"name\": {\n                            \"example\": \"Welcome to DO!\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"cron\": {\n                        \"description\": \"valid cron expression string which is required for SCHEDULED type triggers.\",\n                        \"example\": \"* * * * *\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"required\": [\n                      \"cron\"\n                    ],\n                    \"type\": \"object\"\n                  },\n                  \"type\": {\n                    \"description\": \"One of different type of triggers. Currently only SCHEDULED is supported.\",\n                    \"example\": \"SCHEDULED\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"name\",\n                  \"function\",\n                  \"type\",\n                  \"is_enabled\",\n                  \"scheduled_details\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"trigger\": {\n                      \"properties\": {\n                        \"created_at\": {\n                          \"description\": \"UTC time string.\",\n                          \"example\": \"2022-11-11T04:16:45Z\",\n                          \"type\": \"string\"\n                        },\n                        \"function\": {\n                          \"description\": \"Name of function(action) that exists in the given namespace.\",\n                          \"example\": \"hello\",\n                          \"type\": \"string\"\n                        },\n                        \"is_enabled\": {\n                          \"description\": \"Indicates weather the trigger is paused or unpaused.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"name\": {\n                          \"description\": \"The trigger's unique name within the namespace.\",\n                          \"example\": \"my trigger\",\n                          \"type\": \"string\"\n                        },\n                        \"namespace\": {\n                          \"description\": \"A unique string format of UUID with a prefix fn-.\",\n                          \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n                          \"type\": \"string\"\n                        },\n                        \"scheduled_details\": {\n                          \"description\": \"Trigger details for SCHEDULED type, where body is optional.\\n\",\n                          \"properties\": {\n                            \"body\": {\n                              \"description\": \"Optional data to be sent to function while triggering the function.\",\n                              \"nullable\": true,\n                              \"properties\": {\n                                \"name\": {\n                                  \"example\": \"Welcome to DO!\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"cron\": {\n                              \"description\": \"valid cron expression string which is required for SCHEDULED type triggers.\",\n                              \"example\": \"* * * * *\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"cron\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"scheduled_runs\": {\n                          \"properties\": {\n                            \"last_run_at\": {\n                              \"description\": \"Indicates last run time. null value indicates trigger not run yet.\",\n                              \"example\": \"2022-11-11T04:16:45Z\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            },\n                            \"next_run_at\": {\n                              \"description\": \"Indicates next run time. null value indicates trigger will not run.\",\n                              \"example\": \"2022-11-11T04:16:45Z\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"type\": {\n                          \"description\": \"String which indicates the type of trigger source like SCHEDULED.\",\n                          \"example\": \"SCHEDULED\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"UTC time string.\",\n                          \"example\": \"2022-11-11T04:16:45Z\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON response object with a key called `trigger`. The object contains the properties associated\\nwith the trigger.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"validating create trigger: validation error: missing trigger name, missing function name, missing source details\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"namespace not found\",\n                  \"request_id\": \"88d17b7a-630b-4083-99ce-5b91045efdb4\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"422\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unprocessable_entity\",\n                  \"message\": \"triggers limit reached\",\n                  \"request_id\": \"7ba99a43-6618-4fe0-9af7-092752ad0d56\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Limit Reached\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create Trigger\",\n        \"tags\": [\n          \"Functions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"my trigger\\\", \\\"function\\\": \\\"hello\\\", \\\"type\\\": \\\"SCHEDULED\\\", \\\"is_enabled\\\": true, \\\"scheduled_details\\\": {\\\"cron\\\": \\\"* * * * *\\\", \\\"body\\\": {\\\"name\\\": \\\"Welcome to DO!\\\"}}}' \\\\\\n  \\\"https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}/triggers\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}\": {\n      \"delete\": {\n        \"description\": \"Deletes the given trigger.\\nTo delete trigger, send a DELETE request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME`.\\nA successful deletion returns a 204 response.\",\n        \"operationId\": \"functions_delete_trigger\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the namespace to be managed.\",\n            \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n            \"in\": \"path\",\n            \"name\": \"namespace_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of the trigger to be managed.\",\n            \"example\": \"my trigger\",\n            \"in\": \"path\",\n            \"name\": \"trigger_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"namespace not found\": {\n                    \"value\": {\n                      \"id\": \"not_found\",\n                      \"message\": \"namespace not found\",\n                      \"request_id\": \"88d17b7a-630b-4083-99ce-5b91045efdb4\"\n                    }\n                  },\n                  \"trigger not found\": {\n                    \"value\": {\n                      \"id\": \"not_found\",\n                      \"message\": \"trigger not found\",\n                      \"request_id\": \"88d17b7a-630b-4083-99ce-5b91045efdb4\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete Trigger\",\n        \"tags\": [\n          \"Functions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}/triggers/{{trigger_name}}\\\"\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"Gets the trigger details. To get the trigger details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME`.\",\n        \"operationId\": \"functions_get_trigger\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the namespace to be managed.\",\n            \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n            \"in\": \"path\",\n            \"name\": \"namespace_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of the trigger to be managed.\",\n            \"example\": \"my trigger\",\n            \"in\": \"path\",\n            \"name\": \"trigger_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"trigger\": {\n                      \"properties\": {\n                        \"created_at\": {\n                          \"description\": \"UTC time string.\",\n                          \"example\": \"2022-11-11T04:16:45Z\",\n                          \"type\": \"string\"\n                        },\n                        \"function\": {\n                          \"description\": \"Name of function(action) that exists in the given namespace.\",\n                          \"example\": \"hello\",\n                          \"type\": \"string\"\n                        },\n                        \"is_enabled\": {\n                          \"description\": \"Indicates weather the trigger is paused or unpaused.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"name\": {\n                          \"description\": \"The trigger's unique name within the namespace.\",\n                          \"example\": \"my trigger\",\n                          \"type\": \"string\"\n                        },\n                        \"namespace\": {\n                          \"description\": \"A unique string format of UUID with a prefix fn-.\",\n                          \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n                          \"type\": \"string\"\n                        },\n                        \"scheduled_details\": {\n                          \"description\": \"Trigger details for SCHEDULED type, where body is optional.\\n\",\n                          \"properties\": {\n                            \"body\": {\n                              \"description\": \"Optional data to be sent to function while triggering the function.\",\n                              \"nullable\": true,\n                              \"properties\": {\n                                \"name\": {\n                                  \"example\": \"Welcome to DO!\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"cron\": {\n                              \"description\": \"valid cron expression string which is required for SCHEDULED type triggers.\",\n                              \"example\": \"* * * * *\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"cron\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"scheduled_runs\": {\n                          \"properties\": {\n                            \"last_run_at\": {\n                              \"description\": \"Indicates last run time. null value indicates trigger not run yet.\",\n                              \"example\": \"2022-11-11T04:16:45Z\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            },\n                            \"next_run_at\": {\n                              \"description\": \"Indicates next run time. null value indicates trigger will not run.\",\n                              \"example\": \"2022-11-11T04:16:45Z\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"type\": {\n                          \"description\": \"String which indicates the type of trigger source like SCHEDULED.\",\n                          \"example\": \"SCHEDULED\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"UTC time string.\",\n                          \"example\": \"2022-11-11T04:16:45Z\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON response object with a key called `trigger`. The object contains the properties associated\\nwith the trigger.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"namespace not found\": {\n                    \"value\": {\n                      \"id\": \"not_found\",\n                      \"message\": \"namespace not found\",\n                      \"request_id\": \"88d17b7a-630b-4083-99ce-5b91045efdb4\"\n                    }\n                  },\n                  \"trigger not found\": {\n                    \"value\": {\n                      \"id\": \"not_found\",\n                      \"message\": \"trigger not found\",\n                      \"request_id\": \"88d17b7a-630b-4083-99ce-5b91045efdb4\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Trigger\",\n        \"tags\": [\n          \"Functions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}/triggers/{{trigger_name}}\\\"\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"Updates the details of the given trigger. To update a trigger, send a PUT request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME` with new values for the `is_enabled ` or `scheduled_details` properties.\",\n        \"operationId\": \"functions_update_trigger\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the namespace to be managed.\",\n            \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n            \"in\": \"path\",\n            \"name\": \"namespace_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of the trigger to be managed.\",\n            \"example\": \"my trigger\",\n            \"in\": \"path\",\n            \"name\": \"trigger_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"is_enabled\": {\n                    \"description\": \"Indicates weather the trigger is paused or unpaused.\",\n                    \"example\": true,\n                    \"type\": \"boolean\"\n                  },\n                  \"scheduled_details\": {\n                    \"description\": \"Trigger details for SCHEDULED type, where body is optional.\\n\",\n                    \"properties\": {\n                      \"body\": {\n                        \"description\": \"Optional data to be sent to function while triggering the function.\",\n                        \"nullable\": true,\n                        \"properties\": {\n                          \"name\": {\n                            \"example\": \"Welcome to DO!\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"cron\": {\n                        \"description\": \"valid cron expression string which is required for SCHEDULED type triggers.\",\n                        \"example\": \"* * * * *\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"required\": [\n                      \"cron\"\n                    ],\n                    \"type\": \"object\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"trigger\": {\n                      \"properties\": {\n                        \"created_at\": {\n                          \"description\": \"UTC time string.\",\n                          \"example\": \"2022-11-11T04:16:45Z\",\n                          \"type\": \"string\"\n                        },\n                        \"function\": {\n                          \"description\": \"Name of function(action) that exists in the given namespace.\",\n                          \"example\": \"hello\",\n                          \"type\": \"string\"\n                        },\n                        \"is_enabled\": {\n                          \"description\": \"Indicates weather the trigger is paused or unpaused.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"name\": {\n                          \"description\": \"The trigger's unique name within the namespace.\",\n                          \"example\": \"my trigger\",\n                          \"type\": \"string\"\n                        },\n                        \"namespace\": {\n                          \"description\": \"A unique string format of UUID with a prefix fn-.\",\n                          \"example\": \"fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n                          \"type\": \"string\"\n                        },\n                        \"scheduled_details\": {\n                          \"description\": \"Trigger details for SCHEDULED type, where body is optional.\\n\",\n                          \"properties\": {\n                            \"body\": {\n                              \"description\": \"Optional data to be sent to function while triggering the function.\",\n                              \"nullable\": true,\n                              \"properties\": {\n                                \"name\": {\n                                  \"example\": \"Welcome to DO!\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"cron\": {\n                              \"description\": \"valid cron expression string which is required for SCHEDULED type triggers.\",\n                              \"example\": \"* * * * *\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"cron\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"scheduled_runs\": {\n                          \"properties\": {\n                            \"last_run_at\": {\n                              \"description\": \"Indicates last run time. null value indicates trigger not run yet.\",\n                              \"example\": \"2022-11-11T04:16:45Z\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            },\n                            \"next_run_at\": {\n                              \"description\": \"Indicates next run time. null value indicates trigger will not run.\",\n                              \"example\": \"2022-11-11T04:16:45Z\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"type\": {\n                          \"description\": \"String which indicates the type of trigger source like SCHEDULED.\",\n                          \"example\": \"SCHEDULED\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"UTC time string.\",\n                          \"example\": \"2022-11-11T04:16:45Z\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON response object with a key called `trigger`. The object contains the properties associated\\nwith the trigger.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"validating create trigger: validation error: missing trigger name, missing function name, missing source details\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"namespace not found\": {\n                    \"value\": {\n                      \"id\": \"not_found\",\n                      \"message\": \"namespace not found\",\n                      \"request_id\": \"88d17b7a-630b-4083-99ce-5b91045efdb4\"\n                    }\n                  },\n                  \"trigger not found\": {\n                    \"value\": {\n                      \"id\": \"not_found\",\n                      \"message\": \"trigger not found\",\n                      \"request_id\": \"88d17b7a-630b-4083-99ce-5b91045efdb4\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update Trigger\",\n        \"tags\": [\n          \"Functions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"is_enabled\\\": true, \\\"scheduled_details\\\": {\\\"cron\\\": \\\"* * * * *\\\", \\\"body\\\": {\\\"name\\\": \\\"Welcome to DO!\\\"}}}' \\\\\\n  \\\"https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}/triggers/{{trigger_name}}\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/images\": {\n      \"get\": {\n        \"description\": \"To list all of the images available on your account, send a GET request to /v2/images.\\n\\n## Filtering Results\\n-----\\n\\nIt's possible to request filtered results by including certain query parameters.\\n\\n**Image Type**\\n\\nEither 1-Click Application or OS Distribution images can be filtered by using the `type` query parameter.\\n\\n> Important: The `type` query parameter does not directly relate to the `type` attribute.\\n\\nTo retrieve only ***distribution*** images, include the `type` query parameter set to distribution, `/v2/images?type=distribution`.\\n\\nTo retrieve only ***application*** images, include the `type` query parameter set to application, `/v2/images?type=application`.\\n\\n**User Images**\\n\\nTo retrieve only the private images of a user, include the `private` query parameter set to true, `/v2/images?private=true`.\\n\\n**Tags**\\n\\nTo list all images assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your GET request. For example, `/v2/images?tag_name=$TAG_NAME`.\\n\",\n        \"operationId\": \"images_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Filters results based on image type which can be either `application` or `distribution`.\",\n            \"example\": \"distribution\",\n            \"in\": \"query\",\n            \"name\": \"type\",\n            \"required\": false,\n            \"schema\": {\n              \"enum\": [\n                \"application\",\n                \"distribution\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Used to filter only user images.\",\n            \"example\": true,\n            \"in\": \"query\",\n            \"name\": \"private\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"description\": \"Used to filter images by a specific tag.\",\n            \"example\": \"base-image\",\n            \"in\": \"query\",\n            \"name\": \"tag_name\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"All\": {\n                    \"value\": {\n                      \"images\": [\n                        {\n                          \"created_at\": \"2014-11-04T22:23:02Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"Ubuntu\",\n                          \"error_message\": \"\",\n                          \"id\": 7555620,\n                          \"min_disk_size\": 20,\n                          \"name\": \"Nifty New Snapshot\",\n                          \"public\": false,\n                          \"regions\": [\n                            \"nyc2\",\n                            \"nyc3\"\n                          ],\n                          \"size_gigabytes\": 2.34,\n                          \"slug\": null,\n                          \"status\": \"available\",\n                          \"tags\": [],\n                          \"type\": \"snapshot\"\n                        },\n                        {\n                          \"created_at\": \"2014-11-04T22:23:02Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"Ubuntu\",\n                          \"error_message\": \"\",\n                          \"id\": 7555621,\n                          \"min_disk_size\": 20,\n                          \"name\": \"Another Snapshot\",\n                          \"public\": false,\n                          \"regions\": [\n                            \"nyc2\"\n                          ],\n                          \"size_gigabytes\": 2.34,\n                          \"slug\": null,\n                          \"status\": \"available\",\n                          \"tags\": [],\n                          \"type\": \"snapshot\"\n                        },\n                        {\n                          \"created_at\": \"2020-05-15T05:47:50Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"Ubuntu\",\n                          \"error_message\": \"\",\n                          \"id\": 63663980,\n                          \"min_disk_size\": 20,\n                          \"name\": \"20.04 (LTS) x64\",\n                          \"public\": true,\n                          \"regions\": [\n                            \"nyc2\",\n                            \"nyc3\"\n                          ],\n                          \"size_gigabytes\": 2.36,\n                          \"slug\": \"ubuntu-20-04-x64\",\n                          \"status\": \"available\",\n                          \"tags\": [],\n                          \"type\": \"snapshot\"\n                        },\n                        {\n                          \"created_at\": \"2014-11-04T22:23:02Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"Arch Linux\",\n                          \"error_message\": \"\",\n                          \"id\": 7555621,\n                          \"min_disk_size\": 20,\n                          \"name\": \"A custom image\",\n                          \"public\": false,\n                          \"regions\": [\n                            \"nyc3\"\n                          ],\n                          \"size_gigabytes\": 2.34,\n                          \"slug\": null,\n                          \"status\": \"available\",\n                          \"tags\": [],\n                          \"type\": \"custom\"\n                        },\n                        {\n                          \"created_at\": \"2014-11-04T22:23:02Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"Fedora\",\n                          \"error_message\": \"\",\n                          \"id\": 7555621,\n                          \"min_disk_size\": 20,\n                          \"name\": \"An APP image\",\n                          \"public\": false,\n                          \"regions\": [\n                            \"nyc2\",\n                            \"nyc3\"\n                          ],\n                          \"size_gigabytes\": 2.34,\n                          \"slug\": null,\n                          \"status\": \"available\",\n                          \"tags\": [],\n                          \"type\": \"snapshot\"\n                        },\n                        {\n                          \"created_at\": \"2014-11-04T22:23:02Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"CentOS\",\n                          \"error_message\": \"\",\n                          \"id\": 7555621,\n                          \"min_disk_size\": 20,\n                          \"name\": \"A simple tagged image\",\n                          \"public\": false,\n                          \"regions\": [\n                            \"nyc2\",\n                            \"nyc3\"\n                          ],\n                          \"size_gigabytes\": 2.34,\n                          \"slug\": null,\n                          \"status\": \"available\",\n                          \"tags\": [\n                            \"simple-image\"\n                          ],\n                          \"type\": \"snapshot\"\n                        }\n                      ],\n                      \"links\": {\n                        \"pages\": {}\n                      },\n                      \"meta\": {\n                        \"total\": 6\n                      }\n                    }\n                  },\n                  \"Application\": {\n                    \"description\": \"**Important:**  \\nThe `type` query parameter is not directly related to the `type` attribute.\\n\",\n                    \"value\": {\n                      \"images\": [\n                        {\n                          \"created_at\": \"2014-11-04T22:23:02Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"Fedora\",\n                          \"error_message\": \"\",\n                          \"id\": 7555621,\n                          \"min_disk_size\": 20,\n                          \"name\": \"An APP image\",\n                          \"public\": false,\n                          \"regions\": [\n                            \"nyc2\",\n                            \"nyc3\"\n                          ],\n                          \"size_gigabytes\": 2.34,\n                          \"slug\": null,\n                          \"status\": \"available\",\n                          \"tags\": [],\n                          \"type\": \"snapshot\"\n                        }\n                      ],\n                      \"links\": {\n                        \"pages\": {}\n                      },\n                      \"meta\": {\n                        \"total\": 1\n                      }\n                    }\n                  },\n                  \"Custom\": {\n                    \"value\": {\n                      \"images\": [\n                        {\n                          \"created_at\": \"2014-11-04T22:23:02Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"Arch Linux\",\n                          \"error_message\": \"\",\n                          \"id\": 7555621,\n                          \"min_disk_size\": 20,\n                          \"name\": \"A custom image\",\n                          \"public\": false,\n                          \"regions\": [\n                            \"nyc3\"\n                          ],\n                          \"size_gigabytes\": 2.34,\n                          \"slug\": null,\n                          \"status\": \"available\",\n                          \"tags\": [],\n                          \"type\": \"custom\"\n                        }\n                      ],\n                      \"links\": {\n                        \"pages\": {}\n                      },\n                      \"meta\": {\n                        \"total\": 1\n                      }\n                    }\n                  },\n                  \"Distribution\": {\n                    \"description\": \"**Important:**  \\nThe `type` query parameter is not directly related to the `type` attribute.\\nThe main thing to remember here is that DigitalOcean-produced distribution images will have `snapshot` as the type attribute. \\n\",\n                    \"value\": {\n                      \"images\": [\n                        {\n                          \"created_at\": \"2020-05-15T05:47:50Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"Ubuntu\",\n                          \"error_message\": \"\",\n                          \"id\": 63663980,\n                          \"min_disk_size\": 20,\n                          \"name\": \"20.04 (LTS) x64\",\n                          \"public\": true,\n                          \"regions\": [\n                            \"nyc2\",\n                            \"nyc3\"\n                          ],\n                          \"size_gigabytes\": 2.36,\n                          \"slug\": \"ubuntu-20-04-x64\",\n                          \"status\": \"available\",\n                          \"tags\": [],\n                          \"type\": \"snapshot\"\n                        }\n                      ],\n                      \"links\": {\n                        \"pages\": {}\n                      },\n                      \"meta\": {\n                        \"total\": 1\n                      }\n                    }\n                  },\n                  \"Snapshots\": {\n                    \"value\": {\n                      \"images\": [\n                        {\n                          \"created_at\": \"2014-11-04T22:23:02Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"Ubuntu\",\n                          \"error_message\": \"\",\n                          \"id\": 7555620,\n                          \"min_disk_size\": 20,\n                          \"name\": \"Nifty New Snapshot\",\n                          \"public\": false,\n                          \"regions\": [\n                            \"nyc2\",\n                            \"nyc3\"\n                          ],\n                          \"size_gigabytes\": 2.34,\n                          \"slug\": null,\n                          \"status\": \"available\",\n                          \"tags\": [],\n                          \"type\": \"snapshot\"\n                        },\n                        {\n                          \"created_at\": \"2014-11-04T22:23:02Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"Ubuntu\",\n                          \"error_message\": \"\",\n                          \"id\": 7555621,\n                          \"min_disk_size\": 20,\n                          \"name\": \"Another Snapshot\",\n                          \"public\": false,\n                          \"regions\": [\n                            \"nyc2\"\n                          ],\n                          \"size_gigabytes\": 2.34,\n                          \"slug\": null,\n                          \"status\": \"available\",\n                          \"tags\": [],\n                          \"type\": \"snapshot\"\n                        }\n                      ],\n                      \"links\": {\n                        \"pages\": {}\n                      },\n                      \"meta\": {\n                        \"total\": 2\n                      }\n                    }\n                  },\n                  \"Tagged\": {\n                    \"value\": {\n                      \"images\": [\n                        {\n                          \"created_at\": \"2014-11-04T22:23:02Z\",\n                          \"description\": \"\",\n                          \"distribution\": \"CentOS\",\n                          \"error_message\": \"\",\n                          \"id\": 7555621,\n                          \"min_disk_size\": 20,\n                          \"name\": \"A simple tagged image\",\n                          \"public\": false,\n                          \"regions\": [\n                            \"nyc2\",\n                            \"nyc3\"\n                          ],\n                          \"size_gigabytes\": 2.34,\n                          \"slug\": null,\n                          \"status\": \"available\",\n                          \"tags\": [\n                            \"simple-image\"\n                          ],\n                          \"type\": \"snapshot\"\n                        }\n                      ],\n                      \"links\": {\n                        \"pages\": {}\n                      },\n                      \"meta\": {\n                        \"total\": 1\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"images\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"created_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                                \"example\": \"2020-05-04T22:23:02Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"description\": {\n                                \"description\": \"An optional free-form text field to describe an image.\",\n                                \"example\": \" \",\n                                \"type\": \"string\"\n                              },\n                              \"distribution\": {\n                                \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                                \"enum\": [\n                                  \"Arch Linux\",\n                                  \"CentOS\",\n                                  \"CoreOS\",\n                                  \"Debian\",\n                                  \"Fedora\",\n                                  \"Fedora Atomic\",\n                                  \"FreeBSD\",\n                                  \"Gentoo\",\n                                  \"openSUSE\",\n                                  \"RancherOS\",\n                                  \"Rocky Linux\",\n                                  \"Ubuntu\",\n                                  \"Unknown\"\n                                ],\n                                \"example\": \"Ubuntu\",\n                                \"type\": \"string\"\n                              },\n                              \"error_message\": {\n                                \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                                \"example\": \" \",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                                \"example\": 7555620,\n                                \"readOnly\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"min_disk_size\": {\n                                \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                                \"example\": 20,\n                                \"minimum\": 0,\n                                \"nullable\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"name\": {\n                                \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                                \"example\": \"Nifty New Snapshot\",\n                                \"type\": \"string\"\n                              },\n                              \"public\": {\n                                \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"regions\": {\n                                \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                                \"example\": [\n                                  \"nyc1\",\n                                  \"nyc2\"\n                                ],\n                                \"items\": {\n                                  \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                                  \"enum\": [\n                                    \"ams1\",\n                                    \"ams2\",\n                                    \"ams3\",\n                                    \"blr1\",\n                                    \"fra1\",\n                                    \"lon1\",\n                                    \"nyc1\",\n                                    \"nyc2\",\n                                    \"nyc3\",\n                                    \"sfo1\",\n                                    \"sfo2\",\n                                    \"sfo3\",\n                                    \"sgp1\",\n                                    \"tor1\"\n                                  ],\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"size_gigabytes\": {\n                                \"description\": \"The size of the image in gigabytes.\",\n                                \"example\": 2.34,\n                                \"format\": \"float\",\n                                \"nullable\": true,\n                                \"type\": \"number\"\n                              },\n                              \"slug\": {\n                                \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                                \"example\": \"nifty1\",\n                                \"nullable\": true,\n                                \"type\": \"string\"\n                              },\n                              \"status\": {\n                                \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                                \"enum\": [\n                                  \"NEW\",\n                                  \"available\",\n                                  \"pending\",\n                                  \"deleted\",\n                                  \"retired\"\n                                ],\n                                \"example\": \"NEW\",\n                                \"type\": \"string\"\n                              },\n                              \"tags\": {\n                                \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                \"example\": [\n                                  \"base-image\",\n                                  \"prod\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"nullable\": true,\n                                \"type\": \"array\"\n                              },\n                              \"type\": {\n                                \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                                \"enum\": [\n                                  \"base\",\n                                  \"snapshot\",\n                                  \"backup\",\n                                  \"custom\",\n                                  \"admin\"\n                                ],\n                                \"example\": \"snapshot\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"required\": [\n                        \"images\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `images`.  This will be set to an array of image objects, each of which will contain the standard image attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Images\",\n        \"tags\": [\n          \"Images\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/images?page=1&per_page=1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    // List all images\\n    images, _, err := client.Images.List(ctx, opt)\\n\\n    // List all application images\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    images, _, err := client.Images.ListApplication(ctx, opt) \\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\n# List all images\\nimages = client.images.all\\nimages.each\\n\\n# List all application images\\nimages = client.images.all(type: 'application')\\nimages.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a new custom image, send a POST request to /v2/images.\\nThe body must contain a url attribute pointing to a Linux virtual machine\\nimage to be imported into DigitalOcean.\\nThe image must be in the raw, qcow2, vhdx, vdi, or vmdk format.\\nIt may be compressed using gzip or bzip2 and must be smaller than 100 GB after\\n being decompressed.\\n\",\n        \"operationId\": \"images_create_custom\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"description\": {\n                        \"description\": \"An optional free-form text field to describe an image.\",\n                        \"example\": \" \",\n                        \"type\": \"string\"\n                      },\n                      \"distribution\": {\n                        \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                        \"enum\": [\n                          \"Arch Linux\",\n                          \"CentOS\",\n                          \"CoreOS\",\n                          \"Debian\",\n                          \"Fedora\",\n                          \"Fedora Atomic\",\n                          \"FreeBSD\",\n                          \"Gentoo\",\n                          \"openSUSE\",\n                          \"RancherOS\",\n                          \"Rocky Linux\",\n                          \"Ubuntu\",\n                          \"Unknown\"\n                        ],\n                        \"example\": \"Ubuntu\",\n                        \"type\": \"string\"\n                      },\n                      \"name\": {\n                        \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                        \"example\": \"Nifty New Snapshot\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"properties\": {\n                      \"region\": {\n                        \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                        \"enum\": [\n                          \"ams1\",\n                          \"ams2\",\n                          \"ams3\",\n                          \"blr1\",\n                          \"fra1\",\n                          \"lon1\",\n                          \"nyc1\",\n                          \"nyc2\",\n                          \"nyc3\",\n                          \"sfo1\",\n                          \"sfo2\",\n                          \"sfo3\",\n                          \"sgp1\",\n                          \"tor1\"\n                        ],\n                        \"example\": \"nyc3\",\n                        \"type\": \"string\"\n                      },\n                      \"tags\": {\n                        \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                        \"example\": [\n                          \"base-image\",\n                          \"prod\"\n                        ],\n                        \"items\": {\n                          \"type\": \"string\"\n                        },\n                        \"nullable\": true,\n                        \"type\": \"array\"\n                      },\n                      \"url\": {\n                        \"description\": \"A URL from which the custom Linux virtual machine image may be retrieved.  The image it points to must be in the raw, qcow2, vhdx, vdi, or vmdk format.  It may be compressed using gzip or bzip2 and must be smaller than 100 GB after being decompressed.\",\n                        \"example\": \"http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img\",\n                        \"type\": \"string\"\n                      }\n                    }\n                  }\n                ],\n                \"example\": {\n                  \"description\": \"Cloud-optimized image w/ small footprint\",\n                  \"distribution\": \"Ubuntu\",\n                  \"name\": \"ubuntu-18.04-minimal\",\n                  \"region\": \"nyc3\",\n                  \"tags\": [\n                    \"base-image\",\n                    \"prod\"\n                  ],\n                  \"url\": \"http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img\"\n                },\n                \"required\": [\n                  \"name\",\n                  \"url\",\n                  \"region\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"202\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"image\": {\n                    \"created_at\": \"2018-09-20T19:28:00Z\",\n                    \"description\": \"Cloud-optimized image w/ small footprint\",\n                    \"distribution\": \"Ubuntu\",\n                    \"error_message\": \"\",\n                    \"id\": 38413969,\n                    \"name\": \"ubuntu-18.04-minimal\",\n                    \"regions\": [],\n                    \"status\": \"NEW\",\n                    \"tags\": [\n                      \"base-image\",\n                      \"prod\"\n                    ],\n                    \"type\": \"custom\"\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"image\": {\n                      \"properties\": {\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                          \"example\": \"2020-05-04T22:23:02Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"description\": {\n                          \"description\": \"An optional free-form text field to describe an image.\",\n                          \"example\": \" \",\n                          \"type\": \"string\"\n                        },\n                        \"distribution\": {\n                          \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                          \"enum\": [\n                            \"Arch Linux\",\n                            \"CentOS\",\n                            \"CoreOS\",\n                            \"Debian\",\n                            \"Fedora\",\n                            \"Fedora Atomic\",\n                            \"FreeBSD\",\n                            \"Gentoo\",\n                            \"openSUSE\",\n                            \"RancherOS\",\n                            \"Rocky Linux\",\n                            \"Ubuntu\",\n                            \"Unknown\"\n                          ],\n                          \"example\": \"Ubuntu\",\n                          \"type\": \"string\"\n                        },\n                        \"error_message\": {\n                          \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                          \"example\": \" \",\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                          \"example\": 7555620,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"min_disk_size\": {\n                          \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                          \"example\": 20,\n                          \"minimum\": 0,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"name\": {\n                          \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                          \"example\": \"Nifty New Snapshot\",\n                          \"type\": \"string\"\n                        },\n                        \"public\": {\n                          \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"regions\": {\n                          \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                          \"example\": [\n                            \"nyc1\",\n                            \"nyc2\"\n                          ],\n                          \"items\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"size_gigabytes\": {\n                          \"description\": \"The size of the image in gigabytes.\",\n                          \"example\": 2.34,\n                          \"format\": \"float\",\n                          \"nullable\": true,\n                          \"type\": \"number\"\n                        },\n                        \"slug\": {\n                          \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                          \"example\": \"nifty1\",\n                          \"nullable\": true,\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                          \"enum\": [\n                            \"NEW\",\n                            \"available\",\n                            \"pending\",\n                            \"deleted\",\n                            \"retired\"\n                          ],\n                          \"example\": \"NEW\",\n                          \"type\": \"string\"\n                        },\n                        \"tags\": {\n                          \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                          \"example\": [\n                            \"base-image\",\n                            \"prod\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"nullable\": true,\n                          \"type\": \"array\"\n                        },\n                        \"type\": {\n                          \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                          \"enum\": [\n                            \"base\",\n                            \"snapshot\",\n                            \"backup\",\n                            \"custom\",\n                            \"admin\"\n                          ],\n                          \"example\": \"snapshot\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key set to `image`.  The value of this will be an image object containing a subset of the standard  image attributes as listed below, including the image's `id` and `status`.  After initial creation, the `status` will be `NEW`. Using the image's id, you  may query the image's status by sending a `GET` request to the  `/v2/images/$IMAGE_ID` endpoint.  When the `status` changes to `available`, the image will be ready for use.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a Custom Image\",\n        \"tags\": [\n          \"Images\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"ubuntu-18.04-minimal\\\", \\\"url\\\": \\\"http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img\\\", \\\"distribution\\\": \\\"Ubuntu\\\", \\\"region\\\": \\\"nyc3\\\", \\\"description\\\": \\\"Cloud-optimized image w/ small footprint\\\", \\\"tags\\\":[\\\"base-image\\\", \\\"prod\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/images\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/images/{image_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a snapshot or custom image, send a `DELETE` request to `/v2/images/$IMAGE_ID`.\\n\",\n        \"operationId\": \"images_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n            \"example\": 62137902,\n            \"in\": \"path\",\n            \"name\": \"image_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete an Image\",\n        \"tags\": [\n          \"Images\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/images/7938391\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Images.Delete(ctx, 7938391)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.images.delete(id: 7938391)\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To retrieve information about an image, send a `GET` request to\\n`/v2/images/$IDENTIFIER`.\\n\",\n        \"operationId\": \"images_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique number (id) or string (slug) used to identify and reference a\\nspecific image.\\n\\n**Public** images can be identified by image `id` or `slug`.\\n\\n**Private** images *must* be identified by image `id`.\\n\",\n            \"examples\": {\n              \"byId\": {\n                \"summary\": \"Retrieve a public or private image by id\",\n                \"value\": 62137902\n              },\n              \"bySlug\": {\n                \"summary\": \"Retrieve a public image by slug\",\n                \"value\": \"ubuntu-16-04-x64\"\n              }\n            },\n            \"in\": \"path\",\n            \"name\": \"image_id\",\n            \"required\": true,\n            \"schema\": {\n              \"anyOf\": [\n                {\n                  \"type\": \"integer\"\n                },\n                {\n                  \"type\": \"string\"\n                }\n              ]\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"image\": {\n                    \"created_at\": \"2014-10-17T20:24:33Z\",\n                    \"description\": \"\",\n                    \"distribution\": \"Ubuntu\",\n                    \"error_message\": \"\",\n                    \"id\": 6918990,\n                    \"min_disk_size\": 20,\n                    \"name\": \"14.04 x64\",\n                    \"public\": true,\n                    \"regions\": [\n                      \"nyc1\",\n                      \"ams1\",\n                      \"sfo1\",\n                      \"nyc2\",\n                      \"ams2\",\n                      \"sgp1\",\n                      \"lon1\",\n                      \"nyc3\",\n                      \"ams3\",\n                      \"nyc3\"\n                    ],\n                    \"size_gigabytes\": 2.34,\n                    \"slug\": \"ubuntu-16-04-x64\",\n                    \"status\": \"available\",\n                    \"tags\": []\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"image\": {\n                      \"properties\": {\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                          \"example\": \"2020-05-04T22:23:02Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"description\": {\n                          \"description\": \"An optional free-form text field to describe an image.\",\n                          \"example\": \" \",\n                          \"type\": \"string\"\n                        },\n                        \"distribution\": {\n                          \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                          \"enum\": [\n                            \"Arch Linux\",\n                            \"CentOS\",\n                            \"CoreOS\",\n                            \"Debian\",\n                            \"Fedora\",\n                            \"Fedora Atomic\",\n                            \"FreeBSD\",\n                            \"Gentoo\",\n                            \"openSUSE\",\n                            \"RancherOS\",\n                            \"Rocky Linux\",\n                            \"Ubuntu\",\n                            \"Unknown\"\n                          ],\n                          \"example\": \"Ubuntu\",\n                          \"type\": \"string\"\n                        },\n                        \"error_message\": {\n                          \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                          \"example\": \" \",\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                          \"example\": 7555620,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"min_disk_size\": {\n                          \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                          \"example\": 20,\n                          \"minimum\": 0,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"name\": {\n                          \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                          \"example\": \"Nifty New Snapshot\",\n                          \"type\": \"string\"\n                        },\n                        \"public\": {\n                          \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"regions\": {\n                          \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                          \"example\": [\n                            \"nyc1\",\n                            \"nyc2\"\n                          ],\n                          \"items\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"size_gigabytes\": {\n                          \"description\": \"The size of the image in gigabytes.\",\n                          \"example\": 2.34,\n                          \"format\": \"float\",\n                          \"nullable\": true,\n                          \"type\": \"number\"\n                        },\n                        \"slug\": {\n                          \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                          \"example\": \"nifty1\",\n                          \"nullable\": true,\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                          \"enum\": [\n                            \"NEW\",\n                            \"available\",\n                            \"pending\",\n                            \"deleted\",\n                            \"retired\"\n                          ],\n                          \"example\": \"NEW\",\n                          \"type\": \"string\"\n                        },\n                        \"tags\": {\n                          \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                          \"example\": [\n                            \"base-image\",\n                            \"prod\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"nullable\": true,\n                          \"type\": \"array\"\n                        },\n                        \"type\": {\n                          \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                          \"enum\": [\n                            \"base\",\n                            \"snapshot\",\n                            \"backup\",\n                            \"custom\",\n                            \"admin\"\n                          ],\n                          \"example\": \"snapshot\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"required\": [\n                    \"image\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `image`.  The value of this will be an image object containing the standard image attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Image\",\n        \"tags\": [\n          \"Images\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"# Get existing image by ID\\ncurl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/images/7555620\\\"\\n\\n# Get existing image by slug\\ncurl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/images/ubuntu-16-04-x64\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    // Get existing image by ID\\n    image, _, err := client.Images.GetByID(ctx, 7555620)\\n\\n    // Get existing image by slug\\n    // image, _, err := client.Images.GetBySlug(ctx, \\\"ubuntu-16-04-x64\\\") \\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\n# Retrieve image by ID\\nclient.images.find(id: '7555620')\\n\\n# Retrieve image by slug\\nclient.images.find(id: 'ubuntu-16-04-x64')\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update an image, send a `PUT` request to `/v2/images/$IMAGE_ID`.\\nSet the `name` attribute to the new value you would like to use.\\nFor custom images, the `description` and `distribution` attributes may also be updated.\\n\",\n        \"operationId\": \"images_update\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n            \"example\": 62137902,\n            \"in\": \"path\",\n            \"name\": \"image_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"description\": {\n                    \"description\": \"An optional free-form text field to describe an image.\",\n                    \"example\": \" \",\n                    \"type\": \"string\"\n                  },\n                  \"distribution\": {\n                    \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                    \"enum\": [\n                      \"Arch Linux\",\n                      \"CentOS\",\n                      \"CoreOS\",\n                      \"Debian\",\n                      \"Fedora\",\n                      \"Fedora Atomic\",\n                      \"FreeBSD\",\n                      \"Gentoo\",\n                      \"openSUSE\",\n                      \"RancherOS\",\n                      \"Rocky Linux\",\n                      \"Ubuntu\",\n                      \"Unknown\"\n                    ],\n                    \"example\": \"Ubuntu\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                    \"example\": \"Nifty New Snapshot\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"image\": {\n                    \"created_at\": \"2014-11-14T16:44:03Z\",\n                    \"description\": \"\",\n                    \"distribution\": \"Ubuntu\",\n                    \"error_message\": \"\",\n                    \"id\": 7938391,\n                    \"min_disk_size\": 20,\n                    \"name\": \"new-image-name\",\n                    \"public\": false,\n                    \"regions\": [\n                      \"nyc3\",\n                      \"nyc3\"\n                    ],\n                    \"size_gigabytes\": 2.34,\n                    \"slug\": null,\n                    \"status\": \"available\",\n                    \"tags\": []\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"image\": {\n                      \"properties\": {\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                          \"example\": \"2020-05-04T22:23:02Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"description\": {\n                          \"description\": \"An optional free-form text field to describe an image.\",\n                          \"example\": \" \",\n                          \"type\": \"string\"\n                        },\n                        \"distribution\": {\n                          \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                          \"enum\": [\n                            \"Arch Linux\",\n                            \"CentOS\",\n                            \"CoreOS\",\n                            \"Debian\",\n                            \"Fedora\",\n                            \"Fedora Atomic\",\n                            \"FreeBSD\",\n                            \"Gentoo\",\n                            \"openSUSE\",\n                            \"RancherOS\",\n                            \"Rocky Linux\",\n                            \"Ubuntu\",\n                            \"Unknown\"\n                          ],\n                          \"example\": \"Ubuntu\",\n                          \"type\": \"string\"\n                        },\n                        \"error_message\": {\n                          \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                          \"example\": \" \",\n                          \"type\": \"string\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                          \"example\": 7555620,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"min_disk_size\": {\n                          \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                          \"example\": 20,\n                          \"minimum\": 0,\n                          \"nullable\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"name\": {\n                          \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                          \"example\": \"Nifty New Snapshot\",\n                          \"type\": \"string\"\n                        },\n                        \"public\": {\n                          \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"regions\": {\n                          \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                          \"example\": [\n                            \"nyc1\",\n                            \"nyc2\"\n                          ],\n                          \"items\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"size_gigabytes\": {\n                          \"description\": \"The size of the image in gigabytes.\",\n                          \"example\": 2.34,\n                          \"format\": \"float\",\n                          \"nullable\": true,\n                          \"type\": \"number\"\n                        },\n                        \"slug\": {\n                          \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                          \"example\": \"nifty1\",\n                          \"nullable\": true,\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                          \"enum\": [\n                            \"NEW\",\n                            \"available\",\n                            \"pending\",\n                            \"deleted\",\n                            \"retired\"\n                          ],\n                          \"example\": \"NEW\",\n                          \"type\": \"string\"\n                        },\n                        \"tags\": {\n                          \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                          \"example\": [\n                            \"base-image\",\n                            \"prod\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"nullable\": true,\n                          \"type\": \"array\"\n                        },\n                        \"type\": {\n                          \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                          \"enum\": [\n                            \"base\",\n                            \"snapshot\",\n                            \"backup\",\n                            \"custom\",\n                            \"admin\"\n                          ],\n                          \"example\": \"snapshot\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"required\": [\n                    \"image\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key set to `image`.  The value of this will be an image object containing the standard image attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update an Image\",\n        \"tags\": [\n          \"Images\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"new-image-name\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/images/7938391\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    updateRequest := &godo.ImageUpdateRequest{\\n        Name: \\\"new-image-name\\\",\\n    }\\n\\n    image, _, err := client.Images.Update(ctx, id, updateRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nimage = DropletKit::Image.new(name: 'new-image-name')\\nclient.images.update(image, id: 7938391)\"\n          }\n        ]\n      }\n    },\n    \"/v2/images/{image_id}/actions\": {\n      \"get\": {\n        \"description\": \"To retrieve all actions that have been executed on an image, send a GET request to `/v2/images/$IMAGE_ID/actions`.\",\n        \"operationId\": \"imageActions_list\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n            \"example\": 62137902,\n            \"in\": \"path\",\n            \"name\": \"image_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"actions\": [\n                    {\n                      \"completed_at\": \"2014-07-25T15:10:20Z\",\n                      \"id\": 29410565,\n                      \"region\": {\n                        \"available\": true,\n                        \"features\": [\n                          \"private_networking\",\n                          \"backups\",\n                          \"ipv6\",\n                          \"metadata\",\n                          \"server_id\",\n                          \"install_agent\",\n                          \"storage\",\n                          \"image_transfer\"\n                        ],\n                        \"name\": \"New York 2\",\n                        \"sizes\": [\n                          \"s-1vcpu-3gb\",\n                          \"m-1vcpu-8gb\",\n                          \"s-3vcpu-1gb\",\n                          \"s-1vcpu-2gb\",\n                          \"s-2vcpu-2gb\",\n                          \"s-2vcpu-4gb\",\n                          \"s-4vcpu-8gb\",\n                          \"s-6vcpu-16gb\",\n                          \"s-8vcpu-32gb\",\n                          \"s-12vcpu-48gb\",\n                          \"s-16vcpu-64gb\",\n                          \"s-20vcpu-96gb\",\n                          \"s-1vcpu-1gb\",\n                          \"c-1vcpu-2gb\",\n                          \"s-24vcpu-128gb\"\n                        ],\n                        \"slug\": \"nyc2\"\n                      },\n                      \"region_slug\": \"nyc2\",\n                      \"resource_id\": 7555620,\n                      \"resource_type\": \"image\",\n                      \"started_at\": \"2014-07-25T15:04:21Z\",\n                      \"status\": \"completed\",\n                      \"type\": \"transfer\"\n                    }\n                  ],\n                  \"links\": {\n                    \"pages\": {\n                      \"last\": \"https://api.digitalocean.com/v2/images/7555620/actions?page=5&per_page=1\",\n                      \"next\": \"https://api.digitalocean.com/v2/images/7555620/actions?page=2&per_page=1\"\n                    }\n                  },\n                  \"meta\": {\n                    \"total\": 5\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"actions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"completed_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                                \"example\": \"2020-11-14T16:30:06Z\",\n                                \"format\": \"date-time\",\n                                \"nullable\": true,\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                                \"example\": 36804636,\n                                \"type\": \"integer\"\n                              },\n                              \"region\": {\n                                \"properties\": {\n                                  \"available\": {\n                                    \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"features\": {\n                                    \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                    \"example\": [\n                                      \"private_networking\",\n                                      \"backups\",\n                                      \"ipv6\",\n                                      \"metadata\",\n                                      \"install_agent\",\n                                      \"storage\",\n                                      \"image_transfer\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                    \"example\": \"New York 3\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"sizes\": {\n                                    \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                    \"example\": [\n                                      \"s-1vcpu-1gb\",\n                                      \"s-1vcpu-2gb\",\n                                      \"s-1vcpu-3gb\",\n                                      \"s-2vcpu-2gb\",\n                                      \"s-3vcpu-1gb\",\n                                      \"s-2vcpu-4gb\",\n                                      \"s-4vcpu-8gb\",\n                                      \"s-6vcpu-16gb\",\n                                      \"s-8vcpu-32gb\",\n                                      \"s-12vcpu-48gb\",\n                                      \"s-16vcpu-64gb\",\n                                      \"s-20vcpu-96gb\",\n                                      \"s-24vcpu-128gb\",\n                                      \"s-32vcpu-192g\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"available\",\n                                  \"features\",\n                                  \"name\",\n                                  \"sizes\",\n                                  \"slug\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"region_slug\": {\n                                \"allOf\": [\n                                  {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  },\n                                  {\n                                    \"nullable\": true,\n                                    \"type\": \"string\"\n                                  }\n                                ]\n                              },\n                              \"resource_id\": {\n                                \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                                \"example\": 3164444,\n                                \"nullable\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"resource_type\": {\n                                \"description\": \"The type of resource that the action is associated with.\",\n                                \"example\": \"droplet\",\n                                \"type\": \"string\"\n                              },\n                              \"started_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                                \"example\": \"2020-11-14T16:29:21Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"status\": {\n                                \"default\": \"in-progress\",\n                                \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                                \"enum\": [\n                                  \"in-progress\",\n                                  \"completed\",\n                                  \"errored\"\n                                ],\n                                \"example\": \"completed\",\n                                \"type\": \"string\"\n                              },\n                              \"type\": {\n                                \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                                \"example\": \"create\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard action attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Actions for an Image\",\n        \"tags\": [\n          \"Image Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/images/7555620/actions?page=1&per_page=1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    \\n}\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"The following actions are available on an Image.\\n\\n## Convert an Image to a Snapshot\\n\\nTo convert an image, for example, a backup to a snapshot, send a POST request\\nto `/v2/images/$IMAGE_ID/actions`. Set the `type` attribute to `convert`.\\n\\n## Transfer an Image\\n\\nTo transfer an image to another region, send a POST request to\\n`/v2/images/$IMAGE_ID/actions`. Set the `type` attribute to `transfer` and set\\n`region` attribute to the slug identifier of the region you wish to transfer\\nto.\\n\",\n        \"operationId\": \"imageActions_post\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n            \"example\": 62137902,\n            \"in\": \"path\",\n            \"name\": \"image_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"anyOf\": [\n                  {\n                    \"properties\": {\n                      \"type\": {\n                        \"description\": \"The action to be taken on the image. Can be either `convert` or `transfer`.\",\n                        \"enum\": [\n                          \"convert\",\n                          \"transfer\"\n                        ],\n                        \"example\": \"convert\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"required\": [\n                      \"type\"\n                    ],\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"type\": {\n                            \"description\": \"The action to be taken on the image. Can be either `convert` or `transfer`.\",\n                            \"enum\": [\n                              \"convert\",\n                              \"transfer\"\n                            ],\n                            \"example\": \"convert\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\",\n                          \"region\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ]\n                  }\n                ],\n                \"discriminator\": {\n                  \"mapping\": {\n                    \"convert\": \"models/image_action.yml#/image_action_base\",\n                    \"transfer\": \"models/image_action.yml#/image_action_transfer\"\n                  },\n                  \"propertyName\": \"type\"\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"action\": {\n                    \"completed_at\": null,\n                    \"id\": 36805527,\n                    \"region\": {\n                      \"available\": true,\n                      \"features\": [\n                        \"private_networking\",\n                        \"backups\",\n                        \"ipv6\",\n                        \"metadata\",\n                        \"server_id\",\n                        \"install_agent\",\n                        \"storage\",\n                        \"image_transfer\"\n                      ],\n                      \"name\": \"New York 3\",\n                      \"sizes\": [\n                        \"s-1vcpu-3gb\",\n                        \"m-1vcpu-8gb\",\n                        \"s-3vcpu-1gb\",\n                        \"s-1vcpu-2gb\",\n                        \"s-2vcpu-2gb\",\n                        \"s-2vcpu-4gb\",\n                        \"s-4vcpu-8gb\",\n                        \"s-6vcpu-16gb\",\n                        \"s-8vcpu-32gb\",\n                        \"s-12vcpu-48gb\",\n                        \"s-16vcpu-64gb\",\n                        \"s-20vcpu-96gb\",\n                        \"s-1vcpu-1gb\",\n                        \"c-1vcpu-2gb\",\n                        \"s-24vcpu-128gb\"\n                      ],\n                      \"slug\": \"nyc3\"\n                    },\n                    \"region_slug\": \"nyc3\",\n                    \"resource_id\": 7938269,\n                    \"resource_type\": \"image\",\n                    \"started_at\": \"2014-11-14T16:42:45Z\",\n                    \"status\": \"in-progress\",\n                    \"type\": \"transfer\"\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"completed_at\": {\n                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                      \"example\": \"2020-11-14T16:30:06Z\",\n                      \"format\": \"date-time\",\n                      \"nullable\": true,\n                      \"type\": \"string\"\n                    },\n                    \"id\": {\n                      \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                      \"example\": 36804636,\n                      \"type\": \"integer\"\n                    },\n                    \"region\": {\n                      \"properties\": {\n                        \"available\": {\n                          \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"features\": {\n                          \"description\": \"This attribute is set to an array which contains features available in this region\",\n                          \"example\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"name\": {\n                          \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                          \"example\": \"New York 3\",\n                          \"type\": \"string\"\n                        },\n                        \"sizes\": {\n                          \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                          \"example\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"slug\": {\n                          \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                          \"example\": \"nyc3\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"available\",\n                        \"features\",\n                        \"name\",\n                        \"sizes\",\n                        \"slug\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"region_slug\": {\n                      \"allOf\": [\n                        {\n                          \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                          \"example\": \"nyc3\",\n                          \"type\": \"string\"\n                        },\n                        {\n                          \"nullable\": true,\n                          \"type\": \"string\"\n                        }\n                      ]\n                    },\n                    \"resource_id\": {\n                      \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                      \"example\": 3164444,\n                      \"nullable\": true,\n                      \"type\": \"integer\"\n                    },\n                    \"resource_type\": {\n                      \"description\": \"The type of resource that the action is associated with.\",\n                      \"example\": \"droplet\",\n                      \"type\": \"string\"\n                    },\n                    \"started_at\": {\n                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                      \"example\": \"2020-11-14T16:29:21Z\",\n                      \"format\": \"date-time\",\n                      \"type\": \"string\"\n                    },\n                    \"status\": {\n                      \"default\": \"in-progress\",\n                      \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                      \"enum\": [\n                        \"in-progress\",\n                        \"completed\",\n                        \"errored\"\n                      ],\n                      \"example\": \"completed\",\n                      \"type\": \"string\"\n                    },\n                    \"type\": {\n                      \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                      \"example\": \"create\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `action`. The value of this will be an object containing the standard image action attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Initiate an Image Action\",\n        \"tags\": [\n          \"Image Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"# Transfer an Existing Image\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"transfer\\\",\\\"region\\\":\\\"nyc2\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/images/7938269/actions\\\"\\n\\n# Convert an Image into a Snapshot\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"convert\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/images/7938291/actions\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    // Transfer an existing image\\n    transferRequest := &godo.ActionRequest{\\n        \\\"type\\\":   \\\"transfer\\\",\\n        \\\"region\\\": \\\"nyc2\\\",\\n    }\\n  # Transfer an Image\\n    transfer, _, err := client.ImageActions.Transfer(ctx, 7938269, transferRequest)\\n\\n  # Convert an Image to a Snapshot\\n  # client.image_actions.convert(image_id: 7938269)\\n\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\n# Transfer an Image\\nclient.image_actions.transfer(image_id: 7938269, region: 'nyc2')\\n\\n# Convert an Image to a Snapshot\\n# client.image_actions.convert(image_id: 7938269)\"\n          }\n        ]\n      }\n    },\n    \"/v2/images/{image_id}/actions/{action_id}\": {\n      \"get\": {\n        \"description\": \"To retrieve the status of an image action, send a GET request to `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`.\",\n        \"operationId\": \"imageActions_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n            \"example\": 62137902,\n            \"in\": \"path\",\n            \"name\": \"image_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n            \"example\": 36804636,\n            \"in\": \"path\",\n            \"name\": \"action_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"action\": {\n                    \"completed_at\": null,\n                    \"id\": 36805527,\n                    \"region\": {\n                      \"available\": true,\n                      \"features\": [\n                        \"private_networking\",\n                        \"backups\",\n                        \"ipv6\",\n                        \"metadata\",\n                        \"server_id\",\n                        \"install_agent\",\n                        \"storage\",\n                        \"image_transfer\"\n                      ],\n                      \"name\": \"New York 3\",\n                      \"sizes\": [\n                        \"s-1vcpu-3gb\",\n                        \"m-1vcpu-8gb\",\n                        \"s-3vcpu-1gb\",\n                        \"s-1vcpu-2gb\",\n                        \"s-2vcpu-2gb\",\n                        \"s-2vcpu-4gb\",\n                        \"s-4vcpu-8gb\",\n                        \"s-6vcpu-16gb\",\n                        \"s-8vcpu-32gb\",\n                        \"s-12vcpu-48gb\",\n                        \"s-16vcpu-64gb\",\n                        \"s-20vcpu-96gb\",\n                        \"s-1vcpu-1gb\",\n                        \"c-1vcpu-2gb\",\n                        \"s-24vcpu-128gb\"\n                      ],\n                      \"slug\": \"nyc3\"\n                    },\n                    \"region_slug\": \"nyc3\",\n                    \"resource_id\": 7938269,\n                    \"resource_type\": \"image\",\n                    \"started_at\": \"2014-11-14T16:42:45Z\",\n                    \"status\": \"in-progress\",\n                    \"type\": \"transfer\"\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"completed_at\": {\n                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                      \"example\": \"2020-11-14T16:30:06Z\",\n                      \"format\": \"date-time\",\n                      \"nullable\": true,\n                      \"type\": \"string\"\n                    },\n                    \"id\": {\n                      \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                      \"example\": 36804636,\n                      \"type\": \"integer\"\n                    },\n                    \"region\": {\n                      \"properties\": {\n                        \"available\": {\n                          \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"features\": {\n                          \"description\": \"This attribute is set to an array which contains features available in this region\",\n                          \"example\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"name\": {\n                          \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                          \"example\": \"New York 3\",\n                          \"type\": \"string\"\n                        },\n                        \"sizes\": {\n                          \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                          \"example\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"slug\": {\n                          \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                          \"example\": \"nyc3\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"available\",\n                        \"features\",\n                        \"name\",\n                        \"sizes\",\n                        \"slug\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"region_slug\": {\n                      \"allOf\": [\n                        {\n                          \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                          \"example\": \"nyc3\",\n                          \"type\": \"string\"\n                        },\n                        {\n                          \"nullable\": true,\n                          \"type\": \"string\"\n                        }\n                      ]\n                    },\n                    \"resource_id\": {\n                      \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                      \"example\": 3164444,\n                      \"nullable\": true,\n                      \"type\": \"integer\"\n                    },\n                    \"resource_type\": {\n                      \"description\": \"The type of resource that the action is associated with.\",\n                      \"example\": \"droplet\",\n                      \"type\": \"string\"\n                    },\n                    \"started_at\": {\n                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                      \"example\": \"2020-11-14T16:29:21Z\",\n                      \"format\": \"date-time\",\n                      \"type\": \"string\"\n                    },\n                    \"status\": {\n                      \"default\": \"in-progress\",\n                      \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                      \"enum\": [\n                        \"in-progress\",\n                        \"completed\",\n                        \"errored\"\n                      ],\n                      \"example\": \"completed\",\n                      \"type\": \"string\"\n                    },\n                    \"type\": {\n                      \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                      \"example\": \"create\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be an object with a key called `action`. The value of this will be an object that contains the standard image action attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Action\",\n        \"tags\": [\n          \"Image Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/images/7938269/actions/36805527\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    action, _, err := client.ImageActions.Get(ctx, 7938269, 36805527)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.image_actions.find(image_id: 7938269, id: 36805527)\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters\": {\n      \"get\": {\n        \"description\": \"To list all of the Kubernetes clusters on your account, send a GET request\\nto `/v2/kubernetes/clusters`.\\n\",\n        \"operationId\": \"kubernetes_list_clusters\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"All Kubernetes Clusters\": {\n                    \"value\": {\n                      \"kubernetes_clusters\": [\n                        {\n                          \"auto_upgrade\": false,\n                          \"cluster_subnet\": \"10.244.0.0/16\",\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"endpoint\": \"https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com\",\n                          \"ha\": false,\n                          \"id\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n                          \"ipv4\": \"68.183.121.157\",\n                          \"maintenance_policy\": {\n                            \"day\": \"any\",\n                            \"duration\": \"4h0m0s\",\n                            \"start_time\": \"00:00\"\n                          },\n                          \"name\": \"prod-cluster-01\",\n                          \"node_pools\": [\n                            {\n                              \"auto_scale\": false,\n                              \"count\": 3,\n                              \"id\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                              \"labels\": null,\n                              \"max_nodes\": 0,\n                              \"min_nodes\": 0,\n                              \"name\": \"frontend-pool\",\n                              \"nodes\": [\n                                {\n                                  \"created_at\": \"2018-11-15T16:00:11Z\",\n                                  \"droplet_id\": \"205545370\",\n                                  \"id\": \"478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                  \"name\": \"adoring-newton-3niq\",\n                                  \"status\": {\n                                    \"state\": \"provisioning\"\n                                  },\n                                  \"updated_at\": \"2018-11-15T16:00:11Z\"\n                                },\n                                {\n                                  \"created_at\": \"2018-11-15T16:00:11Z\",\n                                  \"droplet_id\": \"205545371\",\n                                  \"id\": \"ad12e744-c2a9-473d-8aa9-be5680500eb1\",\n                                  \"name\": \"adoring-newton-3nim\",\n                                  \"status\": {\n                                    \"state\": \"provisioning\"\n                                  },\n                                  \"updated_at\": \"2018-11-15T16:00:11Z\"\n                                },\n                                {\n                                  \"created_at\": \"2018-11-15T16:00:11Z\",\n                                  \"droplet_id\": \"205545372\",\n                                  \"id\": \"e46e8d07-f58f-4ff1-9737-97246364400e\",\n                                  \"name\": \"adoring-newton-3ni7\",\n                                  \"status\": {\n                                    \"state\": \"provisioning\"\n                                  },\n                                  \"updated_at\": \"2018-11-15T16:00:11Z\"\n                                }\n                              ],\n                              \"size\": \"s-1vcpu-2gb\",\n                              \"tags\": [\n                                \"production\",\n                                \"web-team\",\n                                \"k8s\",\n                                \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                                \"k8s:worker\"\n                              ],\n                              \"taints\": []\n                            },\n                            {\n                              \"auto_scale\": true,\n                              \"count\": 2,\n                              \"id\": \"f49f4379-7e7f-4af5-aeb6-0354bd840778\",\n                              \"labels\": {\n                                \"priority\": \"high\",\n                                \"service\": \"backend\"\n                              },\n                              \"max_nodes\": 5,\n                              \"min_nodes\": 2,\n                              \"name\": \"backend-pool\",\n                              \"nodes\": [\n                                {\n                                  \"created_at\": \"2018-11-15T16:00:11Z\",\n                                  \"droplet_id\": \"205545373\",\n                                  \"id\": \"3385619f-8ec3-42ba-bb23-8d21b8ba7518\",\n                                  \"name\": \"affectionate-nightingale-3nif\",\n                                  \"status\": {\n                                    \"state\": \"provisioning\"\n                                  },\n                                  \"updated_at\": \"2018-11-15T16:00:11Z\"\n                                },\n                                {\n                                  \"created_at\": \"2018-11-15T16:00:11Z\",\n                                  \"droplet_id\": \"205545374\",\n                                  \"id\": \"4b8f60ff-ba06-4523-a6a4-b8148244c7e6\",\n                                  \"name\": \"affectionate-nightingale-3niy\",\n                                  \"status\": {\n                                    \"state\": \"provisioning\"\n                                  },\n                                  \"updated_at\": \"2018-11-15T16:00:11Z\"\n                                }\n                              ],\n                              \"size\": \"g-4vcpu-16gb\",\n                              \"tags\": [\n                                \"production\",\n                                \"web-team\",\n                                \"k8s\",\n                                \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                                \"k8s:worker\"\n                              ],\n                              \"taints\": []\n                            }\n                          ],\n                          \"region\": \"nyc1\",\n                          \"registry_enabled\": false,\n                          \"service_subnet\": \"10.245.0.0/16\",\n                          \"status\": {\n                            \"message\": \"provisioning\",\n                            \"state\": \"provisioning\"\n                          },\n                          \"surge_upgrade\": false,\n                          \"tags\": [\n                            \"production\",\n                            \"web-team\",\n                            \"k8s\",\n                            \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\"\n                          ],\n                          \"updated_at\": \"2018-11-15T16:00:11Z\",\n                          \"version\": \"1.18.6-do.0\",\n                          \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                        }\n                      ],\n                      \"meta\": {\n                        \"total\": 1\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"kubernetes_clusters\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"auto_upgrade\": {\n                                \"default\": false,\n                                \"description\": \"A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"cluster_subnet\": {\n                                \"description\": \"The range of IP addresses in the overlay network of the Kubernetes cluster in CIDR notation.\",\n                                \"example\": \"10.244.0.0/16\",\n                                \"format\": \"cidr\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"created_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created.\",\n                                \"example\": \"2018-11-15T16:00:11Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"endpoint\": {\n                                \"description\": \"The base URL of the API server on the Kubernetes master node.\",\n                                \"example\": \"https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"ha\": {\n                                \"default\": false,\n                                \"description\": \"A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled.\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique ID that can be used to identify and reference a Kubernetes cluster.\",\n                                \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n                                \"format\": \"uuid\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"ipv4\": {\n                                \"description\": \"The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)\",\n                                \"example\": \"68.183.121.157\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"maintenance_policy\": {\n                                \"description\": \"An object specifying the maintenance window policy for the Kubernetes cluster.\",\n                                \"nullable\": true,\n                                \"properties\": {\n                                  \"day\": {\n                                    \"description\": \"The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day.\",\n                                    \"enum\": [\n                                      \"any\",\n                                      \"monday\",\n                                      \"tuesday\",\n                                      \"wednesday\",\n                                      \"thursday\",\n                                      \"friday\",\n                                      \"saturday\",\n                                      \"sunday\"\n                                    ],\n                                    \"example\": \"any\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"duration\": {\n                                    \"description\": \"The duration of the maintenance window policy in human-readable format.\",\n                                    \"example\": \"4h0m0s\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"start_time\": {\n                                    \"description\": \"The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`).\",\n                                    \"example\": \"12:00\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"name\": {\n                                \"description\": \"A human-readable name for a Kubernetes cluster.\",\n                                \"example\": \"prod-cluster-01\",\n                                \"type\": \"string\"\n                              },\n                              \"node_pools\": {\n                                \"description\": \"An object specifying the details of the worker nodes available to the Kubernetes cluster.\",\n                                \"items\": {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"size\": {\n                                          \"description\": \"The slug identifier for the type of Droplet used as workers in the node pool.\",\n                                          \"example\": \"s-1vcpu-2gb\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"auto_scale\": {\n                                          \"description\": \"A boolean value indicating whether auto-scaling is enabled for this node pool.\",\n                                          \"example\": true,\n                                          \"type\": \"boolean\"\n                                        },\n                                        \"count\": {\n                                          \"description\": \"The number of Droplet instances in the node pool.\",\n                                          \"example\": 3,\n                                          \"type\": \"integer\"\n                                        },\n                                        \"id\": {\n                                          \"description\": \"A unique ID that can be used to identify and reference a specific node pool.\",\n                                          \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                                          \"format\": \"uuid\",\n                                          \"readOnly\": true,\n                                          \"type\": \"string\"\n                                        },\n                                        \"labels\": {\n                                          \"description\": \"An object containing a set of Kubernetes labels. The keys and are values are both user-defined.\",\n                                          \"example\": null,\n                                          \"nullable\": true,\n                                          \"type\": \"object\"\n                                        },\n                                        \"max_nodes\": {\n                                          \"description\": \"The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                                          \"example\": 6,\n                                          \"type\": \"integer\"\n                                        },\n                                        \"min_nodes\": {\n                                          \"description\": \"The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                                          \"example\": 3,\n                                          \"type\": \"integer\"\n                                        },\n                                        \"name\": {\n                                          \"description\": \"A human-readable name for the node pool.\",\n                                          \"example\": \"frontend-pool\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"nodes\": {\n                                          \"description\": \"An object specifying the details of a specific worker node in a node pool.\",\n                                          \"items\": {\n                                            \"properties\": {\n                                              \"created_at\": {\n                                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was created.\",\n                                                \"example\": \"2018-11-15T16:00:11Z\",\n                                                \"format\": \"date-time\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"droplet_id\": {\n                                                \"description\": \"The ID of the Droplet used for the worker node.\",\n                                                \"example\": \"205545370\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"id\": {\n                                                \"description\": \"A unique ID that can be used to identify and reference the node.\",\n                                                \"example\": \"e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                                \"format\": \"uuid\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"name\": {\n                                                \"description\": \"An automatically generated, human-readable name for the node.\",\n                                                \"example\": \"adoring-newton-3niq\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"status\": {\n                                                \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the node.\",\n                                                \"properties\": {\n                                                  \"state\": {\n                                                    \"description\": \"A string indicating the current status of the node.\",\n                                                    \"enum\": [\n                                                      \"provisioning\",\n                                                      \"running\",\n                                                      \"draining\",\n                                                      \"deleting\"\n                                                    ],\n                                                    \"example\": \"provisioning\",\n                                                    \"type\": \"string\"\n                                                  }\n                                                },\n                                                \"type\": \"object\"\n                                              },\n                                              \"updated_at\": {\n                                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was last updated.\",\n                                                \"example\": \"2018-11-15T16:00:11Z\",\n                                                \"format\": \"date-time\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"readOnly\": true,\n                                          \"type\": \"array\"\n                                        },\n                                        \"tags\": {\n                                          \"description\": \"An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.\",\n                                          \"example\": [\n                                            \"k8s\",\n                                            \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                                            \"k8s-worker\",\n                                            \"production\",\n                                            \"web-team\"\n                                          ],\n                                          \"items\": {\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": \"array\"\n                                        },\n                                        \"taints\": {\n                                          \"description\": \"An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is removed from all nodes in the pool.\",\n                                          \"items\": {\n                                            \"properties\": {\n                                              \"effect\": {\n                                                \"description\": \"How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\",\n                                                \"enum\": [\n                                                  \"NoSchedule\",\n                                                  \"PreferNoSchedule\",\n                                                  \"NoExecute\"\n                                                ],\n                                                \"example\": \"NoSchedule\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"key\": {\n                                                \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                                \"example\": \"priority\",\n                                                \"type\": \"string\"\n                                              },\n                                              \"value\": {\n                                                \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                                \"example\": \"high\",\n                                                \"type\": \"string\"\n                                              }\n                                            },\n                                            \"type\": \"object\"\n                                          },\n                                          \"type\": \"array\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ],\n                                  \"required\": [\n                                    \"name\",\n                                    \"size\",\n                                    \"count\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"region\": {\n                                \"description\": \"The slug identifier for the region where the Kubernetes cluster is located.\",\n                                \"example\": \"nyc1\",\n                                \"type\": \"string\"\n                              },\n                              \"registry_enabled\": {\n                                \"description\": \"A read-only boolean value indicating if a container registry is integrated with the cluster.\",\n                                \"example\": true,\n                                \"readOnly\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"service_subnet\": {\n                                \"description\": \"The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation.\",\n                                \"example\": \"10.245.0.0/16\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"status\": {\n                                \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster.\",\n                                \"properties\": {\n                                  \"message\": {\n                                    \"description\": \"An optional message providing additional information about the current cluster state.\",\n                                    \"example\": \"provisioning\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"state\": {\n                                    \"description\": \"A string indicating the current status of the cluster.\",\n                                    \"enum\": [\n                                      \"running\",\n                                      \"provisioning\",\n                                      \"degraded\",\n                                      \"error\",\n                                      \"deleted\",\n                                      \"upgrading\",\n                                      \"deleting\"\n                                    ],\n                                    \"example\": \"provisioning\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"readOnly\": true,\n                                \"type\": \"object\"\n                              },\n                              \"surge_upgrade\": {\n                                \"default\": false,\n                                \"description\": \"A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes.\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"tags\": {\n                                \"description\": \"An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`.\",\n                                \"example\": [\n                                  \"k8s\",\n                                  \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                                  \"production\",\n                                  \"web-team\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"updated_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated.\",\n                                \"example\": \"2018-11-15T16:00:11Z\",\n                                \"format\": \"date-time\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"version\": {\n                                \"description\": \"The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. \\\"1.14\\\"), the latest version within it will be used (e.g. \\\"1.14.6-do.1\\\"); if set to \\\"latest\\\", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions.\",\n                                \"example\": \"1.18.6-do.0\",\n                                \"type\": \"string\"\n                              },\n                              \"vpc_uuid\": {\n                                \"description\": \"A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned.\",\n                                \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                                \"format\": \"uuid\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"name\",\n                              \"region\",\n                              \"version\",\n                              \"node_pools\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `kubernetes_clusters`.\\nThis will be set to an array of objects, each of which will contain the\\nstandard Kubernetes cluster attributes.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Kubernetes Clusters\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    clusters, _, err := client.Kubernetes.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclusters = client.kubernetes_clusters.all\\nclusters.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a new Kubernetes cluster, send a POST request to\\n`/v2/kubernetes/clusters`. The request must contain at least one node pool\\nwith at least one worker.\\n\\nThe request may contain a maintenance window policy describing a time period\\nwhen disruptive maintenance tasks may be carried out. Omitting the policy\\nimplies that a window will be chosen automatically. See\\n[here](https://www.digitalocean.com/docs/kubernetes/how-to/upgrade-cluster/)\\nfor details.\\n\",\n        \"operationId\": \"kubernetes_create_cluster\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"examples\": {\n                \"Kubernetes Cluster Request\": {\n                  \"value\": {\n                    \"name\": \"prod-cluster-01\",\n                    \"node_pools\": [\n                      {\n                        \"count\": 3,\n                        \"name\": \"worker-pool\",\n                        \"size\": \"s-1vcpu-2gb\"\n                      }\n                    ],\n                    \"region\": \"nyc1\",\n                    \"version\": \"1.18.6-do.0\"\n                  }\n                },\n                \"Kubernetes Cluster with Multiple Node Pools Request\": {\n                  \"description\": \"This example request creates a Kubernetes cluster with two node pools. It\\nalso demonstrates setting tags, labels, auto scaling, and a maintenance\\npolicy.\\n\",\n                  \"value\": {\n                    \"maintenance_policy\": {\n                      \"day\": \"any\",\n                      \"start_time\": \"12:00\"\n                    },\n                    \"name\": \"prod-cluster-01\",\n                    \"node_pools\": [\n                      {\n                        \"count\": 3,\n                        \"name\": \"frontend-pool\",\n                        \"size\": \"s-1vcpu-2gb\",\n                        \"tags\": [\n                          \"frontend\"\n                        ]\n                      },\n                      {\n                        \"auto_scale\": true,\n                        \"count\": 2,\n                        \"labels\": {\n                          \"priority\": \"high\",\n                          \"service\": \"backend\"\n                        },\n                        \"max_nodes\": 5,\n                        \"min_nodes\": 2,\n                        \"name\": \"backend-pool\",\n                        \"size\": \"g-4vcpu-16gb\"\n                      }\n                    ],\n                    \"region\": \"nyc1\",\n                    \"tags\": [\n                      \"production\",\n                      \"web-team\"\n                    ],\n                    \"version\": \"1.18.6-do.0\"\n                  }\n                }\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"auto_upgrade\": {\n                    \"default\": false,\n                    \"description\": \"A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.\",\n                    \"example\": true,\n                    \"type\": \"boolean\"\n                  },\n                  \"cluster_subnet\": {\n                    \"description\": \"The range of IP addresses in the overlay network of the Kubernetes cluster in CIDR notation.\",\n                    \"example\": \"10.244.0.0/16\",\n                    \"format\": \"cidr\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  },\n                  \"created_at\": {\n                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created.\",\n                    \"example\": \"2018-11-15T16:00:11Z\",\n                    \"format\": \"date-time\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  },\n                  \"endpoint\": {\n                    \"description\": \"The base URL of the API server on the Kubernetes master node.\",\n                    \"example\": \"https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  },\n                  \"ha\": {\n                    \"default\": false,\n                    \"description\": \"A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled.\",\n                    \"example\": true,\n                    \"type\": \"boolean\"\n                  },\n                  \"id\": {\n                    \"description\": \"A unique ID that can be used to identify and reference a Kubernetes cluster.\",\n                    \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n                    \"format\": \"uuid\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  },\n                  \"ipv4\": {\n                    \"description\": \"The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)\",\n                    \"example\": \"68.183.121.157\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  },\n                  \"maintenance_policy\": {\n                    \"description\": \"An object specifying the maintenance window policy for the Kubernetes cluster.\",\n                    \"nullable\": true,\n                    \"properties\": {\n                      \"day\": {\n                        \"description\": \"The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day.\",\n                        \"enum\": [\n                          \"any\",\n                          \"monday\",\n                          \"tuesday\",\n                          \"wednesday\",\n                          \"thursday\",\n                          \"friday\",\n                          \"saturday\",\n                          \"sunday\"\n                        ],\n                        \"example\": \"any\",\n                        \"type\": \"string\"\n                      },\n                      \"duration\": {\n                        \"description\": \"The duration of the maintenance window policy in human-readable format.\",\n                        \"example\": \"4h0m0s\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"start_time\": {\n                        \"description\": \"The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`).\",\n                        \"example\": \"12:00\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  },\n                  \"name\": {\n                    \"description\": \"A human-readable name for a Kubernetes cluster.\",\n                    \"example\": \"prod-cluster-01\",\n                    \"type\": \"string\"\n                  },\n                  \"node_pools\": {\n                    \"description\": \"An object specifying the details of the worker nodes available to the Kubernetes cluster.\",\n                    \"items\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"size\": {\n                              \"description\": \"The slug identifier for the type of Droplet used as workers in the node pool.\",\n                              \"example\": \"s-1vcpu-2gb\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"auto_scale\": {\n                              \"description\": \"A boolean value indicating whether auto-scaling is enabled for this node pool.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"count\": {\n                              \"description\": \"The number of Droplet instances in the node pool.\",\n                              \"example\": 3,\n                              \"type\": \"integer\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference a specific node pool.\",\n                              \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"labels\": {\n                              \"description\": \"An object containing a set of Kubernetes labels. The keys and are values are both user-defined.\",\n                              \"example\": null,\n                              \"nullable\": true,\n                              \"type\": \"object\"\n                            },\n                            \"max_nodes\": {\n                              \"description\": \"The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                              \"example\": 6,\n                              \"type\": \"integer\"\n                            },\n                            \"min_nodes\": {\n                              \"description\": \"The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                              \"example\": 3,\n                              \"type\": \"integer\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for the node pool.\",\n                              \"example\": \"frontend-pool\",\n                              \"type\": \"string\"\n                            },\n                            \"nodes\": {\n                              \"description\": \"An object specifying the details of a specific worker node in a node pool.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was created.\",\n                                    \"example\": \"2018-11-15T16:00:11Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"droplet_id\": {\n                                    \"description\": \"The ID of the Droplet used for the worker node.\",\n                                    \"example\": \"205545370\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference the node.\",\n                                    \"example\": \"e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                    \"format\": \"uuid\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"An automatically generated, human-readable name for the node.\",\n                                    \"example\": \"adoring-newton-3niq\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the node.\",\n                                    \"properties\": {\n                                      \"state\": {\n                                        \"description\": \"A string indicating the current status of the node.\",\n                                        \"enum\": [\n                                          \"provisioning\",\n                                          \"running\",\n                                          \"draining\",\n                                          \"deleting\"\n                                        ],\n                                        \"example\": \"provisioning\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"updated_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was last updated.\",\n                                    \"example\": \"2018-11-15T16:00:11Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"readOnly\": true,\n                              \"type\": \"array\"\n                            },\n                            \"tags\": {\n                              \"description\": \"An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.\",\n                              \"example\": [\n                                \"k8s\",\n                                \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                                \"k8s-worker\",\n                                \"production\",\n                                \"web-team\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"taints\": {\n                              \"description\": \"An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is removed from all nodes in the pool.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"effect\": {\n                                    \"description\": \"How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\",\n                                    \"enum\": [\n                                      \"NoSchedule\",\n                                      \"PreferNoSchedule\",\n                                      \"NoExecute\"\n                                    ],\n                                    \"example\": \"NoSchedule\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"key\": {\n                                    \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                    \"example\": \"priority\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"value\": {\n                                    \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                    \"example\": \"high\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"required\": [\n                        \"name\",\n                        \"size\",\n                        \"count\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"region\": {\n                    \"description\": \"The slug identifier for the region where the Kubernetes cluster is located.\",\n                    \"example\": \"nyc1\",\n                    \"type\": \"string\"\n                  },\n                  \"registry_enabled\": {\n                    \"description\": \"A read-only boolean value indicating if a container registry is integrated with the cluster.\",\n                    \"example\": true,\n                    \"readOnly\": true,\n                    \"type\": \"boolean\"\n                  },\n                  \"service_subnet\": {\n                    \"description\": \"The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation.\",\n                    \"example\": \"10.245.0.0/16\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  },\n                  \"status\": {\n                    \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster.\",\n                    \"properties\": {\n                      \"message\": {\n                        \"description\": \"An optional message providing additional information about the current cluster state.\",\n                        \"example\": \"provisioning\",\n                        \"type\": \"string\"\n                      },\n                      \"state\": {\n                        \"description\": \"A string indicating the current status of the cluster.\",\n                        \"enum\": [\n                          \"running\",\n                          \"provisioning\",\n                          \"degraded\",\n                          \"error\",\n                          \"deleted\",\n                          \"upgrading\",\n                          \"deleting\"\n                        ],\n                        \"example\": \"provisioning\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"readOnly\": true,\n                    \"type\": \"object\"\n                  },\n                  \"surge_upgrade\": {\n                    \"default\": false,\n                    \"description\": \"A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes.\",\n                    \"example\": true,\n                    \"type\": \"boolean\"\n                  },\n                  \"tags\": {\n                    \"description\": \"An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`.\",\n                    \"example\": [\n                      \"k8s\",\n                      \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                      \"production\",\n                      \"web-team\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"updated_at\": {\n                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated.\",\n                    \"example\": \"2018-11-15T16:00:11Z\",\n                    \"format\": \"date-time\",\n                    \"readOnly\": true,\n                    \"type\": \"string\"\n                  },\n                  \"version\": {\n                    \"description\": \"The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. \\\"1.14\\\"), the latest version within it will be used (e.g. \\\"1.14.6-do.1\\\"); if set to \\\"latest\\\", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions.\",\n                    \"example\": \"1.18.6-do.0\",\n                    \"type\": \"string\"\n                  },\n                  \"vpc_uuid\": {\n                    \"description\": \"A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned.\",\n                    \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                    \"format\": \"uuid\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"name\",\n                  \"region\",\n                  \"version\",\n                  \"node_pools\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Kubernetes Cluster Response\": {\n                    \"value\": {\n                      \"kubernetes_cluster\": {\n                        \"auto_upgrade\": false,\n                        \"cluster_subnet\": \"10.244.0.0/16\",\n                        \"created_at\": \"2018-11-15T16:00:11Z\",\n                        \"endpoint\": \"\",\n                        \"ha\": false,\n                        \"id\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n                        \"ipv4\": \"\",\n                        \"maintenance_policy\": {\n                          \"day\": \"any\",\n                          \"duration\": \"4h0m0s\",\n                          \"start_time\": \"00:00\"\n                        },\n                        \"name\": \"prod-cluster-01\",\n                        \"node_pools\": [\n                          {\n                            \"auto_scale\": false,\n                            \"count\": 3,\n                            \"id\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                            \"labels\": null,\n                            \"max_nodes\": 0,\n                            \"min_nodes\": 0,\n                            \"name\": \"worker-pool\",\n                            \"nodes\": [\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"\",\n                                \"id\": \"478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                \"name\": \"\",\n                                \"status\": {\n                                  \"state\": \"provisioning\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              },\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"\",\n                                \"id\": \"ad12e744-c2a9-473d-8aa9-be5680500eb1\",\n                                \"name\": \"\",\n                                \"status\": {\n                                  \"state\": \"provisioning\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              },\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"\",\n                                \"id\": \"e46e8d07-f58f-4ff1-9737-97246364400e\",\n                                \"name\": \"\",\n                                \"status\": {\n                                  \"state\": \"provisioning\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              }\n                            ],\n                            \"size\": \"s-1vcpu-2gb\",\n                            \"tags\": [\n                              \"k8s\",\n                              \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                              \"k8s:worker\"\n                            ],\n                            \"taints\": []\n                          }\n                        ],\n                        \"region\": \"nyc1\",\n                        \"registry_enabled\": false,\n                        \"service_subnet\": \"10.245.0.0/16\",\n                        \"status\": {\n                          \"message\": \"provisioning\",\n                          \"state\": \"provisioning\"\n                        },\n                        \"surge_upgrade\": false,\n                        \"tags\": [\n                          \"k8s\",\n                          \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\"\n                        ],\n                        \"updated_at\": \"2018-11-15T16:00:11Z\",\n                        \"version\": \"1.18.6-do.0\",\n                        \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                      }\n                    }\n                  },\n                  \"Kubernetes Cluster with Multiple Node Pools Response\": {\n                    \"value\": {\n                      \"kubernetes_clusters\": {\n                        \"auto_upgrade\": false,\n                        \"cluster_subnet\": \"10.244.0.0/16\",\n                        \"created_at\": \"2018-11-15T16:00:11Z\",\n                        \"endpoint\": \"\",\n                        \"ha\": false,\n                        \"id\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n                        \"ipv4\": \"\",\n                        \"maintenance_policy\": {\n                          \"day\": \"any\",\n                          \"duration\": \"4h0m0s\",\n                          \"start_time\": \"12:00\"\n                        },\n                        \"name\": \"prod-cluster-01\",\n                        \"node_pools\": [\n                          {\n                            \"auto_scale\": false,\n                            \"count\": 3,\n                            \"id\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                            \"labels\": null,\n                            \"max_nodes\": 0,\n                            \"min_nodes\": 0,\n                            \"name\": \"frontend-pool\",\n                            \"nodes\": [\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"\",\n                                \"id\": \"478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                \"name\": \"\",\n                                \"status\": {\n                                  \"state\": \"provisioning\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              },\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"\",\n                                \"id\": \"ad12e744-c2a9-473d-8aa9-be5680500eb1\",\n                                \"name\": \"\",\n                                \"status\": {\n                                  \"state\": \"provisioning\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              },\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"\",\n                                \"id\": \"e46e8d07-f58f-4ff1-9737-97246364400e\",\n                                \"name\": \"\",\n                                \"status\": {\n                                  \"state\": \"provisioning\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              }\n                            ],\n                            \"size\": \"s-1vcpu-2gb\",\n                            \"tags\": [\n                              \"production\",\n                              \"web-team\",\n                              \"frontend\",\n                              \"k8s\",\n                              \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                              \"k8s:worker\"\n                            ],\n                            \"taints\": []\n                          },\n                          {\n                            \"auto_scale\": true,\n                            \"count\": 2,\n                            \"id\": \"f49f4379-7e7f-4af5-aeb6-0354bd840778\",\n                            \"labels\": {\n                              \"priority\": \"high\",\n                              \"service\": \"backend\"\n                            },\n                            \"max_nodes\": 5,\n                            \"min_nodes\": 2,\n                            \"name\": \"backend-pool\",\n                            \"nodes\": [\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"\",\n                                \"id\": \"3385619f-8ec3-42ba-bb23-8d21b8ba7518\",\n                                \"name\": \"\",\n                                \"status\": {\n                                  \"state\": \"provisioning\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              },\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"\",\n                                \"id\": \"4b8f60ff-ba06-4523-a6a4-b8148244c7e6\",\n                                \"name\": \"\",\n                                \"status\": {\n                                  \"state\": \"provisioning\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              }\n                            ],\n                            \"size\": \"g-4vcpu-16gb\",\n                            \"tags\": [\n                              \"production\",\n                              \"web-team\",\n                              \"k8s\",\n                              \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                              \"k8s:worker\"\n                            ],\n                            \"taints\": []\n                          }\n                        ],\n                        \"region\": \"nyc1\",\n                        \"registry_enabled\": false,\n                        \"service_subnet\": \"10.245.0.0/16\",\n                        \"status\": {\n                          \"message\": \"provisioning\",\n                          \"state\": \"provisioning\"\n                        },\n                        \"surge_upgrade\": false,\n                        \"tags\": [\n                          \"production\",\n                          \"web-team\",\n                          \"k8s\",\n                          \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\"\n                        ],\n                        \"updated_at\": \"2018-11-15T16:00:11Z\",\n                        \"version\": \"1.18.6-do.0\",\n                        \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"kubernetes_cluster\": {\n                      \"properties\": {\n                        \"auto_upgrade\": {\n                          \"default\": false,\n                          \"description\": \"A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"cluster_subnet\": {\n                          \"description\": \"The range of IP addresses in the overlay network of the Kubernetes cluster in CIDR notation.\",\n                          \"example\": \"10.244.0.0/16\",\n                          \"format\": \"cidr\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created.\",\n                          \"example\": \"2018-11-15T16:00:11Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"endpoint\": {\n                          \"description\": \"The base URL of the API server on the Kubernetes master node.\",\n                          \"example\": \"https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"ha\": {\n                          \"default\": false,\n                          \"description\": \"A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique ID that can be used to identify and reference a Kubernetes cluster.\",\n                          \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n                          \"format\": \"uuid\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"ipv4\": {\n                          \"description\": \"The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)\",\n                          \"example\": \"68.183.121.157\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"maintenance_policy\": {\n                          \"description\": \"An object specifying the maintenance window policy for the Kubernetes cluster.\",\n                          \"nullable\": true,\n                          \"properties\": {\n                            \"day\": {\n                              \"description\": \"The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day.\",\n                              \"enum\": [\n                                \"any\",\n                                \"monday\",\n                                \"tuesday\",\n                                \"wednesday\",\n                                \"thursday\",\n                                \"friday\",\n                                \"saturday\",\n                                \"sunday\"\n                              ],\n                              \"example\": \"any\",\n                              \"type\": \"string\"\n                            },\n                            \"duration\": {\n                              \"description\": \"The duration of the maintenance window policy in human-readable format.\",\n                              \"example\": \"4h0m0s\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"start_time\": {\n                              \"description\": \"The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`).\",\n                              \"example\": \"12:00\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"name\": {\n                          \"description\": \"A human-readable name for a Kubernetes cluster.\",\n                          \"example\": \"prod-cluster-01\",\n                          \"type\": \"string\"\n                        },\n                        \"node_pools\": {\n                          \"description\": \"An object specifying the details of the worker nodes available to the Kubernetes cluster.\",\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"size\": {\n                                    \"description\": \"The slug identifier for the type of Droplet used as workers in the node pool.\",\n                                    \"example\": \"s-1vcpu-2gb\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"auto_scale\": {\n                                    \"description\": \"A boolean value indicating whether auto-scaling is enabled for this node pool.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"count\": {\n                                    \"description\": \"The number of Droplet instances in the node pool.\",\n                                    \"example\": 3,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference a specific node pool.\",\n                                    \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                                    \"format\": \"uuid\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"labels\": {\n                                    \"description\": \"An object containing a set of Kubernetes labels. The keys and are values are both user-defined.\",\n                                    \"example\": null,\n                                    \"nullable\": true,\n                                    \"type\": \"object\"\n                                  },\n                                  \"max_nodes\": {\n                                    \"description\": \"The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                                    \"example\": 6,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"min_nodes\": {\n                                    \"description\": \"The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                                    \"example\": 3,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-readable name for the node pool.\",\n                                    \"example\": \"frontend-pool\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"nodes\": {\n                                    \"description\": \"An object specifying the details of a specific worker node in a node pool.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"created_at\": {\n                                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was created.\",\n                                          \"example\": \"2018-11-15T16:00:11Z\",\n                                          \"format\": \"date-time\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"droplet_id\": {\n                                          \"description\": \"The ID of the Droplet used for the worker node.\",\n                                          \"example\": \"205545370\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"id\": {\n                                          \"description\": \"A unique ID that can be used to identify and reference the node.\",\n                                          \"example\": \"e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                          \"format\": \"uuid\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"name\": {\n                                          \"description\": \"An automatically generated, human-readable name for the node.\",\n                                          \"example\": \"adoring-newton-3niq\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"status\": {\n                                          \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the node.\",\n                                          \"properties\": {\n                                            \"state\": {\n                                              \"description\": \"A string indicating the current status of the node.\",\n                                              \"enum\": [\n                                                \"provisioning\",\n                                                \"running\",\n                                                \"draining\",\n                                                \"deleting\"\n                                              ],\n                                              \"example\": \"provisioning\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"updated_at\": {\n                                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was last updated.\",\n                                          \"example\": \"2018-11-15T16:00:11Z\",\n                                          \"format\": \"date-time\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"readOnly\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"tags\": {\n                                    \"description\": \"An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.\",\n                                    \"example\": [\n                                      \"k8s\",\n                                      \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                                      \"k8s-worker\",\n                                      \"production\",\n                                      \"web-team\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"taints\": {\n                                    \"description\": \"An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is removed from all nodes in the pool.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"effect\": {\n                                          \"description\": \"How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\",\n                                          \"enum\": [\n                                            \"NoSchedule\",\n                                            \"PreferNoSchedule\",\n                                            \"NoExecute\"\n                                          ],\n                                          \"example\": \"NoSchedule\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"key\": {\n                                          \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                          \"example\": \"priority\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                          \"example\": \"high\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ],\n                            \"required\": [\n                              \"name\",\n                              \"size\",\n                              \"count\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"region\": {\n                          \"description\": \"The slug identifier for the region where the Kubernetes cluster is located.\",\n                          \"example\": \"nyc1\",\n                          \"type\": \"string\"\n                        },\n                        \"registry_enabled\": {\n                          \"description\": \"A read-only boolean value indicating if a container registry is integrated with the cluster.\",\n                          \"example\": true,\n                          \"readOnly\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"service_subnet\": {\n                          \"description\": \"The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation.\",\n                          \"example\": \"10.245.0.0/16\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster.\",\n                          \"properties\": {\n                            \"message\": {\n                              \"description\": \"An optional message providing additional information about the current cluster state.\",\n                              \"example\": \"provisioning\",\n                              \"type\": \"string\"\n                            },\n                            \"state\": {\n                              \"description\": \"A string indicating the current status of the cluster.\",\n                              \"enum\": [\n                                \"running\",\n                                \"provisioning\",\n                                \"degraded\",\n                                \"error\",\n                                \"deleted\",\n                                \"upgrading\",\n                                \"deleting\"\n                              ],\n                              \"example\": \"provisioning\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"readOnly\": true,\n                          \"type\": \"object\"\n                        },\n                        \"surge_upgrade\": {\n                          \"default\": false,\n                          \"description\": \"A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"tags\": {\n                          \"description\": \"An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`.\",\n                          \"example\": [\n                            \"k8s\",\n                            \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                            \"production\",\n                            \"web-team\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated.\",\n                          \"example\": \"2018-11-15T16:00:11Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"version\": {\n                          \"description\": \"The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. \\\"1.14\\\"), the latest version within it will be used (e.g. \\\"1.14.6-do.1\\\"); if set to \\\"latest\\\", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions.\",\n                          \"example\": \"1.18.6-do.0\",\n                          \"type\": \"string\"\n                        },\n                        \"vpc_uuid\": {\n                          \"description\": \"A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned.\",\n                          \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                          \"format\": \"uuid\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\",\n                        \"region\",\n                        \"version\",\n                        \"node_pools\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `kubernetes_cluster`. The\\nvalue of this will be an object containing the standard attributes of a\\nKubernetes cluster.\\n\\nThe IP address and cluster API server endpoint will not be available until the\\ncluster has finished provisioning. The initial value of the cluster's\\n`status.state` attribute will be `provisioning`. When the cluster is ready,\\nthis will transition to `running`.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"prod-cluster-01\\\",\\\"region\\\": \\\"nyc1\\\",\\\"version\\\": \\\"1.14.1\\\\\\n  -do.4\\\",\\\"tags\\\": [\\\"production\\\",\\\"web-team\\\"],\\\"node_pools\\\": [{\\\"size\\\": \\\"s-1vcpu-2gb\\\",\\\"count\\\": 3,\\\"name\\\": \\\"frontend-pool\\\",\\\"tags\\\": [\\\"frontend\\\"],\\\"labels\\\": {\\\"service\\\": \\\"frontend\\\", \\\"priority\\\": \\\"high\\\"}},{\\\"size\\\": \\\"c-4\\\",\\\"count\\\": 2,\\\"name\\\": \\\"backend-pool\\\"}]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &godo.KubernetesClusterCreateRequest{\\n        Name:        \\\"prod-cluster-01\\\",\\n        RegionSlug:  \\\"nyc1\\\",\\n        VersionSlug: \\\"1.14.1-do.4\\\",\\n        Tags:        []string{\\\"production\\\", \\\"web-team\\\"},\\n        NodePools: []*godo.KubernetesNodePoolCreateRequest{\\n            &godo.KubernetesNodePoolCreateRequest{\\n                Name:  \\\"frontend-pool\\\",\\n                Size:  \\\"s-2vcpu-2gb\\\",\\n                Count: 3,\\n                Tags:  []string{\\\"frontend\\\"},\\n                Labels:  map[string]string{\\\"service\\\": \\\"frontend\\\", \\\"priority\\\": \\\"high\\\"},\\n            },\\n            &godo.KubernetesNodePoolCreateRequest{\\n                Name:  \\\"backend-pool\\\",\\n                Size:  \\\"c-4\\\",\\n                Count: 2,\\n            },\\n        },\\n    }\\n\\n    cluster, _, err := client.Kubernetes.Create(ctx, createRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ncluster = DropletKit::KubernetesCluster.new(\\n  name: 'prod-cluster-01',\\n  region: 'nyc1',\\n  version: '1.14.1-do.4',\\n  tags: ['production', 'web-team'],\\n  node_pools: [\\n    {\\n      name: 'frontend-pool',\\n      size: 's-2vcpu-2gb',\\n      count: 3,\\n      tags: ['frontend'],\\n      labels: {service: 'frontend', priority: 'high'}\\n    },\\n    {\\n      name: 'backend-pool',\\n      size: 'c-4',\\n      count: 2\\n    }\\n  ]\\n)\\n\\nclient.kubernetes_clusters.create(cluster)\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a Kubernetes cluster and all services deployed to it, send a DELETE\\nrequest to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`.\\n\\nA 204 status code with no body will be returned in response to a successful\\nrequest.\\n\",\n        \"operationId\": \"kubernetes_delete_cluster\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Kubernetes.Delete(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.kubernetes_clusters.delete(id: 'bd5f5959-5e1e-4205-a714-a914373942af')\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an existing Kubernetes cluster, send a GET request\\nto `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`.\\n\",\n        \"operationId\": \"kubernetes_get_cluster\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Single Kubernetes Cluster\": {\n                    \"value\": {\n                      \"kubernetes_cluster\": {\n                        \"auto_upgrade\": false,\n                        \"cluster_subnet\": \"10.244.0.0/16\",\n                        \"created_at\": \"2018-11-15T16:00:11Z\",\n                        \"endpoint\": \"https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com\",\n                        \"ha\": false,\n                        \"id\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n                        \"ipv4\": \"68.183.121.157\",\n                        \"maintenance_policy\": {\n                          \"day\": \"any\",\n                          \"duration\": \"4h0m0s\",\n                          \"start_time\": \"00:00\"\n                        },\n                        \"name\": \"prod-cluster-01\",\n                        \"node_pools\": [\n                          {\n                            \"auto_scale\": false,\n                            \"count\": 3,\n                            \"id\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                            \"labels\": null,\n                            \"max_nodes\": 0,\n                            \"min_nodes\": 0,\n                            \"name\": \"frontend-pool\",\n                            \"nodes\": [\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"205545370\",\n                                \"id\": \"478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                \"name\": \"adoring-newton-3niq\",\n                                \"status\": {\n                                  \"state\": \"running\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              },\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"205545371\",\n                                \"id\": \"ad12e744-c2a9-473d-8aa9-be5680500eb1\",\n                                \"name\": \"adoring-newton-3nim\",\n                                \"status\": {\n                                  \"state\": \"running\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              },\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"205545372\",\n                                \"id\": \"e46e8d07-f58f-4ff1-9737-97246364400e\",\n                                \"name\": \"adoring-newton-3ni7\",\n                                \"status\": {\n                                  \"state\": \"running\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              }\n                            ],\n                            \"size\": \"s-1vcpu-2gb\",\n                            \"tags\": [\n                              \"production\",\n                              \"web-team\",\n                              \"k8s\",\n                              \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                              \"k8s:worker\"\n                            ],\n                            \"taints\": []\n                          },\n                          {\n                            \"auto_scale\": true,\n                            \"count\": 2,\n                            \"id\": \"f49f4379-7e7f-4af5-aeb6-0354bd840778\",\n                            \"labels\": {\n                              \"priority\": \"high\",\n                              \"service\": \"backend\"\n                            },\n                            \"max_nodes\": 5,\n                            \"min_nodes\": 2,\n                            \"name\": \"backend-pool\",\n                            \"nodes\": [\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"205545373\",\n                                \"id\": \"3385619f-8ec3-42ba-bb23-8d21b8ba7518\",\n                                \"name\": \"affectionate-nightingale-3nif\",\n                                \"status\": {\n                                  \"state\": \"running\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              },\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"205545374\",\n                                \"id\": \"4b8f60ff-ba06-4523-a6a4-b8148244c7e6\",\n                                \"name\": \"affectionate-nightingale-3niy\",\n                                \"status\": {\n                                  \"state\": \"running\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              }\n                            ],\n                            \"size\": \"g-4vcpu-16gb\",\n                            \"tags\": [\n                              \"production\",\n                              \"web-team\",\n                              \"k8s\",\n                              \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                              \"k8s:worker\"\n                            ],\n                            \"taints\": []\n                          }\n                        ],\n                        \"region\": \"nyc1\",\n                        \"registry_enabled\": false,\n                        \"service_subnet\": \"10.245.0.0/16\",\n                        \"status\": {\n                          \"state\": \"running\"\n                        },\n                        \"surge_upgrade\": false,\n                        \"tags\": [\n                          \"production\",\n                          \"web-team\",\n                          \"k8s\",\n                          \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\"\n                        ],\n                        \"updated_at\": \"2018-11-15T16:00:11Z\",\n                        \"version\": \"1.18.6-do.0\",\n                        \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"kubernetes_cluster\": {\n                      \"properties\": {\n                        \"auto_upgrade\": {\n                          \"default\": false,\n                          \"description\": \"A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"cluster_subnet\": {\n                          \"description\": \"The range of IP addresses in the overlay network of the Kubernetes cluster in CIDR notation.\",\n                          \"example\": \"10.244.0.0/16\",\n                          \"format\": \"cidr\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created.\",\n                          \"example\": \"2018-11-15T16:00:11Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"endpoint\": {\n                          \"description\": \"The base URL of the API server on the Kubernetes master node.\",\n                          \"example\": \"https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"ha\": {\n                          \"default\": false,\n                          \"description\": \"A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique ID that can be used to identify and reference a Kubernetes cluster.\",\n                          \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n                          \"format\": \"uuid\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"ipv4\": {\n                          \"description\": \"The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)\",\n                          \"example\": \"68.183.121.157\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"maintenance_policy\": {\n                          \"description\": \"An object specifying the maintenance window policy for the Kubernetes cluster.\",\n                          \"nullable\": true,\n                          \"properties\": {\n                            \"day\": {\n                              \"description\": \"The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day.\",\n                              \"enum\": [\n                                \"any\",\n                                \"monday\",\n                                \"tuesday\",\n                                \"wednesday\",\n                                \"thursday\",\n                                \"friday\",\n                                \"saturday\",\n                                \"sunday\"\n                              ],\n                              \"example\": \"any\",\n                              \"type\": \"string\"\n                            },\n                            \"duration\": {\n                              \"description\": \"The duration of the maintenance window policy in human-readable format.\",\n                              \"example\": \"4h0m0s\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"start_time\": {\n                              \"description\": \"The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`).\",\n                              \"example\": \"12:00\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"name\": {\n                          \"description\": \"A human-readable name for a Kubernetes cluster.\",\n                          \"example\": \"prod-cluster-01\",\n                          \"type\": \"string\"\n                        },\n                        \"node_pools\": {\n                          \"description\": \"An object specifying the details of the worker nodes available to the Kubernetes cluster.\",\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"size\": {\n                                    \"description\": \"The slug identifier for the type of Droplet used as workers in the node pool.\",\n                                    \"example\": \"s-1vcpu-2gb\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"auto_scale\": {\n                                    \"description\": \"A boolean value indicating whether auto-scaling is enabled for this node pool.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"count\": {\n                                    \"description\": \"The number of Droplet instances in the node pool.\",\n                                    \"example\": 3,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference a specific node pool.\",\n                                    \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                                    \"format\": \"uuid\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"labels\": {\n                                    \"description\": \"An object containing a set of Kubernetes labels. The keys and are values are both user-defined.\",\n                                    \"example\": null,\n                                    \"nullable\": true,\n                                    \"type\": \"object\"\n                                  },\n                                  \"max_nodes\": {\n                                    \"description\": \"The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                                    \"example\": 6,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"min_nodes\": {\n                                    \"description\": \"The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                                    \"example\": 3,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-readable name for the node pool.\",\n                                    \"example\": \"frontend-pool\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"nodes\": {\n                                    \"description\": \"An object specifying the details of a specific worker node in a node pool.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"created_at\": {\n                                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was created.\",\n                                          \"example\": \"2018-11-15T16:00:11Z\",\n                                          \"format\": \"date-time\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"droplet_id\": {\n                                          \"description\": \"The ID of the Droplet used for the worker node.\",\n                                          \"example\": \"205545370\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"id\": {\n                                          \"description\": \"A unique ID that can be used to identify and reference the node.\",\n                                          \"example\": \"e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                          \"format\": \"uuid\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"name\": {\n                                          \"description\": \"An automatically generated, human-readable name for the node.\",\n                                          \"example\": \"adoring-newton-3niq\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"status\": {\n                                          \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the node.\",\n                                          \"properties\": {\n                                            \"state\": {\n                                              \"description\": \"A string indicating the current status of the node.\",\n                                              \"enum\": [\n                                                \"provisioning\",\n                                                \"running\",\n                                                \"draining\",\n                                                \"deleting\"\n                                              ],\n                                              \"example\": \"provisioning\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"updated_at\": {\n                                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was last updated.\",\n                                          \"example\": \"2018-11-15T16:00:11Z\",\n                                          \"format\": \"date-time\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"readOnly\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"tags\": {\n                                    \"description\": \"An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.\",\n                                    \"example\": [\n                                      \"k8s\",\n                                      \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                                      \"k8s-worker\",\n                                      \"production\",\n                                      \"web-team\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"taints\": {\n                                    \"description\": \"An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is removed from all nodes in the pool.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"effect\": {\n                                          \"description\": \"How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\",\n                                          \"enum\": [\n                                            \"NoSchedule\",\n                                            \"PreferNoSchedule\",\n                                            \"NoExecute\"\n                                          ],\n                                          \"example\": \"NoSchedule\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"key\": {\n                                          \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                          \"example\": \"priority\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                          \"example\": \"high\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ],\n                            \"required\": [\n                              \"name\",\n                              \"size\",\n                              \"count\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"region\": {\n                          \"description\": \"The slug identifier for the region where the Kubernetes cluster is located.\",\n                          \"example\": \"nyc1\",\n                          \"type\": \"string\"\n                        },\n                        \"registry_enabled\": {\n                          \"description\": \"A read-only boolean value indicating if a container registry is integrated with the cluster.\",\n                          \"example\": true,\n                          \"readOnly\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"service_subnet\": {\n                          \"description\": \"The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation.\",\n                          \"example\": \"10.245.0.0/16\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster.\",\n                          \"properties\": {\n                            \"message\": {\n                              \"description\": \"An optional message providing additional information about the current cluster state.\",\n                              \"example\": \"provisioning\",\n                              \"type\": \"string\"\n                            },\n                            \"state\": {\n                              \"description\": \"A string indicating the current status of the cluster.\",\n                              \"enum\": [\n                                \"running\",\n                                \"provisioning\",\n                                \"degraded\",\n                                \"error\",\n                                \"deleted\",\n                                \"upgrading\",\n                                \"deleting\"\n                              ],\n                              \"example\": \"provisioning\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"readOnly\": true,\n                          \"type\": \"object\"\n                        },\n                        \"surge_upgrade\": {\n                          \"default\": false,\n                          \"description\": \"A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"tags\": {\n                          \"description\": \"An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`.\",\n                          \"example\": [\n                            \"k8s\",\n                            \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                            \"production\",\n                            \"web-team\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated.\",\n                          \"example\": \"2018-11-15T16:00:11Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"version\": {\n                          \"description\": \"The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. \\\"1.14\\\"), the latest version within it will be used (e.g. \\\"1.14.6-do.1\\\"); if set to \\\"latest\\\", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions.\",\n                          \"example\": \"1.18.6-do.0\",\n                          \"type\": \"string\"\n                        },\n                        \"vpc_uuid\": {\n                          \"description\": \"A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned.\",\n                          \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                          \"format\": \"uuid\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\",\n                        \"region\",\n                        \"version\",\n                        \"node_pools\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `kubernetes_cluster`. The\\nvalue of this will be an object containing the standard attributes of a\\nKubernetes cluster.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    cluster, _, err := client.Kubernetes.Get(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.kubernetes_clusters.find(id: 'bd5f5959-5e1e-4205-a714-a914373942af')\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update a Kubernetes cluster, send a PUT request to\\n`/v2/kubernetes/clusters/$K8S_CLUSTER_ID` and specify one or more of the\\nattributes below.\\n\",\n        \"operationId\": \"kubernetes_update_cluster\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"auto_upgrade\": {\n                    \"default\": false,\n                    \"description\": \"A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.\",\n                    \"example\": true,\n                    \"type\": \"boolean\"\n                  },\n                  \"ha\": {\n                    \"default\": false,\n                    \"description\": \"A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled.\",\n                    \"example\": true,\n                    \"type\": \"boolean\"\n                  },\n                  \"maintenance_policy\": {\n                    \"description\": \"An object specifying the maintenance window policy for the Kubernetes cluster.\",\n                    \"nullable\": true,\n                    \"properties\": {\n                      \"day\": {\n                        \"description\": \"The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day.\",\n                        \"enum\": [\n                          \"any\",\n                          \"monday\",\n                          \"tuesday\",\n                          \"wednesday\",\n                          \"thursday\",\n                          \"friday\",\n                          \"saturday\",\n                          \"sunday\"\n                        ],\n                        \"example\": \"any\",\n                        \"type\": \"string\"\n                      },\n                      \"duration\": {\n                        \"description\": \"The duration of the maintenance window policy in human-readable format.\",\n                        \"example\": \"4h0m0s\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"start_time\": {\n                        \"description\": \"The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`).\",\n                        \"example\": \"12:00\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  },\n                  \"name\": {\n                    \"description\": \"A human-readable name for a Kubernetes cluster.\",\n                    \"example\": \"prod-cluster-01\",\n                    \"type\": \"string\"\n                  },\n                  \"surge_upgrade\": {\n                    \"default\": false,\n                    \"description\": \"A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes.\",\n                    \"example\": true,\n                    \"type\": \"boolean\"\n                  },\n                  \"tags\": {\n                    \"description\": \"An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`.\",\n                    \"example\": [\n                      \"k8s\",\n                      \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                      \"production\",\n                      \"web-team\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"required\": [\n                  \"name\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"202\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Updated Kubernetes Cluster\": {\n                    \"value\": {\n                      \"kubernetes_cluster\": {\n                        \"auto_upgrade\": true,\n                        \"cluster_subnet\": \"10.244.0.0/16\",\n                        \"created_at\": \"2018-11-15T16:00:11Z\",\n                        \"endpoint\": \"https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com\",\n                        \"ha\": false,\n                        \"id\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n                        \"ipv4\": \"68.183.121.157\",\n                        \"maintenance_policy\": {\n                          \"day\": \"any\",\n                          \"duration\": \"4h0m0s\",\n                          \"start_time\": \"00:00\"\n                        },\n                        \"name\": \"prod-cluster-01\",\n                        \"node_pools\": [\n                          {\n                            \"auto_scale\": false,\n                            \"count\": 3,\n                            \"id\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                            \"labels\": null,\n                            \"max_nodes\": 0,\n                            \"min_nodes\": 0,\n                            \"name\": \"frontend-pool\",\n                            \"nodes\": [\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"205545370\",\n                                \"id\": \"478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                \"name\": \"adoring-newton-3niq\",\n                                \"status\": {\n                                  \"state\": \"running\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              },\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"205545371\",\n                                \"id\": \"ad12e744-c2a9-473d-8aa9-be5680500eb1\",\n                                \"name\": \"adoring-newton-3nim\",\n                                \"status\": {\n                                  \"state\": \"running\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              },\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"205545372\",\n                                \"id\": \"e46e8d07-f58f-4ff1-9737-97246364400e\",\n                                \"name\": \"adoring-newton-3ni7\",\n                                \"status\": {\n                                  \"state\": \"running\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              }\n                            ],\n                            \"size\": \"s-1vcpu-2gb\",\n                            \"tags\": [\n                              \"production\",\n                              \"web-team\",\n                              \"k8s\",\n                              \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                              \"k8s:worker\"\n                            ],\n                            \"taints\": []\n                          },\n                          {\n                            \"auto_scale\": true,\n                            \"count\": 2,\n                            \"id\": \"f49f4379-7e7f-4af5-aeb6-0354bd840778\",\n                            \"labels\": {\n                              \"priority\": \"high\",\n                              \"service\": \"backend\"\n                            },\n                            \"max_nodes\": 5,\n                            \"min_nodes\": 2,\n                            \"name\": \"backend-pool\",\n                            \"nodes\": [\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"205545373\",\n                                \"id\": \"3385619f-8ec3-42ba-bb23-8d21b8ba7518\",\n                                \"name\": \"affectionate-nightingale-3nif\",\n                                \"status\": {\n                                  \"state\": \"running\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              },\n                              {\n                                \"created_at\": \"2018-11-15T16:00:11Z\",\n                                \"droplet_id\": \"205545374\",\n                                \"id\": \"4b8f60ff-ba06-4523-a6a4-b8148244c7e6\",\n                                \"name\": \"affectionate-nightingale-3niy\",\n                                \"status\": {\n                                  \"state\": \"running\"\n                                },\n                                \"updated_at\": \"2018-11-15T16:00:11Z\"\n                              }\n                            ],\n                            \"size\": \"g-4vcpu-16gb\",\n                            \"tags\": [\n                              \"production\",\n                              \"web-team\",\n                              \"k8s\",\n                              \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                              \"k8s:worker\"\n                            ],\n                            \"taints\": []\n                          }\n                        ],\n                        \"region\": \"nyc1\",\n                        \"registry_enabled\": false,\n                        \"service_subnet\": \"10.245.0.0/16\",\n                        \"status\": {\n                          \"state\": \"running\"\n                        },\n                        \"surge_upgrade\": true,\n                        \"tags\": [\n                          \"production\",\n                          \"web-team\",\n                          \"k8s\",\n                          \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\"\n                        ],\n                        \"updated_at\": \"2018-11-15T16:00:11Z\",\n                        \"version\": \"1.18.6-do.0\",\n                        \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"kubernetes_cluster\": {\n                      \"properties\": {\n                        \"auto_upgrade\": {\n                          \"default\": false,\n                          \"description\": \"A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"cluster_subnet\": {\n                          \"description\": \"The range of IP addresses in the overlay network of the Kubernetes cluster in CIDR notation.\",\n                          \"example\": \"10.244.0.0/16\",\n                          \"format\": \"cidr\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created.\",\n                          \"example\": \"2018-11-15T16:00:11Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"endpoint\": {\n                          \"description\": \"The base URL of the API server on the Kubernetes master node.\",\n                          \"example\": \"https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"ha\": {\n                          \"default\": false,\n                          \"description\": \"A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"id\": {\n                          \"description\": \"A unique ID that can be used to identify and reference a Kubernetes cluster.\",\n                          \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n                          \"format\": \"uuid\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"ipv4\": {\n                          \"description\": \"The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)\",\n                          \"example\": \"68.183.121.157\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"maintenance_policy\": {\n                          \"description\": \"An object specifying the maintenance window policy for the Kubernetes cluster.\",\n                          \"nullable\": true,\n                          \"properties\": {\n                            \"day\": {\n                              \"description\": \"The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day.\",\n                              \"enum\": [\n                                \"any\",\n                                \"monday\",\n                                \"tuesday\",\n                                \"wednesday\",\n                                \"thursday\",\n                                \"friday\",\n                                \"saturday\",\n                                \"sunday\"\n                              ],\n                              \"example\": \"any\",\n                              \"type\": \"string\"\n                            },\n                            \"duration\": {\n                              \"description\": \"The duration of the maintenance window policy in human-readable format.\",\n                              \"example\": \"4h0m0s\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"start_time\": {\n                              \"description\": \"The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`).\",\n                              \"example\": \"12:00\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"name\": {\n                          \"description\": \"A human-readable name for a Kubernetes cluster.\",\n                          \"example\": \"prod-cluster-01\",\n                          \"type\": \"string\"\n                        },\n                        \"node_pools\": {\n                          \"description\": \"An object specifying the details of the worker nodes available to the Kubernetes cluster.\",\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"size\": {\n                                    \"description\": \"The slug identifier for the type of Droplet used as workers in the node pool.\",\n                                    \"example\": \"s-1vcpu-2gb\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"auto_scale\": {\n                                    \"description\": \"A boolean value indicating whether auto-scaling is enabled for this node pool.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"count\": {\n                                    \"description\": \"The number of Droplet instances in the node pool.\",\n                                    \"example\": 3,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference a specific node pool.\",\n                                    \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                                    \"format\": \"uuid\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"labels\": {\n                                    \"description\": \"An object containing a set of Kubernetes labels. The keys and are values are both user-defined.\",\n                                    \"example\": null,\n                                    \"nullable\": true,\n                                    \"type\": \"object\"\n                                  },\n                                  \"max_nodes\": {\n                                    \"description\": \"The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                                    \"example\": 6,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"min_nodes\": {\n                                    \"description\": \"The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                                    \"example\": 3,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-readable name for the node pool.\",\n                                    \"example\": \"frontend-pool\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"nodes\": {\n                                    \"description\": \"An object specifying the details of a specific worker node in a node pool.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"created_at\": {\n                                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was created.\",\n                                          \"example\": \"2018-11-15T16:00:11Z\",\n                                          \"format\": \"date-time\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"droplet_id\": {\n                                          \"description\": \"The ID of the Droplet used for the worker node.\",\n                                          \"example\": \"205545370\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"id\": {\n                                          \"description\": \"A unique ID that can be used to identify and reference the node.\",\n                                          \"example\": \"e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                          \"format\": \"uuid\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"name\": {\n                                          \"description\": \"An automatically generated, human-readable name for the node.\",\n                                          \"example\": \"adoring-newton-3niq\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"status\": {\n                                          \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the node.\",\n                                          \"properties\": {\n                                            \"state\": {\n                                              \"description\": \"A string indicating the current status of the node.\",\n                                              \"enum\": [\n                                                \"provisioning\",\n                                                \"running\",\n                                                \"draining\",\n                                                \"deleting\"\n                                              ],\n                                              \"example\": \"provisioning\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"type\": \"object\"\n                                        },\n                                        \"updated_at\": {\n                                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was last updated.\",\n                                          \"example\": \"2018-11-15T16:00:11Z\",\n                                          \"format\": \"date-time\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"readOnly\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"tags\": {\n                                    \"description\": \"An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.\",\n                                    \"example\": [\n                                      \"k8s\",\n                                      \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                                      \"k8s-worker\",\n                                      \"production\",\n                                      \"web-team\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"taints\": {\n                                    \"description\": \"An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is removed from all nodes in the pool.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"effect\": {\n                                          \"description\": \"How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\",\n                                          \"enum\": [\n                                            \"NoSchedule\",\n                                            \"PreferNoSchedule\",\n                                            \"NoExecute\"\n                                          ],\n                                          \"example\": \"NoSchedule\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"key\": {\n                                          \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                          \"example\": \"priority\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"value\": {\n                                          \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                          \"example\": \"high\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ],\n                            \"required\": [\n                              \"name\",\n                              \"size\",\n                              \"count\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"region\": {\n                          \"description\": \"The slug identifier for the region where the Kubernetes cluster is located.\",\n                          \"example\": \"nyc1\",\n                          \"type\": \"string\"\n                        },\n                        \"registry_enabled\": {\n                          \"description\": \"A read-only boolean value indicating if a container registry is integrated with the cluster.\",\n                          \"example\": true,\n                          \"readOnly\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"service_subnet\": {\n                          \"description\": \"The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation.\",\n                          \"example\": \"10.245.0.0/16\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster.\",\n                          \"properties\": {\n                            \"message\": {\n                              \"description\": \"An optional message providing additional information about the current cluster state.\",\n                              \"example\": \"provisioning\",\n                              \"type\": \"string\"\n                            },\n                            \"state\": {\n                              \"description\": \"A string indicating the current status of the cluster.\",\n                              \"enum\": [\n                                \"running\",\n                                \"provisioning\",\n                                \"degraded\",\n                                \"error\",\n                                \"deleted\",\n                                \"upgrading\",\n                                \"deleting\"\n                              ],\n                              \"example\": \"provisioning\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"readOnly\": true,\n                          \"type\": \"object\"\n                        },\n                        \"surge_upgrade\": {\n                          \"default\": false,\n                          \"description\": \"A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"tags\": {\n                          \"description\": \"An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`.\",\n                          \"example\": [\n                            \"k8s\",\n                            \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                            \"production\",\n                            \"web-team\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated.\",\n                          \"example\": \"2018-11-15T16:00:11Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"version\": {\n                          \"description\": \"The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. \\\"1.14\\\"), the latest version within it will be used (e.g. \\\"1.14.6-do.1\\\"); if set to \\\"latest\\\", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions.\",\n                          \"example\": \"1.18.6-do.0\",\n                          \"type\": \"string\"\n                        },\n                        \"vpc_uuid\": {\n                          \"description\": \"A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned.\",\n                          \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                          \"format\": \"uuid\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"name\",\n                        \"region\",\n                        \"version\",\n                        \"node_pools\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `kubernetes_cluster`. The\\nvalue of this will be an object containing the standard attributes of a\\nKubernetes cluster.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"stage-cluster-01\\\", \\\"tags\\\":[\\\"staging\\\", \\\"web-team\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    updateRequest := &godo.KubernetesClusterUpdateRequest{\\n        Name: \\\"stage-cluster-01\\\",\\n        Tags: []string{\\\"staging\\\", \\\"web-team\\\"},\\n    }\\n\\n    cluster, _, err := client.Kubernetes.Update(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\", updateRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ncluster = DropletKit::KubernetesCluster.new(\\n  name: 'foo',\\n  tags: ['staging', 'web-team']\\n)\\n\\nclient.kubernetes_clusters.update(cluster, id: 'bd5f5959-5e1e-4205-a714-a914373942af')\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/clusterlint\": {\n      \"get\": {\n        \"description\": \"To request clusterlint diagnostics for your cluster, send a GET request to\\n`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/clusterlint`. If the `run_id` query\\nparameter is provided, then the diagnostics for the specific run is fetched.\\nBy default, the latest results are shown.\\n\\nTo find out how to address clusterlint feedback, please refer to\\n[the clusterlint check documentation](https://github.com/digitalocean/clusterlint/blob/master/checks.md).\\n\",\n        \"operationId\": \"kubernetes_get_clusterLintResults\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Specifies the clusterlint run whose results will be retrieved.\",\n            \"example\": \"50c2f44c-011d-493e-aee5-361a4a0d1844\",\n            \"in\": \"query\",\n            \"name\": \"run_id\",\n            \"required\": false,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"completed_at\": {\n                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was completed.\",\n                      \"example\": \"2019-10-30T05:34:11Z\",\n                      \"format\": \"date-time\",\n                      \"type\": \"string\"\n                    },\n                    \"diagnostics\": {\n                      \"description\": \"An array of diagnostics reporting potential problems for the given cluster.\",\n                      \"items\": {\n                        \"properties\": {\n                          \"check_name\": {\n                            \"description\": \"The clusterlint check that resulted in the diagnostic.\",\n                            \"example\": \"unused-config-map\",\n                            \"type\": \"string\"\n                          },\n                          \"message\": {\n                            \"description\": \"Feedback about the object for users to fix.\",\n                            \"example\": \"Unused config map\",\n                            \"type\": \"string\"\n                          },\n                          \"object\": {\n                            \"description\": \"Metadata about the Kubernetes API object the diagnostic is reported on.\",\n                            \"properties\": {\n                              \"kind\": {\n                                \"description\": \"The kind of Kubernetes API object\",\n                                \"example\": \"config map\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"Name of the object\",\n                                \"example\": \"foo\",\n                                \"type\": \"string\"\n                              },\n                              \"namespace\": {\n                                \"description\": \"The namespace the object resides in the cluster.\",\n                                \"example\": \"kube-system\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"severity\": {\n                            \"description\": \"Can be one of error, warning or suggestion.\",\n                            \"example\": \"warning\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    },\n                    \"requested_at\": {\n                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was made.\",\n                      \"example\": \"2019-10-30T05:34:07Z\",\n                      \"format\": \"date-time\",\n                      \"type\": \"string\"\n                    },\n                    \"run_id\": {\n                      \"description\": \"Id of the clusterlint run that can be used later to fetch the diagnostics.\",\n                      \"example\": \"50c2f44c-011d-493e-aee5-361a4a0d1844\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response is a JSON object which contains the diagnostics on Kubernetes\\nobjects in the cluster. Each diagnostic will contain some metadata information\\nabout the object and feedback for users to act upon.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Fetch Clusterlint Diagnostics for a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/clusterlint\\\"\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"Clusterlint helps operators conform to Kubernetes best practices around\\nresources, security and reliability to avoid common problems while operating\\nor upgrading the clusters.\\n\\nTo request a clusterlint run on your cluster, send a POST request to\\n`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/clusterlint`. This will run all\\nchecks present in the `doks` group by default, if a request body is not\\nspecified. Optionally specify the below attributes.\\n\\nFor information about the available checks, please refer to\\n[the clusterlint check documentation](https://github.com/digitalocean/clusterlint/blob/master/checks.md).\\n\",\n        \"operationId\": \"kubernetes_run_clusterLint\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"exclude_checks\": {\n                    \"description\": \"An array of checks that will be run when clusterlint executes checks.\",\n                    \"example\": [\n                      \"default-namespace\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"exclude_groups\": {\n                    \"description\": \"An array of check groups that will be omitted when clusterlint executes checks.\",\n                    \"example\": [\n                      \"workload-health\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"include_checks\": {\n                    \"description\": \"An array of checks that will be run when clusterlint executes checks.\",\n                    \"example\": [\n                      \"bare-pods\",\n                      \"resource-requirements\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"include_groups\": {\n                    \"description\": \"An array of check groups that will be run when clusterlint executes checks.\",\n                    \"example\": [\n                      \"basic\",\n                      \"doks\",\n                      \"security\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"202\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"run_id\": {\n                      \"description\": \"ID of the clusterlint run that can be used later to fetch the diagnostics.\",\n                      \"example\": \"50c2f44c-011d-493e-aee5-361a4a0d1844\",\n                      \"type\": \"string\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response is a JSON object with a key called `run_id` that you can later use to fetch the run results.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Run Clusterlint Checks on a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"include_groups\\\": [\\\"basic\\\"], \\\"include_checks\\\": [\\\"bare-pods\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/clusterlint\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/credentials\": {\n      \"get\": {\n        \"description\": \"This endpoint returns a JSON object . It can be used to programmatically\\nconstruct Kubernetes clients which cannot parse kubeconfig files.\\n\\nThe resulting JSON object contains token-based authentication for clusters\\nsupporting it, and certificate-based authentication otherwise. For a list of\\nsupported versions and more information, see \\\"[How to Connect to a DigitalOcean\\nKubernetes Cluster with kubectl](https://www.digitalocean.com/docs/kubernetes/how-to/connect-with-kubectl/)\\\".\\n\\nTo retrieve credentials for accessing a Kubernetes cluster, send a GET\\nrequest to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/credentials`.\\n\\nClusters supporting token-based authentication may define an expiration by\\npassing a duration in seconds as a query parameter to\\n`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig?expiry_seconds=$DURATION_IN_SECONDS`.\\nIf not set or 0, then the token will have a 7 day expiry. The query parameter\\nhas no impact in certificate-based authentication.\\n\",\n        \"operationId\": \"kubernetes_get_credentials\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.\",\n            \"example\": 300,\n            \"in\": \"query\",\n            \"name\": \"expiry_seconds\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 0,\n              \"minimum\": 0,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"certificate_authority_data\": {\n                      \"description\": \"A base64 encoding of bytes representing the certificate authority data for accessing the cluster.\",\n                      \"example\": \"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKekNDQWcrZ0F3SUJBZ0lDQm5Vd0RRWUpLb1pJaHZjTkFRRUxCUUF3TXpFVk1CTUdBMVVFQ2hNTVJHbG4KYVhSaGJFOWpaV0Z1TVJvd0dBWURWUVFERXhGck9ITmhZWE1nUTJ4MWMzUmxjaUJEUVRBZUZ3MHlNREE0TURNeApOVEkxTWpoYUZ3MDBNREE0TURNeE5USTFNamhhTURNeEZUQVRCZ05WQkFvVERFUnBaMmwwWVd4UFkyVmhiakVhCk1CZ0dBMVVFQXhNUmF6aHpZV0Z6SUVOc2RYTjBaWElnUTBFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUIKRHdBd2dnRUtBb0lCQVFDc21oa2JrSEpUcGhZQlN0R05VVE1ORVZTd2N3bmRtajArelQvcUZaNGsrOVNxUnYrSgpBd0lCaGpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1CMEdBMVVkRGdRV0JCUlRzazhhZ1hCUnFyZXdlTXJxClhwa3E1NXg5dVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXB6V2F6bXNqYWxXTEx3ZjVpbWdDblNINDlKcGkKYWkvbzFMdEJvVEpleGdqZzE1ZVppaG5BMUJMc0lWNE9BZGM3UEFsL040L0hlbENrTDVxandjamRnNVdaYnMzYwozcFVUQ0g5bVVwMFg1SVdhT1VKV292Q1hGUlM1R2VKYXlkSDVPUXhqTURzR2N2UlNvZGQrVnQ2MXE3aWdFZ2I1CjBOZ1l5RnRnc2p0MHpJN3hURzZFNnlsOVYvUmFoS3lIQks2eExlM1RnUGU4SXhWa2RwT3QzR0FhSDRaK0pLR3gKYisyMVZia1NnRE1QQTlyR0VKNVZwVXlBV0FEVXZDRVFHV0hmNGpQN2ZGZlc3T050S0JWY3h3YWFjcVBVdUhzWApwRG5DZVR3V1NuUVp6L05xNmQxWUtsMFdtbkwzTEowemJzRVFGbEQ4MkkwL09MY2dZSDVxMklOZHhBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=\",\n                      \"format\": \"byte\",\n                      \"type\": \"string\"\n                    },\n                    \"client_certificate_data\": {\n                      \"deprecated\": true,\n                      \"description\": \"A base64 encoding of bytes representing the x509 client\\ncertificate data for access the cluster. This is only returned for clusters\\nwithout support for token-based authentication.\\n\\nNewly created Kubernetes clusters do not return credentials using\\ncertificate-based authentication. For additional information,\\n[see here](https://www.digitalocean.com/docs/kubernetes/how-to/connect-to-cluster/#authenticate).\\n\",\n                      \"example\": null,\n                      \"format\": \"byte\",\n                      \"nullable\": true,\n                      \"type\": \"string\"\n                    },\n                    \"client_key_data\": {\n                      \"deprecated\": true,\n                      \"description\": \"A base64 encoding of bytes representing the x509 client key\\ndata for access the cluster. This is only returned for clusters without\\nsupport for token-based authentication.\\n\\nNewly created Kubernetes clusters do not return credentials using\\ncertificate-based authentication. For additional information,\\n[see here](https://www.digitalocean.com/docs/kubernetes/how-to/connect-to-cluster/#authenticate).\\n\",\n                      \"example\": null,\n                      \"format\": \"byte\",\n                      \"nullable\": true,\n                      \"type\": \"string\"\n                    },\n                    \"expires_at\": {\n                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the access token expires.\",\n                      \"example\": \"2019-11-09T11:50:28.889080521Z\",\n                      \"format\": \"date-time\",\n                      \"type\": \"string\"\n                    },\n                    \"server\": {\n                      \"description\": \"The URL used to access the cluster API server.\",\n                      \"example\": \"https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com\",\n                      \"format\": \"uri\",\n                      \"type\": \"string\"\n                    },\n                    \"token\": {\n                      \"description\": \"An access token used to authenticate with the cluster. This is only returned for clusters with support for token-based authentication.\",\n                      \"example\": \"$DIGITALOCEAN_TOKEN\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object containing credentials for a cluster.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve Credentials for a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/credentials\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    credentials, _, err := client.Kubernetes.GetCredentials(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.kubernetes_clusters.credentials(id: 'bd5f5959-5e1e-4205-a714-a914373942af')\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources\": {\n      \"get\": {\n        \"description\": \"To list the associated billable resources that can be destroyed along with a cluster, send a GET request to the `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources` endpoint.\",\n        \"operationId\": \"kubernetes_list_associatedResources\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"description\": \"An object containing the IDs of resources associated with a Kubernetes cluster.\",\n                  \"properties\": {\n                    \"load_balancers\": {\n                      \"description\": \"A list of names and IDs for associated load balancers that can be destroyed along with the cluster.\",\n                      \"example\": [\n                        {\n                          \"id\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                          \"name\": \"lb-001\"\n                        }\n                      ],\n                      \"items\": {\n                        \"properties\": {\n                          \"id\": {\n                            \"description\": \"The ID of a resource associated with a Kubernetes cluster.\",\n                            \"example\": \"edb0478d-7436-11ea-86e6-0a58ac144b91\",\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"The name of a resource associated with a Kubernetes cluster.\",\n                            \"example\": \"volume-001\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    },\n                    \"volume_snapshots\": {\n                      \"description\": \"A list of names and IDs for associated volume snapshots that can be destroyed along with the cluster.\",\n                      \"example\": [\n                        {\n                          \"id\": \"edb0478d-7436-11ea-86e6-0a58ac144b91\",\n                          \"name\": \"snapshot-001\"\n                        }\n                      ],\n                      \"items\": {\n                        \"properties\": {\n                          \"id\": {\n                            \"description\": \"The ID of a resource associated with a Kubernetes cluster.\",\n                            \"example\": \"edb0478d-7436-11ea-86e6-0a58ac144b91\",\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"The name of a resource associated with a Kubernetes cluster.\",\n                            \"example\": \"volume-001\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    },\n                    \"volumes\": {\n                      \"description\": \"A list of names and IDs for associated volumes that can be destroyed along with the cluster.\",\n                      \"example\": [\n                        {\n                          \"id\": \"ba49449a-7435-11ea-b89e-0a58ac14480f\",\n                          \"name\": \"volume-001\"\n                        }\n                      ],\n                      \"items\": {\n                        \"properties\": {\n                          \"id\": {\n                            \"description\": \"The ID of a resource associated with a Kubernetes cluster.\",\n                            \"example\": \"edb0478d-7436-11ea-86e6-0a58ac144b91\",\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"The name of a resource associated with a Kubernetes cluster.\",\n                            \"example\": \"volume-001\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object containing `load_balancers`, `volumes`, and `volume_snapshots` keys. Each will be set to an array of objects containing the standard attributes for associated resources.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Associated Resources for Cluster Deletion\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/destroy_with_associated_resources\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Kubernetes.ListAssociatedResourcesForDeletion(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\")\\n\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous\": {\n      \"delete\": {\n        \"description\": \"To delete a Kubernetes cluster with all of its associated resources, send a\\nDELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/dangerous`.\\nA 204 status code with no body will be returned in response to a successful request.\\n\",\n        \"operationId\": \"kubernetes_destroy_associatedResourcesDangerous\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Cluster and All of its Associated Resources (Dangerous)\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/destroy_with_associated_resources/dangerous\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Kubernetes.DeleteDangerous(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\")\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective\": {\n      \"delete\": {\n        \"description\": \"To delete a Kubernetes cluster along with a subset of its associated resources,\\nsend a DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/selective`.\\n\\nThe JSON body of the request should include `load_balancers`, `volumes`, or\\n`volume_snapshots` keys each set to an array of IDs for the associated\\nresources to be destroyed.\\n\\nThe IDs can be found by querying the cluster's associated resources endpoint.\\nAny associated resource not included in the request will remain and continue\\nto accrue changes on your account.\\n\",\n        \"operationId\": \"kubernetes_destroy_associatedResourcesSelective\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"An object containing the IDs of resources to be destroyed along with their associated with a Kubernetes cluster.\",\n                \"properties\": {\n                  \"load_balancers\": {\n                    \"description\": \"A list of IDs for associated load balancers to destroy along with the cluster.\",\n                    \"example\": [\n                      \"4de7ac8b-495b-4884-9a69-1050c6793cd6\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"volume_snapshots\": {\n                    \"description\": \"A list of IDs for associated volume snapshots to destroy along with the cluster.\",\n                    \"example\": [\n                      \"edb0478d-7436-11ea-86e6-0a58ac144b91\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"volumes\": {\n                    \"description\": \"A list of IDs for associated volumes to destroy along with the cluster.\",\n                    \"example\": [\n                      \"ba49449a-7435-11ea-b89e-0a58ac14480f\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Selectively Delete a Cluster and its Associated Resources\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"load_balancers\\\": [\\\"4de7ac8b-495b-4884-9a69-1050c6793cd6\\\"],\\\"volumes\\\": [\\\"ba49449a-7435-11ea-b89e-0a58ac14480f\\\"],\\\"volume_snapshots\\\": [\\\"edb0478d-7436-11ea-86e6-0a58ac144b91\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/destroy_with_associated_resources/selective\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    deleteReq := &godo.KubernetesClusterDeleteSelectiveRequest{Volumes: []string{\\\"ba49449a-7435-11ea-b89e-0a58ac14480f\\\"}}, _, err := client.Kubernetes.DeleteSelective(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\", deleteReq)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/kubeconfig\": {\n      \"get\": {\n        \"description\": \"This endpoint returns a kubeconfig file in YAML format. It can be used to\\nconnect to and administer the cluster using the Kubernetes command line tool,\\n`kubectl`, or other programs supporting kubeconfig files (e.g., client libraries).\\n\\nThe resulting kubeconfig file uses token-based authentication for clusters\\nsupporting it, and certificate-based authentication otherwise. For a list of\\nsupported versions and more information, see \\\"[How to Connect to a DigitalOcean\\nKubernetes Cluster with kubectl](https://www.digitalocean.com/docs/kubernetes/how-to/connect-with-kubectl/)\\\".\\n\\nTo retrieve a kubeconfig file for use with a Kubernetes cluster, send a GET\\nrequest to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig`.\\n\\nClusters supporting token-based authentication may define an expiration by\\npassing a duration in seconds as a query parameter to\\n`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig?expiry_seconds=$DURATION_IN_SECONDS`.\\nIf not set or 0, then the token will have a 7 day expiry. The query parameter\\nhas no impact in certificate-based authentication.\\n\",\n        \"operationId\": \"kubernetes_get_kubeconfig\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.\",\n            \"example\": 300,\n            \"in\": \"query\",\n            \"name\": \"expiry_seconds\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 0,\n              \"minimum\": 0,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/yaml\": {\n                \"example\": \"apiVersion: v1\\nclusters:\\n- cluster:\\n    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURUxCUUF3TXpFVk1CTUdBMVVFQ2ftTVJHbG4KYVhSaGJFOWpaV0Z1TVJvd0dUSREERXhGck9ITmhZWE1nUTJ4MWMzUmxjaUJEUVRBZUZ3MHhPREV4TVRVeApOakF3TWpCYUZ3MHpPREV4TVRVeE5qQXdNakJhTURNeEZUQVRCZ05WQkFvVERFUnBaMmwwWVd4UFkyVmhiakVhCk1CZ0dBMVVFQXhNUmF6aHpZV0Z6SUVOc2RYTjBaWElnUTBFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUIKRHdBd2dnRUtBb0lCQVFDK2Z0L05Nd3pNaUxFZlFvTFU2bDgrY0hMbWttZFVKdjl4SmlhZUpIU0dZOGhPZFVEZQpGd1Zoc0pDTnVFWkpJUFh5Y0orcGpkU3pYc1lFSE03WVNKWk9xNkdaYThPMnZHUlJjN2ZQaUFJaFBRK0ZpUmYzCmRhMHNIUkZlM2hCTmU5ZE5SeTliQ2VCSTRSUlQrSEwzRFR3L2I5KytmRkdZQkRoVTEvTTZUWWRhUHR3WU0rdWgKb1pKcWJZVGJZZTFhb3R1ekdnYUpXaXRhdFdHdnNJYU8xYWthdkh0WEIOOHFxa2lPemdrSDdvd3RVY3JYM05iawozdmlVeFU4TW40MmlJaGFyeHNvTnlwdGhHOWZLMi9OdVdKTXJJS2R0Mzhwc0tkdDBFbng0MWg5K0dsMjUzMzhWCk1mdjBDVDF6SG1JanYwblIrakNkcFd0eFVLRyt0YjYzZFhNbkFnTUJBQUdqUlRCRE1BNEdBMVVkRHdFQi93UUUKQXdJQmhqQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQjBHQTFVZERnUVdCQlNQMmJrOXJiUGJpQnZOd1Z1NQpUL0dwTFdvOTdEQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFEVjFMSGZyc1JiYVdONHE5SnBFVDMxMlluRDZ6Cm5rM3BpU1ZSYVEvM09qWG8wdHJ6Z2N4KzlVTUQxeDRHODI1RnYxc0ROWUExZEhFc2dHUmNyRkVmdGZJQWUrUVYKTitOR3NMRnQrOGZrWHdnUlpoNEU4ZUJsSVlrdEprOWptMzFMT25vaDJYZno0aGs3VmZwYkdvVVlsbmVoak1JZApiL3ZMUk05Y2EwVTJlYTB5OTNveE5pdU9PcXdrZGFjU1orczJtb3JNdGZxc3VRSzRKZDA3SENIbUFIeWpXT2k4ClVOQVUyTnZnSnBKY2RiZ3VzN2I5S3ppR1ZERklFUk04cEo4U1Nob1ZvVFFJd3d5Y2xVTU9EUUJreFFHOHNVRk8KRDE3ZjRod1dNbW5qVHY2MEJBM0dxaTZRcjdsWVFSL3drSEtQcnZjMjhoNXB0NndPWEY1b1M4OUZkUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K\\n    server: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com\\n  name: do-nyc1-prod-cluster-01\\ncontexts:\\n- context:\\n    cluster: do-nyc1-prod-cluster-01\\n    user: do-nyc1-prod-cluster-01-admin\\n  name: do-nyc1-prod-cluster-01\\ncurrent-context: do-nyc1-prod-cluster-01\\nkind: Config\\npreferences: {}\\nusers:\\n- name: do-nyc1-prod-cluster-01-admin\\n  user:\\n    token: 403d085aaa80102277d8da97ffd2db2b6a4f129d0e2146098fdfb0cec624babc\\n\"\n              }\n            },\n            \"description\": \"A kubeconfig file for the cluster in YAML format.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve the kubeconfig for a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/kubeconfig\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    config, _, err := client.Kubernetes.GetKubeConfig(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\")\\n\\n    kubeConfigFile := string(config.KubeconfigYAML)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.kubernetes_clusters.kubeconfig(id: 'bd5f5959-5e1e-4205-a714-a914373942af')\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/node_pools\": {\n      \"get\": {\n        \"description\": \"To list all of the node pools in a Kubernetes clusters, send a GET request to\\n`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools`.\\n\",\n        \"operationId\": \"kubernetes_list_nodePools\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"node_pools\": [\n                    {\n                      \"auto_scale\": false,\n                      \"count\": 3,\n                      \"id\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                      \"labels\": null,\n                      \"max_nodes\": 0,\n                      \"min_nodes\": 0,\n                      \"name\": \"frontend-pool\",\n                      \"nodes\": [\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \"205545370\",\n                          \"id\": \"478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                          \"name\": \"adoring-newton-3niq\",\n                          \"status\": {\n                            \"state\": \"running\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        },\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \"205545371\",\n                          \"id\": \"ad12e744-c2a9-473d-8aa9-be5680500eb1\",\n                          \"name\": \"adoring-newton-3nim\",\n                          \"status\": {\n                            \"state\": \"running\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        },\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \"205545372\",\n                          \"id\": \"e46e8d07-f58f-4ff1-9737-97246364400e\",\n                          \"name\": \"adoring-newton-3ni7\",\n                          \"status\": {\n                            \"state\": \"running\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        }\n                      ],\n                      \"size\": \"s-1vcpu-2gb\",\n                      \"tags\": [\n                        \"production\",\n                        \"web-team\",\n                        \"k8s\",\n                        \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                        \"k8s:worker\"\n                      ]\n                    },\n                    {\n                      \"auto_scale\": true,\n                      \"count\": 2,\n                      \"id\": \"f49f4379-7e7f-4af5-aeb6-0354bd840778\",\n                      \"labels\": {\n                        \"priority\": \"high\",\n                        \"service\": \"backend\"\n                      },\n                      \"max_nodes\": 5,\n                      \"min_nodes\": 2,\n                      \"name\": \"backend-pool\",\n                      \"nodes\": [\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \"205545373\",\n                          \"id\": \"3385619f-8ec3-42ba-bb23-8d21b8ba7518\",\n                          \"name\": \"affectionate-nightingale-3nif\",\n                          \"status\": {\n                            \"state\": \"running\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        },\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \"205545374\",\n                          \"id\": \"4b8f60ff-ba06-4523-a6a4-b8148244c7e6\",\n                          \"name\": \"affectionate-nightingale-3niy\",\n                          \"status\": {\n                            \"state\": \"running\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        }\n                      ],\n                      \"size\": \"g-4vcpu-16gb\",\n                      \"tags\": [\n                        \"production\",\n                        \"web-team\",\n                        \"k8s\",\n                        \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                        \"k8s:worker\"\n                      ]\n                    }\n                  ]\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"node_pools\": {\n                      \"items\": {\n                        \"allOf\": [\n                          {\n                            \"properties\": {\n                              \"size\": {\n                                \"description\": \"The slug identifier for the type of Droplet used as workers in the node pool.\",\n                                \"example\": \"s-1vcpu-2gb\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          {\n                            \"properties\": {\n                              \"auto_scale\": {\n                                \"description\": \"A boolean value indicating whether auto-scaling is enabled for this node pool.\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"count\": {\n                                \"description\": \"The number of Droplet instances in the node pool.\",\n                                \"example\": 3,\n                                \"type\": \"integer\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique ID that can be used to identify and reference a specific node pool.\",\n                                \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                                \"format\": \"uuid\",\n                                \"readOnly\": true,\n                                \"type\": \"string\"\n                              },\n                              \"labels\": {\n                                \"description\": \"An object containing a set of Kubernetes labels. The keys and are values are both user-defined.\",\n                                \"example\": null,\n                                \"nullable\": true,\n                                \"type\": \"object\"\n                              },\n                              \"max_nodes\": {\n                                \"description\": \"The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                                \"example\": 6,\n                                \"type\": \"integer\"\n                              },\n                              \"min_nodes\": {\n                                \"description\": \"The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                                \"example\": 3,\n                                \"type\": \"integer\"\n                              },\n                              \"name\": {\n                                \"description\": \"A human-readable name for the node pool.\",\n                                \"example\": \"frontend-pool\",\n                                \"type\": \"string\"\n                              },\n                              \"nodes\": {\n                                \"description\": \"An object specifying the details of a specific worker node in a node pool.\",\n                                \"items\": {\n                                  \"properties\": {\n                                    \"created_at\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was created.\",\n                                      \"example\": \"2018-11-15T16:00:11Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"droplet_id\": {\n                                      \"description\": \"The ID of the Droplet used for the worker node.\",\n                                      \"example\": \"205545370\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"id\": {\n                                      \"description\": \"A unique ID that can be used to identify and reference the node.\",\n                                      \"example\": \"e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                      \"format\": \"uuid\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"An automatically generated, human-readable name for the node.\",\n                                      \"example\": \"adoring-newton-3niq\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"status\": {\n                                      \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the node.\",\n                                      \"properties\": {\n                                        \"state\": {\n                                          \"description\": \"A string indicating the current status of the node.\",\n                                          \"enum\": [\n                                            \"provisioning\",\n                                            \"running\",\n                                            \"draining\",\n                                            \"deleting\"\n                                          ],\n                                          \"example\": \"provisioning\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"updated_at\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was last updated.\",\n                                      \"example\": \"2018-11-15T16:00:11Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"readOnly\": true,\n                                \"type\": \"array\"\n                              },\n                              \"tags\": {\n                                \"description\": \"An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.\",\n                                \"example\": [\n                                  \"k8s\",\n                                  \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                                  \"k8s-worker\",\n                                  \"production\",\n                                  \"web-team\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"taints\": {\n                                \"description\": \"An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is removed from all nodes in the pool.\",\n                                \"items\": {\n                                  \"properties\": {\n                                    \"effect\": {\n                                      \"description\": \"How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\",\n                                      \"enum\": [\n                                        \"NoSchedule\",\n                                        \"PreferNoSchedule\",\n                                        \"NoExecute\"\n                                      ],\n                                      \"example\": \"NoSchedule\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"key\": {\n                                      \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                      \"example\": \"priority\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"value\": {\n                                      \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                      \"example\": \"high\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          }\n                        ],\n                        \"required\": [\n                          \"name\",\n                          \"size\",\n                          \"count\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `node_pools`. This will\\nbe set to an array of objects, each of which will contain the standard node\\npool attributes.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Node Pools in a Kubernetes Clusters\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/node_pools\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    nodePools, _, err := client.Kubernetes.ListNodePools(ctx, \\\"9b729d1c-730c-42e1-b136-59326fb1b3bb\\\", opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nnode_pools = client.kubernetes_clusters.node_pools(id: 'bd5f5959-5e1e-4205-a714-a914373942af')\\nnode_pools.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To add an additional node pool to a Kubernetes clusters, send a POST request\\nto `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools` with the following\\nattributes.\\n\",\n        \"operationId\": \"kubernetes_add_nodePool\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"auto_scale\": true,\n                \"count\": 3,\n                \"max_nodes\": 6,\n                \"min_nodes\": 3,\n                \"name\": \"new-pool\",\n                \"size\": \"s-1vcpu-2gb\",\n                \"tags\": [\n                  \"frontend\"\n                ]\n              },\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"size\": {\n                        \"description\": \"The slug identifier for the type of Droplet used as workers in the node pool.\",\n                        \"example\": \"s-1vcpu-2gb\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"properties\": {\n                      \"auto_scale\": {\n                        \"description\": \"A boolean value indicating whether auto-scaling is enabled for this node pool.\",\n                        \"example\": true,\n                        \"type\": \"boolean\"\n                      },\n                      \"count\": {\n                        \"description\": \"The number of Droplet instances in the node pool.\",\n                        \"example\": 3,\n                        \"type\": \"integer\"\n                      },\n                      \"id\": {\n                        \"description\": \"A unique ID that can be used to identify and reference a specific node pool.\",\n                        \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                        \"format\": \"uuid\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"labels\": {\n                        \"description\": \"An object containing a set of Kubernetes labels. The keys and are values are both user-defined.\",\n                        \"example\": null,\n                        \"nullable\": true,\n                        \"type\": \"object\"\n                      },\n                      \"max_nodes\": {\n                        \"description\": \"The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                        \"example\": 6,\n                        \"type\": \"integer\"\n                      },\n                      \"min_nodes\": {\n                        \"description\": \"The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                        \"example\": 3,\n                        \"type\": \"integer\"\n                      },\n                      \"name\": {\n                        \"description\": \"A human-readable name for the node pool.\",\n                        \"example\": \"frontend-pool\",\n                        \"type\": \"string\"\n                      },\n                      \"nodes\": {\n                        \"description\": \"An object specifying the details of a specific worker node in a node pool.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was created.\",\n                              \"example\": \"2018-11-15T16:00:11Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"droplet_id\": {\n                              \"description\": \"The ID of the Droplet used for the worker node.\",\n                              \"example\": \"205545370\",\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference the node.\",\n                              \"example\": \"e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                              \"format\": \"uuid\",\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"An automatically generated, human-readable name for the node.\",\n                              \"example\": \"adoring-newton-3niq\",\n                              \"type\": \"string\"\n                            },\n                            \"status\": {\n                              \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the node.\",\n                              \"properties\": {\n                                \"state\": {\n                                  \"description\": \"A string indicating the current status of the node.\",\n                                  \"enum\": [\n                                    \"provisioning\",\n                                    \"running\",\n                                    \"draining\",\n                                    \"deleting\"\n                                  ],\n                                  \"example\": \"provisioning\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"updated_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was last updated.\",\n                              \"example\": \"2018-11-15T16:00:11Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"readOnly\": true,\n                        \"type\": \"array\"\n                      },\n                      \"tags\": {\n                        \"description\": \"An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.\",\n                        \"example\": [\n                          \"k8s\",\n                          \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                          \"k8s-worker\",\n                          \"production\",\n                          \"web-team\"\n                        ],\n                        \"items\": {\n                          \"type\": \"string\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"taints\": {\n                        \"description\": \"An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is removed from all nodes in the pool.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"effect\": {\n                              \"description\": \"How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\",\n                              \"enum\": [\n                                \"NoSchedule\",\n                                \"PreferNoSchedule\",\n                                \"NoExecute\"\n                              ],\n                              \"example\": \"NoSchedule\",\n                              \"type\": \"string\"\n                            },\n                            \"key\": {\n                              \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                              \"example\": \"priority\",\n                              \"type\": \"string\"\n                            },\n                            \"value\": {\n                              \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                              \"example\": \"high\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  }\n                ],\n                \"required\": [\n                  \"name\",\n                  \"size\",\n                  \"count\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"node_pool\": {\n                      \"auto_scale\": true,\n                      \"count\": 3,\n                      \"id\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                      \"labels\": null,\n                      \"max_nodes\": 6,\n                      \"min_nodes\": 3,\n                      \"name\": \"new-pool\",\n                      \"nodes\": [\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \" \",\n                          \"id\": \"478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                          \"name\": \" \",\n                          \"status\": {\n                            \"state\": \"provisioning\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        },\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \" \",\n                          \"id\": \"ad12e744-c2a9-473d-8aa9-be5680500eb1\",\n                          \"name\": \" \",\n                          \"status\": {\n                            \"state\": \"provisioning\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        },\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \" \",\n                          \"id\": \"e46e8d07-f58f-4ff1-9737-97246364400e\",\n                          \"name\": \" \",\n                          \"status\": {\n                            \"state\": \"provisioning\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        }\n                      ],\n                      \"size\": \"s-1vcpu-2gb\",\n                      \"tags\": [\n                        \"production\",\n                        \"web-team\",\n                        \"front-end\",\n                        \"k8s\",\n                        \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                        \"k8s:worker\"\n                      ],\n                      \"taints\": []\n                    }\n                  },\n                  \"properties\": {\n                    \"node_pool\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"size\": {\n                              \"description\": \"The slug identifier for the type of Droplet used as workers in the node pool.\",\n                              \"example\": \"s-1vcpu-2gb\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"auto_scale\": {\n                              \"description\": \"A boolean value indicating whether auto-scaling is enabled for this node pool.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"count\": {\n                              \"description\": \"The number of Droplet instances in the node pool.\",\n                              \"example\": 3,\n                              \"type\": \"integer\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference a specific node pool.\",\n                              \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"labels\": {\n                              \"description\": \"An object containing a set of Kubernetes labels. The keys and are values are both user-defined.\",\n                              \"example\": null,\n                              \"nullable\": true,\n                              \"type\": \"object\"\n                            },\n                            \"max_nodes\": {\n                              \"description\": \"The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                              \"example\": 6,\n                              \"type\": \"integer\"\n                            },\n                            \"min_nodes\": {\n                              \"description\": \"The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                              \"example\": 3,\n                              \"type\": \"integer\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for the node pool.\",\n                              \"example\": \"frontend-pool\",\n                              \"type\": \"string\"\n                            },\n                            \"nodes\": {\n                              \"description\": \"An object specifying the details of a specific worker node in a node pool.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was created.\",\n                                    \"example\": \"2018-11-15T16:00:11Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"droplet_id\": {\n                                    \"description\": \"The ID of the Droplet used for the worker node.\",\n                                    \"example\": \"205545370\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference the node.\",\n                                    \"example\": \"e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                    \"format\": \"uuid\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"An automatically generated, human-readable name for the node.\",\n                                    \"example\": \"adoring-newton-3niq\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the node.\",\n                                    \"properties\": {\n                                      \"state\": {\n                                        \"description\": \"A string indicating the current status of the node.\",\n                                        \"enum\": [\n                                          \"provisioning\",\n                                          \"running\",\n                                          \"draining\",\n                                          \"deleting\"\n                                        ],\n                                        \"example\": \"provisioning\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"updated_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was last updated.\",\n                                    \"example\": \"2018-11-15T16:00:11Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"readOnly\": true,\n                              \"type\": \"array\"\n                            },\n                            \"tags\": {\n                              \"description\": \"An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.\",\n                              \"example\": [\n                                \"k8s\",\n                                \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                                \"k8s-worker\",\n                                \"production\",\n                                \"web-team\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"taints\": {\n                              \"description\": \"An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is removed from all nodes in the pool.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"effect\": {\n                                    \"description\": \"How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\",\n                                    \"enum\": [\n                                      \"NoSchedule\",\n                                      \"PreferNoSchedule\",\n                                      \"NoExecute\"\n                                    ],\n                                    \"example\": \"NoSchedule\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"key\": {\n                                    \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                    \"example\": \"priority\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"value\": {\n                                    \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                    \"example\": \"high\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"required\": [\n                        \"name\",\n                        \"size\",\n                        \"count\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `node_pool`. The value of\\nthis will be an object containing the standard attributes of a node pool.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Add a Node Pool to a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"size\\\": \\\"s-2vcpu-4gb\\\",\\\"count\\\": 1,\\\"name\\\": \\\"pool-02\\\",\\\"tags\\\": [\\\"web\\\"], \\\"labels\\\": {\\\"service\\\": \\\"web\\\", \\\"priority\\\": \\\"high\\\"}}' \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/node_pools\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &godo.KubernetesNodePoolCreateRequest{\\n        Name:  \\\"pool-02\\\",\\n        Size:  \\\"s-2vcpu-4gb\\\",\\n        Count: 1,\\n        Tags:  []string{\\\"web\\\"},\\n        Labels:  map[string]string{\\\"service\\\": \\\"web\\\", \\\"priority\\\": \\\"high\\\"},\\n    }\\n\\n    nodePool, _, err := client.Kubernetes.CreateNodePool(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\", createRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nnode_pool = DropletKit::KubernetesNodePool.new(\\n  name: 'pool-02',\\n  size: 's-2vcpu-4gb',\\n  count: 1,\\n  tags: ['web']\\n  labels: {service: 'web', priority: 'high'}\\n)\\n\\nclient.kubernetes_clusters.create_node_pool(node_pool, id: 'bd5f5959-5e1e-4205-a714-a914373942af')\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a node pool, send a DELETE request to\\n`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`.\\n\\nA 204 status code with no body will be returned in response to a successful\\nrequest. Nodes in the pool will subsequently be drained and deleted.\\n\",\n        \"operationId\": \"kubernetes_delete_nodePool\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes node pool.\",\n            \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n            \"in\": \"path\",\n            \"name\": \"node_pool_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Node Pool in a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/node_pools/86c9bc8c-b2c3-4d40-8000-b0c7bee27305\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Kubernetes.DeleteNodePool(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\", \\\"86c9bc8c-b2c3-4d40-8000-b0c7bee27305\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.kubernetes_clusters.delete_node_pool(id: 'bd5f5959-5e1e-4205-a714-a914373942af', pool_id: '86c9bc8c-b2c3-4d40-8000-b0c7bee27305')\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about a specific node pool in a Kubernetes cluster, send\\na GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`.\\n\",\n        \"operationId\": \"kubernetes_get_nodePool\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes node pool.\",\n            \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n            \"in\": \"path\",\n            \"name\": \"node_pool_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"node_pool\": {\n                      \"auto_scale\": false,\n                      \"count\": 3,\n                      \"id\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                      \"labels\": {\n                        \"priority\": \"high\",\n                        \"service\": \"backend\"\n                      },\n                      \"max_nodes\": 0,\n                      \"min_nodes\": 0,\n                      \"name\": \"frontend-pool\",\n                      \"nodes\": [\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \"205545370\",\n                          \"id\": \"478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                          \"name\": \"adoring-newton-3niq\",\n                          \"status\": {\n                            \"state\": \"running\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        },\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \"205545371\",\n                          \"id\": \"ad12e744-c2a9-473d-8aa9-be5680500eb1\",\n                          \"name\": \"adoring-newton-3nim\",\n                          \"status\": {\n                            \"state\": \"running\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        },\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \"205545372\",\n                          \"id\": \"e46e8d07-f58f-4ff1-9737-97246364400e\",\n                          \"name\": \"adoring-newton-3ni7\",\n                          \"status\": {\n                            \"state\": \"running\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        }\n                      ],\n                      \"size\": \"s-1vcpu-2gb\",\n                      \"tags\": [\n                        \"production\",\n                        \"web-team\",\n                        \"k8s\",\n                        \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                        \"k8s:worker\"\n                      ],\n                      \"taints\": [\n                        {\n                          \"effect\": \"NoSchedule\",\n                          \"key\": \"priority\",\n                          \"value\": \"high\"\n                        }\n                      ]\n                    }\n                  },\n                  \"properties\": {\n                    \"node_pool\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"size\": {\n                              \"description\": \"The slug identifier for the type of Droplet used as workers in the node pool.\",\n                              \"example\": \"s-1vcpu-2gb\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"auto_scale\": {\n                              \"description\": \"A boolean value indicating whether auto-scaling is enabled for this node pool.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"count\": {\n                              \"description\": \"The number of Droplet instances in the node pool.\",\n                              \"example\": 3,\n                              \"type\": \"integer\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference a specific node pool.\",\n                              \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"labels\": {\n                              \"description\": \"An object containing a set of Kubernetes labels. The keys and are values are both user-defined.\",\n                              \"example\": null,\n                              \"nullable\": true,\n                              \"type\": \"object\"\n                            },\n                            \"max_nodes\": {\n                              \"description\": \"The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                              \"example\": 6,\n                              \"type\": \"integer\"\n                            },\n                            \"min_nodes\": {\n                              \"description\": \"The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                              \"example\": 3,\n                              \"type\": \"integer\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for the node pool.\",\n                              \"example\": \"frontend-pool\",\n                              \"type\": \"string\"\n                            },\n                            \"nodes\": {\n                              \"description\": \"An object specifying the details of a specific worker node in a node pool.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was created.\",\n                                    \"example\": \"2018-11-15T16:00:11Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"droplet_id\": {\n                                    \"description\": \"The ID of the Droplet used for the worker node.\",\n                                    \"example\": \"205545370\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference the node.\",\n                                    \"example\": \"e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                    \"format\": \"uuid\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"An automatically generated, human-readable name for the node.\",\n                                    \"example\": \"adoring-newton-3niq\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the node.\",\n                                    \"properties\": {\n                                      \"state\": {\n                                        \"description\": \"A string indicating the current status of the node.\",\n                                        \"enum\": [\n                                          \"provisioning\",\n                                          \"running\",\n                                          \"draining\",\n                                          \"deleting\"\n                                        ],\n                                        \"example\": \"provisioning\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"updated_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was last updated.\",\n                                    \"example\": \"2018-11-15T16:00:11Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"readOnly\": true,\n                              \"type\": \"array\"\n                            },\n                            \"tags\": {\n                              \"description\": \"An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.\",\n                              \"example\": [\n                                \"k8s\",\n                                \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                                \"k8s-worker\",\n                                \"production\",\n                                \"web-team\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"taints\": {\n                              \"description\": \"An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is removed from all nodes in the pool.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"effect\": {\n                                    \"description\": \"How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\",\n                                    \"enum\": [\n                                      \"NoSchedule\",\n                                      \"PreferNoSchedule\",\n                                      \"NoExecute\"\n                                    ],\n                                    \"example\": \"NoSchedule\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"key\": {\n                                    \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                    \"example\": \"priority\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"value\": {\n                                    \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                    \"example\": \"high\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"required\": [\n                        \"name\",\n                        \"size\",\n                        \"count\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `node_pool`. The value\\nof this will be an object containing the standard attributes of a node pool.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve a Node Pool for a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/credentials\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    nodePool, _, err := client.Kubernetes.GetNodePool(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\", \\\"cdda885e-7663-40c8-bc74-3a036c66545d\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.kubernetes_clusters.find_node_pool(id: 'bd5f5959-5e1e-4205-a714-a914373942af', pool_id: 'cdda885e-7663-40c8-bc74-3a036c66545d')\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update the name of a node pool, edit the tags applied to it, or adjust its\\nnumber of nodes, send a PUT request to\\n`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID` with the\\nfollowing attributes.\\n\",\n        \"operationId\": \"kubernetes_update_nodePool\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes node pool.\",\n            \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n            \"in\": \"path\",\n            \"name\": \"node_pool_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"auto_scale\": {\n                        \"description\": \"A boolean value indicating whether auto-scaling is enabled for this node pool.\",\n                        \"example\": true,\n                        \"type\": \"boolean\"\n                      },\n                      \"count\": {\n                        \"description\": \"The number of Droplet instances in the node pool.\",\n                        \"example\": 3,\n                        \"type\": \"integer\"\n                      },\n                      \"id\": {\n                        \"description\": \"A unique ID that can be used to identify and reference a specific node pool.\",\n                        \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                        \"format\": \"uuid\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"labels\": {\n                        \"description\": \"An object containing a set of Kubernetes labels. The keys and are values are both user-defined.\",\n                        \"example\": null,\n                        \"nullable\": true,\n                        \"type\": \"object\"\n                      },\n                      \"max_nodes\": {\n                        \"description\": \"The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                        \"example\": 6,\n                        \"type\": \"integer\"\n                      },\n                      \"min_nodes\": {\n                        \"description\": \"The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                        \"example\": 3,\n                        \"type\": \"integer\"\n                      },\n                      \"name\": {\n                        \"description\": \"A human-readable name for the node pool.\",\n                        \"example\": \"frontend-pool\",\n                        \"type\": \"string\"\n                      },\n                      \"nodes\": {\n                        \"description\": \"An object specifying the details of a specific worker node in a node pool.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was created.\",\n                              \"example\": \"2018-11-15T16:00:11Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"droplet_id\": {\n                              \"description\": \"The ID of the Droplet used for the worker node.\",\n                              \"example\": \"205545370\",\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference the node.\",\n                              \"example\": \"e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                              \"format\": \"uuid\",\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"An automatically generated, human-readable name for the node.\",\n                              \"example\": \"adoring-newton-3niq\",\n                              \"type\": \"string\"\n                            },\n                            \"status\": {\n                              \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the node.\",\n                              \"properties\": {\n                                \"state\": {\n                                  \"description\": \"A string indicating the current status of the node.\",\n                                  \"enum\": [\n                                    \"provisioning\",\n                                    \"running\",\n                                    \"draining\",\n                                    \"deleting\"\n                                  ],\n                                  \"example\": \"provisioning\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"updated_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was last updated.\",\n                              \"example\": \"2018-11-15T16:00:11Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"readOnly\": true,\n                        \"type\": \"array\"\n                      },\n                      \"tags\": {\n                        \"description\": \"An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.\",\n                        \"example\": [\n                          \"k8s\",\n                          \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                          \"k8s-worker\",\n                          \"production\",\n                          \"web-team\"\n                        ],\n                        \"items\": {\n                          \"type\": \"string\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"taints\": {\n                        \"description\": \"An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is removed from all nodes in the pool.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"effect\": {\n                              \"description\": \"How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\",\n                              \"enum\": [\n                                \"NoSchedule\",\n                                \"PreferNoSchedule\",\n                                \"NoExecute\"\n                              ],\n                              \"example\": \"NoSchedule\",\n                              \"type\": \"string\"\n                            },\n                            \"key\": {\n                              \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                              \"example\": \"priority\",\n                              \"type\": \"string\"\n                            },\n                            \"value\": {\n                              \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                              \"example\": \"high\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  }\n                ],\n                \"required\": [\n                  \"name\",\n                  \"count\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"202\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"node_pool\": {\n                      \"auto_scale\": true,\n                      \"count\": 3,\n                      \"id\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                      \"labels\": null,\n                      \"max_nodes\": 6,\n                      \"min_nodes\": 3,\n                      \"name\": \"renamed-pool\",\n                      \"nodes\": [\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \"205545370\",\n                          \"id\": \"478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                          \"name\": \"adoring-newton-3niq\",\n                          \"status\": {\n                            \"state\": \"running\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        },\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \"205545371\",\n                          \"id\": \"ad12e744-c2a9-473d-8aa9-be5680500eb1\",\n                          \"name\": \"adoring-newton-3nim\",\n                          \"status\": {\n                            \"state\": \"running\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        },\n                        {\n                          \"created_at\": \"2018-11-15T16:00:11Z\",\n                          \"droplet_id\": \"205545372\",\n                          \"id\": \"e46e8d07-f58f-4ff1-9737-97246364400e\",\n                          \"name\": \"adoring-newton-3ni7\",\n                          \"status\": {\n                            \"state\": \"running\"\n                          },\n                          \"updated_at\": \"2018-11-15T16:00:11Z\"\n                        }\n                      ],\n                      \"size\": \"s-1vcpu-2gb\",\n                      \"tags\": [\n                        \"production\",\n                        \"web-team\",\n                        \"front-end\",\n                        \"new-tag\",\n                        \"k8s\",\n                        \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                        \"k8s:worker\"\n                      ],\n                      \"taints\": []\n                    }\n                  },\n                  \"properties\": {\n                    \"node_pool\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"size\": {\n                              \"description\": \"The slug identifier for the type of Droplet used as workers in the node pool.\",\n                              \"example\": \"s-1vcpu-2gb\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"auto_scale\": {\n                              \"description\": \"A boolean value indicating whether auto-scaling is enabled for this node pool.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"count\": {\n                              \"description\": \"The number of Droplet instances in the node pool.\",\n                              \"example\": 3,\n                              \"type\": \"integer\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference a specific node pool.\",\n                              \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"labels\": {\n                              \"description\": \"An object containing a set of Kubernetes labels. The keys and are values are both user-defined.\",\n                              \"example\": null,\n                              \"nullable\": true,\n                              \"type\": \"object\"\n                            },\n                            \"max_nodes\": {\n                              \"description\": \"The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                              \"example\": 6,\n                              \"type\": \"integer\"\n                            },\n                            \"min_nodes\": {\n                              \"description\": \"The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.\",\n                              \"example\": 3,\n                              \"type\": \"integer\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for the node pool.\",\n                              \"example\": \"frontend-pool\",\n                              \"type\": \"string\"\n                            },\n                            \"nodes\": {\n                              \"description\": \"An object specifying the details of a specific worker node in a node pool.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was created.\",\n                                    \"example\": \"2018-11-15T16:00:11Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"droplet_id\": {\n                                    \"description\": \"The ID of the Droplet used for the worker node.\",\n                                    \"example\": \"205545370\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference the node.\",\n                                    \"example\": \"e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n                                    \"format\": \"uuid\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"An automatically generated, human-readable name for the node.\",\n                                    \"example\": \"adoring-newton-3niq\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"description\": \"An object containing a `state` attribute whose value is set to a string indicating the current status of the node.\",\n                                    \"properties\": {\n                                      \"state\": {\n                                        \"description\": \"A string indicating the current status of the node.\",\n                                        \"enum\": [\n                                          \"provisioning\",\n                                          \"running\",\n                                          \"draining\",\n                                          \"deleting\"\n                                        ],\n                                        \"example\": \"provisioning\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"updated_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the node was last updated.\",\n                                    \"example\": \"2018-11-15T16:00:11Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"readOnly\": true,\n                              \"type\": \"array\"\n                            },\n                            \"tags\": {\n                              \"description\": \"An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.\",\n                              \"example\": [\n                                \"k8s\",\n                                \"k8s:bd5f5959-5e1e-4205-a714-a914373942af\",\n                                \"k8s-worker\",\n                                \"production\",\n                                \"web-team\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"taints\": {\n                              \"description\": \"An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is removed from all nodes in the pool.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"effect\": {\n                                    \"description\": \"How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\",\n                                    \"enum\": [\n                                      \"NoSchedule\",\n                                      \"PreferNoSchedule\",\n                                      \"NoExecute\"\n                                    ],\n                                    \"example\": \"NoSchedule\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"key\": {\n                                    \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                    \"example\": \"priority\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"value\": {\n                                    \"description\": \"An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is \\\"special\\\" and the value of the `value` field is \\\"gpu\\\", the key value pair would be `special=gpu`.\",\n                                    \"example\": \"high\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"required\": [\n                        \"name\",\n                        \"size\",\n                        \"count\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `node_pool`. The value of\\nthis will be an object containing the standard attributes of a node pool.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update a Node Pool in a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"frontend\\\",\\\"count\\\": 1, \\\"tags\\\":[\\\"frontend\\\"], \\\"labels\\\": {\\\"service\\\": \\\"frontend\\\", \\\"priority\\\": \\\"high\\\"}}' \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/node_pools/86c9bc8c-b2c3-4d40-8000-b0c7bee27305\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    updateRequest := &godo.KubernetesNodePoolUpdateRequest{\\n            Name:  \\\"frontend\\\",\\n            Count: 1,\\n            Tags:  []string{\\\"frontend\\\"},\\n        Labels:  map[string]string{\\\"service\\\": \\\"frontend\\\", \\\"priority\\\": \\\"high\\\"},\\n        }\\n\\n    nodePool, _, err := client.Kubernetes.UpdateNodePool(ctx, \\\"9b729d1c-730c-42e1-b136-59326fb1b3bb\\\", \\\"e7ed8f7c-6c1e-472f-adfb-4a9a1688b999\\\", updateRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nnode_pool = DropletKit::KubernetesNodePool.new(\\n  name: 'frontend',\\n  count: 1,\\n  tags: ['frontend']\\n  labels: {service: 'frontend', priority: 'high'}\\n)\\n\\nclient.kubernetes_clusters.update_node_pool(node_pool, id: 'bd5f5959-5e1e-4205-a714-a914373942af', pool_id: '86c9bc8c-b2c3-4d40-8000-b0c7bee27305')\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a single node in a pool, send a DELETE request to\\n`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID/nodes/$NODE_ID`.\\n\\nAppending the `skip_drain=1` query parameter to the request causes node\\ndraining to be skipped. Omitting the query parameter or setting its value to\\n`0` carries out draining prior to deletion.\\n\\nAppending the `replace=1` query parameter to the request causes the node to\\nbe replaced by a new one after deletion. Omitting the query parameter or\\nsetting its value to `0` deletes without replacement.\\n\",\n        \"operationId\": \"kubernetes_delete_node\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes node pool.\",\n            \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n            \"in\": \"path\",\n            \"name\": \"node_pool_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique ID that can be used to reference a node in a Kubernetes node pool.\",\n            \"example\": \"478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f\",\n            \"in\": \"path\",\n            \"name\": \"node_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Specifies whether or not to drain workloads from a node before it is deleted. Setting it to `1` causes node draining to be skipped. Omitting the query parameter or setting its value to `0` carries out draining prior to deletion.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"skip_drain\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 0,\n              \"maximum\": 1,\n              \"minimum\": 0,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Specifies whether or not to replace a node after it has been deleted. Setting it to `1` causes the node to be replaced by a new one after deletion. Omitting the query parameter or setting its value to `0` deletes without replacement.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"replace\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 0,\n              \"maximum\": 1,\n              \"minimum\": 0,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"202\": {\n            \"description\": \"The does not indicate the success or failure of any operation, just that the request has been accepted for processing.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Node in a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/node_pools/86c9bc8c-b2c3-4d40-8000-b0c7bee27305/nodes/478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f?skip_drain=0&replace=1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    recycleRequest := &godo.KubernetesNodePoolRecycleNodesRequest{\\n        Nodes: []string{\\\"3385619f-8ec3-42ba-bb23-8d21b8ba7518\\\", \\\"4b8f60ff-ba06-4523-a6a4-b8148244c7e6\\\"},\\n    }\\n\\n    _, err := client.Kubernetes.RecycleNodePoolNodes(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\", \\\"86c9bc8c-b2c3-4d40-8000-b0c7bee27305\\\", recycleRequest)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle\": {\n      \"post\": {\n        \"deprecated\": true,\n        \"description\": \"The endpoint has been deprecated. Please use the DELETE\\n`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID/nodes/$NODE_ID`\\nmethod instead.\\n\",\n        \"operationId\": \"kubernetes_recycle_node_pool\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes node pool.\",\n            \"example\": \"cdda885e-7663-40c8-bc74-3a036c66545d\",\n            \"in\": \"path\",\n            \"name\": \"node_pool_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"nodes\": {\n                    \"example\": [\n                      \"d8db5e1a-6103-43b5-a7b3-8a948210a9fc\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  }\n                }\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"202\": {\n            \"description\": \"The does not indicate the success or failure of any operation, just that the request has been accepted for processing.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Recycle a Kubernetes Node Pool\",\n        \"tags\": [\n          \"Kubernetes\"\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/upgrade\": {\n      \"post\": {\n        \"description\": \"To immediately upgrade a Kubernetes cluster to a newer patch release of\\nKubernetes, send a POST request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrade`.\\nThe body of the request must specify a version attribute.\\n\\nAvailable upgrade versions for a cluster can be fetched from\\n`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrades`.\\n\",\n        \"operationId\": \"kubernetes_upgrade_cluster\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"version\": {\n                    \"description\": \"The slug identifier for the version of Kubernetes that the cluster will be upgraded to.\",\n                    \"example\": \"1.16.13-do.0\",\n                    \"type\": \"string\"\n                  }\n                }\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"202\": {\n            \"description\": \"The does not indicate the success or failure of any operation, just that the request has been accepted for processing.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Upgrade a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/upgrades\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    upgradeRequest := &godo.KubernetesClusterUpgradeRequest{\\n    \\tVersionSlug: \\\"1.12.3-do.1\\\",\\n    }\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/upgrades\": {\n      \"get\": {\n        \"description\": \"To determine whether a cluster can be upgraded, and the versions to which it\\ncan be upgraded, send a GET request to\\n`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrades`.\\n\",\n        \"operationId\": \"kubernetes_get_availableUpgrades\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"available_upgrade_versions\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"kubernetes_version\": {\n                            \"description\": \"The upstream version string for the version of Kubernetes provided by a given slug.\",\n                            \"example\": \"1.16.13\",\n                            \"type\": \"string\"\n                          },\n                          \"slug\": {\n                            \"description\": \"The slug identifier for an available version of Kubernetes for use when creating or updating a cluster. The string contains both the upstream version of Kubernetes as well as the DigitalOcean revision.\",\n                            \"example\": \"1.16.13-do.0\",\n                            \"type\": \"string\"\n                          },\n                          \"supported_features\": {\n                            \"description\": \"The features available with the version of Kubernetes provided by a given slug.\",\n                            \"example\": [\n                              \"cluster-autoscaler\",\n                              \"docr-integration\",\n                              \"token-authentication\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"nullable\": true,\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called\\n`available_upgrade_versions`. The value of this will be an array of objects,\\nrepresenting the upgrade versions currently available for this cluster.\\n\\nIf the cluster is up-to-date (i.e. there are no upgrades currently available)\\n`available_upgrade_versions` will be `null`.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve Available Upgrades for an Existing Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/upgrades\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    upgrades, _, err := client.Kubernetes.GetUpgrades(ctx, \\\"bd5f5959-5e1e-4205-a714-a914373942af\\\")\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/clusters/{cluster_id}/user\": {\n      \"get\": {\n        \"description\": \"To show information the user associated with a Kubernetes cluster, send a GET\\nrequest to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/user`.\\n\",\n        \"operationId\": \"kubernetes_get_clusterUser\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique ID that can be used to reference a Kubernetes cluster.\",\n            \"example\": \"bd5f5959-5e1e-4205-a714-a914373942af\",\n            \"in\": \"path\",\n            \"name\": \"cluster_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"kubernetes_cluster_user\": {\n                      \"properties\": {\n                        \"groups\": {\n                          \"description\": \"A list of in-cluster groups that the user belongs to.\",\n                          \"example\": [\n                            \"k8saas:authenticated\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"username\": {\n                          \"description\": \"The username for the cluster admin user.\",\n                          \"example\": \"sammy@digitalocean.com\",\n                          \"format\": \"email\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `kubernetes_cluster_user`\\ncontaining the username and in-cluster groups that it belongs to.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve User Information for a Kubernetes Cluster\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/user\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/options\": {\n      \"get\": {\n        \"description\": \"To list the versions of Kubernetes available for use, the regions that support Kubernetes, and the available node sizes, send a GET request to `/v2/kubernetes/options`.\",\n        \"operationId\": \"kubernetes_list_options\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"All Kubernetes Options\": {\n                    \"value\": {\n                      \"options\": {\n                        \"regions\": [\n                          {\n                            \"name\": \"New York 1\",\n                            \"slug\": \"nyc1\"\n                          },\n                          {\n                            \"name\": \"Singapore 1\",\n                            \"slug\": \"sgp1\"\n                          },\n                          {\n                            \"name\": \"London 1\",\n                            \"slug\": \"lon1\"\n                          },\n                          {\n                            \"name\": \"New York 3\",\n                            \"slug\": \"nyc3\"\n                          },\n                          {\n                            \"name\": \"Amsterdam 3\",\n                            \"slug\": \"ams3\"\n                          },\n                          {\n                            \"name\": \"Frankfurt 1\",\n                            \"slug\": \"fra1\"\n                          },\n                          {\n                            \"name\": \"Toronto 1\",\n                            \"slug\": \"tor1\"\n                          },\n                          {\n                            \"name\": \"San Francisco 2\",\n                            \"slug\": \"sfo2\"\n                          },\n                          {\n                            \"name\": \"Bangalore 1\",\n                            \"slug\": \"blr1\"\n                          },\n                          {\n                            \"name\": \"San Francisco 3\",\n                            \"slug\": \"sfo3\"\n                          }\n                        ],\n                        \"sizes\": [\n                          {\n                            \"name\": \"s-1vcpu-2gb\",\n                            \"slug\": \"s-1vcpu-2gb\"\n                          },\n                          {\n                            \"name\": \"s-2vcpu-2gb\",\n                            \"slug\": \"s-2vcpu-2gb\"\n                          },\n                          {\n                            \"name\": \"s-1vcpu-3gb\",\n                            \"slug\": \"s-1vcpu-3gb\"\n                          },\n                          {\n                            \"name\": \"s-2vcpu-4gb\",\n                            \"slug\": \"s-2vcpu-4gb\"\n                          },\n                          {\n                            \"name\": \"s-4vcpu-8gb\",\n                            \"slug\": \"s-4vcpu-8gb\"\n                          },\n                          {\n                            \"name\": \"c-2-4GiB\",\n                            \"slug\": \"c-2\"\n                          },\n                          {\n                            \"name\": \"g-2vcpu-8gb\",\n                            \"slug\": \"g-2vcpu-8gb\"\n                          },\n                          {\n                            \"name\": \"gd-2vcpu-8gb\",\n                            \"slug\": \"gd-2vcpu-8gb\"\n                          },\n                          {\n                            \"name\": \"s-8vcpu-16gb\",\n                            \"slug\": \"s-8vcpu-16gb\"\n                          },\n                          {\n                            \"name\": \"s-6vcpu-16gb\",\n                            \"slug\": \"s-6vcpu-16gb\"\n                          },\n                          {\n                            \"name\": \"c-4-8GiB\",\n                            \"slug\": \"c-4\"\n                          },\n                          {\n                            \"name\": \"m-2vcpu-16gb\",\n                            \"slug\": \"m-2vcpu-16gb\"\n                          },\n                          {\n                            \"name\": \"m3-2vcpu-16gb\",\n                            \"slug\": \"m3-2vcpu-16gb\"\n                          },\n                          {\n                            \"name\": \"g-4vcpu-16gb\",\n                            \"slug\": \"g-4vcpu-16gb\"\n                          },\n                          {\n                            \"name\": \"gd-4vcpu-16gb\",\n                            \"slug\": \"gd-4vcpu-16gb\"\n                          },\n                          {\n                            \"name\": \"m6-2vcpu-16gb\",\n                            \"slug\": \"m6-2vcpu-16gb\"\n                          },\n                          {\n                            \"name\": \"s-8vcpu-32gb\",\n                            \"slug\": \"s-8vcpu-32gb\"\n                          },\n                          {\n                            \"name\": \"c-8-16GiB\",\n                            \"slug\": \"c-8\"\n                          },\n                          {\n                            \"name\": \"m-4vcpu-32gb\",\n                            \"slug\": \"m-4vcpu-32gb\"\n                          },\n                          {\n                            \"name\": \"m3-4vcpu-32gb\",\n                            \"slug\": \"m3-4vcpu-32gb\"\n                          },\n                          {\n                            \"name\": \"g-8vcpu-32gb\",\n                            \"slug\": \"g-8vcpu-32gb\"\n                          },\n                          {\n                            \"name\": \"s-12vcpu-48gb\",\n                            \"slug\": \"s-12vcpu-48gb\"\n                          },\n                          {\n                            \"name\": \"gd-8vcpu-32gb\",\n                            \"slug\": \"gd-8vcpu-32gb\"\n                          },\n                          {\n                            \"name\": \"m6-4vcpu-32gb\",\n                            \"slug\": \"m6-4vcpu-32gb\"\n                          },\n                          {\n                            \"name\": \"s-16vcpu-64gb\",\n                            \"slug\": \"s-16vcpu-64gb\"\n                          },\n                          {\n                            \"name\": \"c-16\",\n                            \"slug\": \"c-16\"\n                          },\n                          {\n                            \"name\": \"m-8vcpu-64gb\",\n                            \"slug\": \"m-8vcpu-64gb\"\n                          },\n                          {\n                            \"name\": \"m3-8vcpu-64gb\",\n                            \"slug\": \"m3-8vcpu-64gb\"\n                          },\n                          {\n                            \"name\": \"g-16vcpu-64gb\",\n                            \"slug\": \"g-16vcpu-64gb\"\n                          },\n                          {\n                            \"name\": \"s-20vcpu-96gb\",\n                            \"slug\": \"s-20vcpu-96gb\"\n                          },\n                          {\n                            \"name\": \"gd-16vcpu-64gb\",\n                            \"slug\": \"gd-16vcpu-64gb\"\n                          },\n                          {\n                            \"name\": \"m6-8vcpu-64gb\",\n                            \"slug\": \"m6-8vcpu-64gb\"\n                          },\n                          {\n                            \"name\": \"s-24vcpu-128gb\",\n                            \"slug\": \"s-24vcpu-128gb\"\n                          },\n                          {\n                            \"name\": \"c-32-64GiB\",\n                            \"slug\": \"c-32\"\n                          },\n                          {\n                            \"name\": \"m-16vcpu-128gb\",\n                            \"slug\": \"m-16vcpu-128gb\"\n                          },\n                          {\n                            \"name\": \"m3-16vcpu-128gb\",\n                            \"slug\": \"m3-16vcpu-128gb\"\n                          },\n                          {\n                            \"name\": \"g-32vcpu-128gb\",\n                            \"slug\": \"g-32vcpu-128gb\"\n                          },\n                          {\n                            \"name\": \"s-32vcpu-192gb\",\n                            \"slug\": \"s-32vcpu-192gb\"\n                          },\n                          {\n                            \"name\": \"gd-32vcpu-128gb\",\n                            \"slug\": \"gd-32vcpu-128gb\"\n                          },\n                          {\n                            \"name\": \"m-24vcpu-192gb\",\n                            \"slug\": \"m-24vcpu-192gb\"\n                          },\n                          {\n                            \"name\": \"m6-16vcpu-128gb\",\n                            \"slug\": \"m6-16vcpu-128gb\"\n                          },\n                          {\n                            \"name\": \"g-40vcpu-160gb\",\n                            \"slug\": \"g-40vcpu-160gb\"\n                          },\n                          {\n                            \"name\": \"gd-40vcpu-160gb\",\n                            \"slug\": \"gd-40vcpu-160gb\"\n                          },\n                          {\n                            \"name\": \"m3-24vcpu-192gb\",\n                            \"slug\": \"m3-24vcpu-192gb\"\n                          },\n                          {\n                            \"name\": \"m-32vcpu-256gb\",\n                            \"slug\": \"m-32vcpu-256gb\"\n                          },\n                          {\n                            \"name\": \"m6-24vcpu-192gb\",\n                            \"slug\": \"m6-24vcpu-192gb\"\n                          },\n                          {\n                            \"name\": \"m3-32vcpu-256gb\",\n                            \"slug\": \"m3-32vcpu-256gb\"\n                          },\n                          {\n                            \"name\": \"m6-32vcpu-256gb\",\n                            \"slug\": \"m6-32vcpu-256gb\"\n                          }\n                        ],\n                        \"versions\": [\n                          {\n                            \"kubernetes_version\": \"1.18.8\",\n                            \"slug\": \"1.18.8-do.0\",\n                            \"supported_features\": [\n                              \"cluster-autoscaler\",\n                              \"docr-integration\",\n                              \"token-authentication\"\n                            ]\n                          },\n                          {\n                            \"kubernetes_version\": \"1.17.11\",\n                            \"slug\": \"1.17.11-do.0\",\n                            \"supported_features\": [\n                              \"cluster-autoscaler\",\n                              \"docr-integration\",\n                              \"token-authentication\"\n                            ]\n                          },\n                          {\n                            \"kubernetes_version\": \"1.16.14\",\n                            \"slug\": \"1.16.14-do.0\",\n                            \"supported_features\": [\n                              \"cluster-autoscaler\",\n                              \"docr-integration\",\n                              \"token-authentication\"\n                            ]\n                          }\n                        ]\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"options\": {\n                      \"properties\": {\n                        \"regions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"description\": \"A DigitalOcean region where Kubernetes is available.\",\n                                \"example\": \"New York 3\",\n                                \"type\": \"string\"\n                              },\n                              \"slug\": {\n                                \"description\": \"The identifier for a region for use when creating a new cluster.\",\n                                \"example\": \"nyc3\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"sizes\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"name\": {\n                                \"description\": \"A Droplet size available for use in a Kubernetes node pool.\",\n                                \"example\": \"s-1vcpu-2gb\",\n                                \"type\": \"string\"\n                              },\n                              \"slug\": {\n                                \"description\": \"The identifier for a size for use when creating a new cluster.\",\n                                \"example\": \"s-1vcpu-2gb\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"versions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"kubernetes_version\": {\n                                \"description\": \"The upstream version string for the version of Kubernetes provided by a given slug.\",\n                                \"example\": \"1.16.13\",\n                                \"type\": \"string\"\n                              },\n                              \"slug\": {\n                                \"description\": \"The slug identifier for an available version of Kubernetes for use when creating or updating a cluster. The string contains both the upstream version of Kubernetes as well as the DigitalOcean revision.\",\n                                \"example\": \"1.16.13-do.0\",\n                                \"type\": \"string\"\n                              },\n                              \"supported_features\": {\n                                \"description\": \"The features available with the version of Kubernetes provided by a given slug.\",\n                                \"example\": [\n                                  \"cluster-autoscaler\",\n                                  \"docr-integration\",\n                                  \"token-authentication\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      }\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `options` which contains\\n`regions`, `versions`, and `sizes` objects listing the available options and\\nthe matching slugs for use when creating a new cluster.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Available Regions, Node Sizes, and Versions of Kubernetes\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/options\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    options, _, err := client.Kubernetes.GetOptions(ctx)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.kubernetes_options.all\"\n          }\n        ]\n      }\n    },\n    \"/v2/kubernetes/registry\": {\n      \"delete\": {\n        \"description\": \"To remove the container registry from Kubernetes clusters, send a DELETE request to `/v2/kubernetes/registry`.\",\n        \"operationId\": \"kubernetes_remove_registry\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"cluster_uuids\": {\n                    \"description\": \"An array containing the UUIDs of Kubernetes clusters.\",\n                    \"example\": [\n                      \"bd5f5959-5e1e-4205-a714-a914373942af\",\n                      \"50c2f44c-011d-493e-aee5-361a4a0d1844\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Remove Container Registry from Kubernetes Clusters\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"cluster_uuids\\\": [\\\"bd5f5959-5e1e-4205-a714-a914373942af\\\", \\\"50c2f44c-011d-493e-aee5-361a4a0d1844\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/registry\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Kubernetes.RemoveRegistry(ctx, &godo.KubernetesClusterRegistryRequest{ClusterUUIDs: []string{\\\"bd5f5959-5e1e-4205-a714-a914373942af\\\"}})\\n}\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To integrate the container registry with Kubernetes clusters, send a POST request to `/v2/kubernetes/registry`.\",\n        \"operationId\": \"kubernetes_add_registry\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"cluster_uuids\": {\n                    \"description\": \"An array containing the UUIDs of Kubernetes clusters.\",\n                    \"example\": [\n                      \"bd5f5959-5e1e-4205-a714-a914373942af\",\n                      \"50c2f44c-011d-493e-aee5-361a4a0d1844\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Add Container Registry to Kubernetes Clusters\",\n        \"tags\": [\n          \"Kubernetes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"cluster_uuids\\\": [\\\"bd5f5959-5e1e-4205-a714-a914373942af\\\", \\\"50c2f44c-011d-493e-aee5-361a4a0d1844\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/kubernetes/registry\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Kubernetes.AddRegistry(ctx, &godo.KubernetesClusterRegistryRequest{ClusterUUIDs: []string{\\\"bd5f5959-5e1e-4205-a714-a914373942af\\\"}})\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/load_balancers\": {\n      \"get\": {\n        \"description\": \"To list all of the load balancer instances on your account, send a GET request\\nto `/v2/load_balancers`.\\n\",\n        \"operationId\": \"loadBalancers_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"All Load Balancers\": {\n                    \"value\": {\n                      \"links\": {},\n                      \"load_balancers\": [\n                        {\n                          \"algorithm\": \"round_robin\",\n                          \"created_at\": \"2017-02-01T22:22:58Z\",\n                          \"disable_lets_encrypt_dns_records\": false,\n                          \"droplet_ids\": [\n                            3164444,\n                            3164445\n                          ],\n                          \"enable_backend_keepalive\": false,\n                          \"enable_proxy_protocol\": false,\n                          \"firewall\": {\n                            \"allow\": [\n                              \"ip:1.2.3.4\",\n                              \"cidr:2.3.4.0/24\"\n                            ],\n                            \"deny\": [\n                              \"cidr:1.2.0.0/16\",\n                              \"ip:2.3.4.5\"\n                            ]\n                          },\n                          \"forwarding_rules\": [\n                            {\n                              \"certificate_id\": \"\",\n                              \"entry_port\": 80,\n                              \"entry_protocol\": \"http\",\n                              \"target_port\": 80,\n                              \"target_protocol\": \"http\",\n                              \"tls_passthrough\": false\n                            },\n                            {\n                              \"certificate_id\": \"\",\n                              \"entry_port\": 443,\n                              \"entry_protocol\": \"https\",\n                              \"target_port\": 443,\n                              \"target_protocol\": \"https\",\n                              \"tls_passthrough\": true\n                            }\n                          ],\n                          \"health_check\": {\n                            \"check_interval_seconds\": 10,\n                            \"healthy_threshold\": 5,\n                            \"path\": \"/\",\n                            \"port\": 80,\n                            \"protocol\": \"http\",\n                            \"response_timeout_seconds\": 5,\n                            \"unhealthy_threshold\": 3\n                          },\n                          \"id\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                          \"ip\": \"104.131.186.241\",\n                          \"name\": \"example-lb-01\",\n                          \"redirect_http_to_https\": false,\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\",\n                              \"install_agent\"\n                            ],\n                            \"name\": \"New York 3\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192gb\"\n                            ],\n                            \"slug\": \"nyc3\"\n                          },\n                          \"size\": \"lb-small\",\n                          \"status\": \"new\",\n                          \"sticky_sessions\": {\n                            \"type\": \"none\"\n                          },\n                          \"tag\": \"\",\n                          \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                        },\n                        {\n                          \"algorithm\": \"round_robin\",\n                          \"created_at\": \"2020-09-08T18:58:04Z\",\n                          \"disable_lets_encrypt_dns_records\": false,\n                          \"droplet_ids\": [\n                            55806512,\n                            55806515,\n                            55806524\n                          ],\n                          \"enable_backend_keepalive\": false,\n                          \"enable_proxy_protocol\": false,\n                          \"firewall\": {\n                            \"allow\": [\n                              \"ip:1.2.3.4\",\n                              \"cidr:2.3.4.0/24\"\n                            ],\n                            \"deny\": [\n                              \"cidr:1.2.0.0/16\",\n                              \"ip:2.3.4.5\"\n                            ]\n                          },\n                          \"forwarding_rules\": [\n                            {\n                              \"certificate_id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                              \"entry_port\": 443,\n                              \"entry_protocol\": \"https\",\n                              \"target_port\": 8080,\n                              \"target_protocol\": \"http\",\n                              \"tls_passthrough\": false\n                            }\n                          ],\n                          \"health_check\": {\n                            \"check_interval_seconds\": 10,\n                            \"healthy_threshold\": 5,\n                            \"path\": \"/\",\n                            \"port\": 443,\n                            \"protocol\": \"https\",\n                            \"response_timeout_seconds\": 5,\n                            \"unhealthy_threshold\": 3\n                          },\n                          \"http_idle_timeout_seconds\": 60,\n                          \"id\": \"56775c3f-04ab-4fb3-a7ed-40ef9bc8eece\",\n                          \"ip\": \"45.55.125.24\",\n                          \"name\": \"prod-web-lb-01\",\n                          \"project_id\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                          \"redirect_http_to_https\": true,\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\",\n                              \"install_agent\"\n                            ],\n                            \"name\": \"New York 3\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192gb\"\n                            ],\n                            \"slug\": \"nyc3\"\n                          },\n                          \"size\": \"lb-small\",\n                          \"status\": \"active\",\n                          \"sticky_sessions\": {\n                            \"cookie_name\": \"DO-LB\",\n                            \"cookie_ttl_seconds\": 300,\n                            \"type\": \"cookies\"\n                          },\n                          \"tag\": \"prod:web\",\n                          \"vpc_uuid\": \"587d698c-de84-11e8-80bc-3cfdfea9fcd1\"\n                        }\n                      ],\n                      \"meta\": {\n                        \"total\": 2\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"load_balancers\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"algorithm\": {\n                                    \"default\": \"round_robin\",\n                                    \"deprecated\": true,\n                                    \"description\": \"This field has been deprecated. You can no longer specify an algorithm for load balancers.\",\n                                    \"enum\": [\n                                      \"round_robin\",\n                                      \"least_connections\"\n                                    ],\n                                    \"example\": \"round_robin\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the load balancer was created.\",\n                                    \"example\": \"2017-02-01T22:22:58Z\",\n                                    \"format\": \"date-time\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"disable_lets_encrypt_dns_records\": {\n                                    \"default\": false,\n                                    \"description\": \"A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"enable_backend_keepalive\": {\n                                    \"default\": false,\n                                    \"description\": \"A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"enable_proxy_protocol\": {\n                                    \"default\": false,\n                                    \"description\": \"A boolean value indicating whether PROXY Protocol is in use.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"firewall\": {\n                                    \"description\": \"An object specifying allow and deny rules to control traffic to the load balancer.\",\n                                    \"properties\": {\n                                      \"allow\": {\n                                        \"default\": [],\n                                        \"description\": \"the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                        \"example\": [\n                                          \"ip:1.2.3.4\",\n                                          \"cidr:2.3.0.0/16\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"deny\": {\n                                        \"default\": [],\n                                        \"description\": \"the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                        \"example\": [\n                                          \"ip:1.2.3.4\",\n                                          \"cidr:2.3.0.0/16\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"forwarding_rules\": {\n                                    \"description\": \"An array of objects specifying the forwarding rules for a load balancer.\",\n                                    \"items\": {\n                                      \"description\": \"An object specifying a forwarding rule for a load balancer.\",\n                                      \"properties\": {\n                                        \"certificate_id\": {\n                                          \"description\": \"The ID of the TLS certificate used for SSL termination if enabled.\",\n                                          \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"entry_port\": {\n                                          \"description\": \"An integer representing the port on which the load balancer instance will listen.\",\n                                          \"example\": 443,\n                                          \"type\": \"integer\"\n                                        },\n                                        \"entry_protocol\": {\n                                          \"description\": \"The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the  `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`.  When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                          \"enum\": [\n                                            \"http\",\n                                            \"https\",\n                                            \"http2\",\n                                            \"http3\",\n                                            \"tcp\",\n                                            \"udp\"\n                                          ],\n                                          \"example\": \"https\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"target_port\": {\n                                          \"description\": \"An integer representing the port on the backend Droplets to which the load balancer will send traffic.\",\n                                          \"example\": 80,\n                                          \"type\": \"integer\"\n                                        },\n                                        \"target_protocol\": {\n                                          \"description\": \"The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to  `udp`. When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                          \"enum\": [\n                                            \"http\",\n                                            \"https\",\n                                            \"http2\",\n                                            \"tcp\",\n                                            \"udp\"\n                                          ],\n                                          \"example\": \"http\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"tls_passthrough\": {\n                                          \"description\": \"A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets.\",\n                                          \"example\": false,\n                                          \"type\": \"boolean\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"entry_protocol\",\n                                        \"entry_port\",\n                                        \"target_protocol\",\n                                        \"target_port\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"minItems\": 1,\n                                    \"type\": \"array\"\n                                  },\n                                  \"health_check\": {\n                                    \"description\": \"An object specifying health check settings for the load balancer.\",\n                                    \"properties\": {\n                                      \"check_interval_seconds\": {\n                                        \"default\": 10,\n                                        \"description\": \"The number of seconds between between two consecutive health checks.\",\n                                        \"example\": 10,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"healthy_threshold\": {\n                                        \"default\": 3,\n                                        \"description\": \"The number of times a health check must pass for a backend Droplet to be marked \\\"healthy\\\" and be re-added to the pool.\",\n                                        \"example\": 3,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"path\": {\n                                        \"default\": \"/\",\n                                        \"description\": \"The path on the backend Droplets to which the load balancer instance will send a request.\",\n                                        \"example\": \"/\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"port\": {\n                                        \"default\": 80,\n                                        \"description\": \"An integer representing the port on the backend Droplets on which the health check will attempt a connection.\",\n                                        \"example\": 80,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"protocol\": {\n                                        \"default\": \"http\",\n                                        \"description\": \"The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`.\",\n                                        \"enum\": [\n                                          \"http\",\n                                          \"https\",\n                                          \"tcp\"\n                                        ],\n                                        \"example\": \"http\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"response_timeout_seconds\": {\n                                        \"default\": 5,\n                                        \"description\": \"The number of seconds the load balancer instance will wait for a response until marking a health check as failed.\",\n                                        \"example\": 5,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"unhealthy_threshold\": {\n                                        \"default\": 5,\n                                        \"description\": \"The number of times a health check must fail for a backend Droplet to be marked \\\"unhealthy\\\" and be removed from the pool.\",\n                                        \"example\": 5,\n                                        \"type\": \"integer\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"http_idle_timeout_seconds\": {\n                                    \"default\": 60,\n                                    \"description\": \"An integer value which configures the idle timeout for HTTP requests to the target droplets.\",\n                                    \"example\": 90,\n                                    \"maximum\": 600,\n                                    \"minimum\": 30,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference a load balancer.\",\n                                    \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                                    \"format\": \"uuid\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"ip\": {\n                                    \"description\": \"An attribute containing the public-facing IP address of the load balancer.\",\n                                    \"example\": \"104.131.186.241\",\n                                    \"pattern\": \"^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-readable name for a load balancer instance.\",\n                                    \"example\": \"example-lb-01\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"project_id\": {\n                                    \"description\": \"The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created.\",\n                                    \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"redirect_http_to_https\": {\n                                    \"default\": false,\n                                    \"description\": \"A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"size\": {\n                                    \"default\": \"lb-small\",\n                                    \"deprecated\": true,\n                                    \"description\": \"This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes.\\n* `lb-small` = 1 node\\n* `lb-medium` = 3 nodes\\n* `lb-large` = 6 nodes\\n\\nYou can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation.\",\n                                    \"enum\": [\n                                      \"lb-small\",\n                                      \"lb-medium\",\n                                      \"lb-large\"\n                                    ],\n                                    \"example\": \"lb-small\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"size_unit\": {\n                                    \"default\": 1,\n                                    \"description\": \"How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions.\",\n                                    \"example\": 3,\n                                    \"maximum\": 100,\n                                    \"minimum\": 1,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"status\": {\n                                    \"description\": \"A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`.\",\n                                    \"enum\": [\n                                      \"new\",\n                                      \"active\",\n                                      \"errored\"\n                                    ],\n                                    \"example\": \"new\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"sticky_sessions\": {\n                                    \"description\": \"An object specifying sticky sessions settings for the load balancer.\",\n                                    \"properties\": {\n                                      \"cookie_name\": {\n                                        \"description\": \"The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                        \"example\": \"DO-LB\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"cookie_ttl_seconds\": {\n                                        \"description\": \"The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                        \"example\": 300,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"type\": {\n                                        \"default\": \"none\",\n                                        \"description\": \"An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`.\",\n                                        \"enum\": [\n                                          \"cookies\",\n                                          \"none\"\n                                        ],\n                                        \"example\": \"cookies\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  \"vpc_uuid\": {\n                                    \"description\": \"A string specifying the UUID of the VPC to which the load balancer is assigned.\",\n                                    \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                                    \"format\": \"uuid\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"forwarding_rules\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"region\": {\n                                    \"allOf\": [\n                                      {\n                                        \"description\": \"The region where the load balancer instance is located. When setting a region, the value should be the slug identifier for the region. When you query a load balancer, an entire region object will be returned.\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"available\": {\n                                            \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"features\": {\n                                            \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                            \"example\": [\n                                              \"private_networking\",\n                                              \"backups\",\n                                              \"ipv6\",\n                                              \"metadata\",\n                                              \"install_agent\",\n                                              \"storage\",\n                                              \"image_transfer\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                            \"example\": \"New York 3\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"sizes\": {\n                                            \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                            \"example\": [\n                                              \"s-1vcpu-1gb\",\n                                              \"s-1vcpu-2gb\",\n                                              \"s-1vcpu-3gb\",\n                                              \"s-2vcpu-2gb\",\n                                              \"s-3vcpu-1gb\",\n                                              \"s-2vcpu-4gb\",\n                                              \"s-4vcpu-8gb\",\n                                              \"s-6vcpu-16gb\",\n                                              \"s-8vcpu-32gb\",\n                                              \"s-12vcpu-48gb\",\n                                              \"s-16vcpu-64gb\",\n                                              \"s-20vcpu-96gb\",\n                                              \"s-24vcpu-128gb\",\n                                              \"s-32vcpu-192g\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"slug\": {\n                                            \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                            \"example\": \"nyc3\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"available\",\n                                          \"features\",\n                                          \"name\",\n                                          \"sizes\",\n                                          \"slug\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"droplet_ids\": {\n                                    \"description\": \"An array containing the IDs of the Droplets assigned to the load balancer.\",\n                                    \"example\": [\n                                      3164444,\n                                      3164445\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"integer\"\n                                    },\n                                    \"type\": \"array\"\n                                  }\n                                }\n                              },\n                              {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"tag\": {\n                                    \"description\": \"The name of a Droplet tag corresponding to Droplets assigned to the load balancer.\",\n                                    \"example\": \"prod:web\",\n                                    \"type\": \"string\"\n                                  }\n                                }\n                              }\n                            ]\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `load_balancers`. This will be set to an array of objects, each of which will contain the standard load balancer attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Load Balancers\",\n        \"tags\": [\n          \"Load Balancers\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/load_balancers\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    lbs, _, err := c.LoadBalancers.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nload_balancers = client.load_balancers.all\\nload_balancers.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a new load balancer instance, send a POST request to\\n`/v2/load_balancers`.\\n\\nYou can specify the Droplets that will sit behind the load balancer using one\\nof two methods:\\n\\n* Set `droplet_ids` to a list of specific Droplet IDs.\\n* Set `tag` to the name of a tag. All Droplets with this tag applied will be\\n  assigned to the load balancer. Additional Droplets will be automatically\\n  assigned as they are tagged.\\n\\nThese methods are mutually exclusive.\\n\",\n        \"operationId\": \"loadBalancers_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"examples\": {\n                \"Basic Create Request\": {\n                  \"description\": \"Passing requests directly through to 80 and 443.\",\n                  \"value\": {\n                    \"droplet_ids\": [\n                      3164444,\n                      3164445\n                    ],\n                    \"firewall\": {\n                      \"allow\": [\n                        \"ip:1.2.3.4\",\n                        \"cidr:2.3.4.0/24\"\n                      ],\n                      \"deny\": [\n                        \"cidr:1.2.0.0/16\",\n                        \"ip:2.3.4.5\"\n                      ]\n                    },\n                    \"forwarding_rules\": [\n                      {\n                        \"entry_port\": 80,\n                        \"entry_protocol\": \"http\",\n                        \"target_port\": 80,\n                        \"target_protocol\": \"http\"\n                      },\n                      {\n                        \"entry_port\": 443,\n                        \"entry_protocol\": \"https\",\n                        \"target_port\": 443,\n                        \"target_protocol\": \"https\",\n                        \"tls_passthrough\": true\n                      }\n                    ],\n                    \"http_idle_timeout_seconds\": 60,\n                    \"name\": \"example-lb-01\",\n                    \"project_id\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                    \"region\": \"nyc3\"\n                  }\n                },\n                \"Create Request Using Droplet Tag\": {\n                  \"description\": \"Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`.\",\n                  \"value\": {\n                    \"forwarding_rules\": [\n                      {\n                        \"certificate_id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                        \"entry_port\": 443,\n                        \"entry_protocol\": \"https\",\n                        \"target_port\": 8080,\n                        \"target_protocol\": \"http\"\n                      }\n                    ],\n                    \"name\": \"example-lb-01\",\n                    \"region\": \"nyc3\",\n                    \"tag\": \"prod:web\"\n                  }\n                },\n                \"SSL Termination Create Request\": {\n                  \"description\": \"Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`.\",\n                  \"value\": {\n                    \"droplet_ids\": [\n                      3164444,\n                      3164445\n                    ],\n                    \"forwarding_rules\": [\n                      {\n                        \"certificate_id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                        \"entry_port\": 443,\n                        \"entry_protocol\": \"https\",\n                        \"target_port\": 8080,\n                        \"target_protocol\": \"http\"\n                      }\n                    ],\n                    \"name\": \"example-lb-01\",\n                    \"region\": \"nyc3\"\n                  }\n                },\n                \"Sticky Sessions and Custom Health Check\": {\n                  \"description\": \"Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`.\",\n                  \"value\": {\n                    \"forwarding_rules\": [\n                      {\n                        \"certificate_id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                        \"entry_port\": 443,\n                        \"entry_protocol\": \"https\",\n                        \"target_port\": 8080,\n                        \"target_protocol\": \"http\"\n                      }\n                    ],\n                    \"health_check\": {\n                      \"check_interval_seconds\": 10,\n                      \"healthy_threshold\": 5,\n                      \"path\": \"/health\",\n                      \"port\": 8080,\n                      \"protocol\": \"http\",\n                      \"response_timeout_seconds\": 5,\n                      \"unhealthy_threshold\": 3\n                    },\n                    \"name\": \"example-lb-01\",\n                    \"region\": \"nyc3\",\n                    \"sticky_sessions\": {\n                      \"cookie_name\": \"LB_COOKIE\",\n                      \"cookie_ttl_seconds\": 300,\n                      \"type\": \"cookies\"\n                    },\n                    \"tag\": \"prod:web\"\n                  }\n                }\n              },\n              \"schema\": {\n                \"oneOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"droplet_ids\": {\n                            \"description\": \"An array containing the IDs of the Droplets assigned to the load balancer.\",\n                            \"example\": [\n                              3164444,\n                              3164445\n                            ],\n                            \"items\": {\n                              \"type\": \"integer\"\n                            },\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"algorithm\": {\n                            \"default\": \"round_robin\",\n                            \"deprecated\": true,\n                            \"description\": \"This field has been deprecated. You can no longer specify an algorithm for load balancers.\",\n                            \"enum\": [\n                              \"round_robin\",\n                              \"least_connections\"\n                            ],\n                            \"example\": \"round_robin\",\n                            \"type\": \"string\"\n                          },\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the load balancer was created.\",\n                            \"example\": \"2017-02-01T22:22:58Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"disable_lets_encrypt_dns_records\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"enable_backend_keepalive\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"enable_proxy_protocol\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether PROXY Protocol is in use.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"firewall\": {\n                            \"description\": \"An object specifying allow and deny rules to control traffic to the load balancer.\",\n                            \"properties\": {\n                              \"allow\": {\n                                \"default\": [],\n                                \"description\": \"the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                \"example\": [\n                                  \"ip:1.2.3.4\",\n                                  \"cidr:2.3.0.0/16\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"deny\": {\n                                \"default\": [],\n                                \"description\": \"the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                \"example\": [\n                                  \"ip:1.2.3.4\",\n                                  \"cidr:2.3.0.0/16\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"forwarding_rules\": {\n                            \"description\": \"An array of objects specifying the forwarding rules for a load balancer.\",\n                            \"items\": {\n                              \"description\": \"An object specifying a forwarding rule for a load balancer.\",\n                              \"properties\": {\n                                \"certificate_id\": {\n                                  \"description\": \"The ID of the TLS certificate used for SSL termination if enabled.\",\n                                  \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                                  \"type\": \"string\"\n                                },\n                                \"entry_port\": {\n                                  \"description\": \"An integer representing the port on which the load balancer instance will listen.\",\n                                  \"example\": 443,\n                                  \"type\": \"integer\"\n                                },\n                                \"entry_protocol\": {\n                                  \"description\": \"The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the  `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`.  When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                  \"enum\": [\n                                    \"http\",\n                                    \"https\",\n                                    \"http2\",\n                                    \"http3\",\n                                    \"tcp\",\n                                    \"udp\"\n                                  ],\n                                  \"example\": \"https\",\n                                  \"type\": \"string\"\n                                },\n                                \"target_port\": {\n                                  \"description\": \"An integer representing the port on the backend Droplets to which the load balancer will send traffic.\",\n                                  \"example\": 80,\n                                  \"type\": \"integer\"\n                                },\n                                \"target_protocol\": {\n                                  \"description\": \"The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to  `udp`. When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                  \"enum\": [\n                                    \"http\",\n                                    \"https\",\n                                    \"http2\",\n                                    \"tcp\",\n                                    \"udp\"\n                                  ],\n                                  \"example\": \"http\",\n                                  \"type\": \"string\"\n                                },\n                                \"tls_passthrough\": {\n                                  \"description\": \"A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets.\",\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                }\n                              },\n                              \"required\": [\n                                \"entry_protocol\",\n                                \"entry_port\",\n                                \"target_protocol\",\n                                \"target_port\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"minItems\": 1,\n                            \"type\": \"array\"\n                          },\n                          \"health_check\": {\n                            \"description\": \"An object specifying health check settings for the load balancer.\",\n                            \"properties\": {\n                              \"check_interval_seconds\": {\n                                \"default\": 10,\n                                \"description\": \"The number of seconds between between two consecutive health checks.\",\n                                \"example\": 10,\n                                \"type\": \"integer\"\n                              },\n                              \"healthy_threshold\": {\n                                \"default\": 3,\n                                \"description\": \"The number of times a health check must pass for a backend Droplet to be marked \\\"healthy\\\" and be re-added to the pool.\",\n                                \"example\": 3,\n                                \"type\": \"integer\"\n                              },\n                              \"path\": {\n                                \"default\": \"/\",\n                                \"description\": \"The path on the backend Droplets to which the load balancer instance will send a request.\",\n                                \"example\": \"/\",\n                                \"type\": \"string\"\n                              },\n                              \"port\": {\n                                \"default\": 80,\n                                \"description\": \"An integer representing the port on the backend Droplets on which the health check will attempt a connection.\",\n                                \"example\": 80,\n                                \"type\": \"integer\"\n                              },\n                              \"protocol\": {\n                                \"default\": \"http\",\n                                \"description\": \"The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`.\",\n                                \"enum\": [\n                                  \"http\",\n                                  \"https\",\n                                  \"tcp\"\n                                ],\n                                \"example\": \"http\",\n                                \"type\": \"string\"\n                              },\n                              \"response_timeout_seconds\": {\n                                \"default\": 5,\n                                \"description\": \"The number of seconds the load balancer instance will wait for a response until marking a health check as failed.\",\n                                \"example\": 5,\n                                \"type\": \"integer\"\n                              },\n                              \"unhealthy_threshold\": {\n                                \"default\": 5,\n                                \"description\": \"The number of times a health check must fail for a backend Droplet to be marked \\\"unhealthy\\\" and be removed from the pool.\",\n                                \"example\": 5,\n                                \"type\": \"integer\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"http_idle_timeout_seconds\": {\n                            \"default\": 60,\n                            \"description\": \"An integer value which configures the idle timeout for HTTP requests to the target droplets.\",\n                            \"example\": 90,\n                            \"maximum\": 600,\n                            \"minimum\": 30,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique ID that can be used to identify and reference a load balancer.\",\n                            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ip\": {\n                            \"description\": \"An attribute containing the public-facing IP address of the load balancer.\",\n                            \"example\": \"104.131.186.241\",\n                            \"pattern\": \"^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"A human-readable name for a load balancer instance.\",\n                            \"example\": \"example-lb-01\",\n                            \"type\": \"string\"\n                          },\n                          \"project_id\": {\n                            \"description\": \"The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created.\",\n                            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                            \"type\": \"string\"\n                          },\n                          \"redirect_http_to_https\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"size\": {\n                            \"default\": \"lb-small\",\n                            \"deprecated\": true,\n                            \"description\": \"This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes.\\n* `lb-small` = 1 node\\n* `lb-medium` = 3 nodes\\n* `lb-large` = 6 nodes\\n\\nYou can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation.\",\n                            \"enum\": [\n                              \"lb-small\",\n                              \"lb-medium\",\n                              \"lb-large\"\n                            ],\n                            \"example\": \"lb-small\",\n                            \"type\": \"string\"\n                          },\n                          \"size_unit\": {\n                            \"default\": 1,\n                            \"description\": \"How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions.\",\n                            \"example\": 3,\n                            \"maximum\": 100,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"status\": {\n                            \"description\": \"A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`.\",\n                            \"enum\": [\n                              \"new\",\n                              \"active\",\n                              \"errored\"\n                            ],\n                            \"example\": \"new\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"sticky_sessions\": {\n                            \"description\": \"An object specifying sticky sessions settings for the load balancer.\",\n                            \"properties\": {\n                              \"cookie_name\": {\n                                \"description\": \"The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                \"example\": \"DO-LB\",\n                                \"type\": \"string\"\n                              },\n                              \"cookie_ttl_seconds\": {\n                                \"description\": \"The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                \"example\": 300,\n                                \"type\": \"integer\"\n                              },\n                              \"type\": {\n                                \"default\": \"none\",\n                                \"description\": \"An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`.\",\n                                \"enum\": [\n                                  \"cookies\",\n                                  \"none\"\n                                ],\n                                \"example\": \"cookies\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"vpc_uuid\": {\n                            \"description\": \"A string specifying the UUID of the VPC to which the load balancer is assigned.\",\n                            \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                            \"format\": \"uuid\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"forwarding_rules\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ],\n                    \"required\": [\n                      \"droplet_ids\",\n                      \"region\"\n                    ],\n                    \"title\": \"Assign Droplets by ID\"\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"tag\": {\n                            \"description\": \"The name of a Droplet tag corresponding to Droplets assigned to the load balancer.\",\n                            \"example\": \"prod:web\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"algorithm\": {\n                            \"default\": \"round_robin\",\n                            \"deprecated\": true,\n                            \"description\": \"This field has been deprecated. You can no longer specify an algorithm for load balancers.\",\n                            \"enum\": [\n                              \"round_robin\",\n                              \"least_connections\"\n                            ],\n                            \"example\": \"round_robin\",\n                            \"type\": \"string\"\n                          },\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the load balancer was created.\",\n                            \"example\": \"2017-02-01T22:22:58Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"disable_lets_encrypt_dns_records\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"enable_backend_keepalive\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"enable_proxy_protocol\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether PROXY Protocol is in use.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"firewall\": {\n                            \"description\": \"An object specifying allow and deny rules to control traffic to the load balancer.\",\n                            \"properties\": {\n                              \"allow\": {\n                                \"default\": [],\n                                \"description\": \"the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                \"example\": [\n                                  \"ip:1.2.3.4\",\n                                  \"cidr:2.3.0.0/16\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"deny\": {\n                                \"default\": [],\n                                \"description\": \"the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                \"example\": [\n                                  \"ip:1.2.3.4\",\n                                  \"cidr:2.3.0.0/16\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"forwarding_rules\": {\n                            \"description\": \"An array of objects specifying the forwarding rules for a load balancer.\",\n                            \"items\": {\n                              \"description\": \"An object specifying a forwarding rule for a load balancer.\",\n                              \"properties\": {\n                                \"certificate_id\": {\n                                  \"description\": \"The ID of the TLS certificate used for SSL termination if enabled.\",\n                                  \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                                  \"type\": \"string\"\n                                },\n                                \"entry_port\": {\n                                  \"description\": \"An integer representing the port on which the load balancer instance will listen.\",\n                                  \"example\": 443,\n                                  \"type\": \"integer\"\n                                },\n                                \"entry_protocol\": {\n                                  \"description\": \"The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the  `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`.  When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                  \"enum\": [\n                                    \"http\",\n                                    \"https\",\n                                    \"http2\",\n                                    \"http3\",\n                                    \"tcp\",\n                                    \"udp\"\n                                  ],\n                                  \"example\": \"https\",\n                                  \"type\": \"string\"\n                                },\n                                \"target_port\": {\n                                  \"description\": \"An integer representing the port on the backend Droplets to which the load balancer will send traffic.\",\n                                  \"example\": 80,\n                                  \"type\": \"integer\"\n                                },\n                                \"target_protocol\": {\n                                  \"description\": \"The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to  `udp`. When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                  \"enum\": [\n                                    \"http\",\n                                    \"https\",\n                                    \"http2\",\n                                    \"tcp\",\n                                    \"udp\"\n                                  ],\n                                  \"example\": \"http\",\n                                  \"type\": \"string\"\n                                },\n                                \"tls_passthrough\": {\n                                  \"description\": \"A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets.\",\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                }\n                              },\n                              \"required\": [\n                                \"entry_protocol\",\n                                \"entry_port\",\n                                \"target_protocol\",\n                                \"target_port\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"minItems\": 1,\n                            \"type\": \"array\"\n                          },\n                          \"health_check\": {\n                            \"description\": \"An object specifying health check settings for the load balancer.\",\n                            \"properties\": {\n                              \"check_interval_seconds\": {\n                                \"default\": 10,\n                                \"description\": \"The number of seconds between between two consecutive health checks.\",\n                                \"example\": 10,\n                                \"type\": \"integer\"\n                              },\n                              \"healthy_threshold\": {\n                                \"default\": 3,\n                                \"description\": \"The number of times a health check must pass for a backend Droplet to be marked \\\"healthy\\\" and be re-added to the pool.\",\n                                \"example\": 3,\n                                \"type\": \"integer\"\n                              },\n                              \"path\": {\n                                \"default\": \"/\",\n                                \"description\": \"The path on the backend Droplets to which the load balancer instance will send a request.\",\n                                \"example\": \"/\",\n                                \"type\": \"string\"\n                              },\n                              \"port\": {\n                                \"default\": 80,\n                                \"description\": \"An integer representing the port on the backend Droplets on which the health check will attempt a connection.\",\n                                \"example\": 80,\n                                \"type\": \"integer\"\n                              },\n                              \"protocol\": {\n                                \"default\": \"http\",\n                                \"description\": \"The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`.\",\n                                \"enum\": [\n                                  \"http\",\n                                  \"https\",\n                                  \"tcp\"\n                                ],\n                                \"example\": \"http\",\n                                \"type\": \"string\"\n                              },\n                              \"response_timeout_seconds\": {\n                                \"default\": 5,\n                                \"description\": \"The number of seconds the load balancer instance will wait for a response until marking a health check as failed.\",\n                                \"example\": 5,\n                                \"type\": \"integer\"\n                              },\n                              \"unhealthy_threshold\": {\n                                \"default\": 5,\n                                \"description\": \"The number of times a health check must fail for a backend Droplet to be marked \\\"unhealthy\\\" and be removed from the pool.\",\n                                \"example\": 5,\n                                \"type\": \"integer\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"http_idle_timeout_seconds\": {\n                            \"default\": 60,\n                            \"description\": \"An integer value which configures the idle timeout for HTTP requests to the target droplets.\",\n                            \"example\": 90,\n                            \"maximum\": 600,\n                            \"minimum\": 30,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique ID that can be used to identify and reference a load balancer.\",\n                            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ip\": {\n                            \"description\": \"An attribute containing the public-facing IP address of the load balancer.\",\n                            \"example\": \"104.131.186.241\",\n                            \"pattern\": \"^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"A human-readable name for a load balancer instance.\",\n                            \"example\": \"example-lb-01\",\n                            \"type\": \"string\"\n                          },\n                          \"project_id\": {\n                            \"description\": \"The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created.\",\n                            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                            \"type\": \"string\"\n                          },\n                          \"redirect_http_to_https\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"size\": {\n                            \"default\": \"lb-small\",\n                            \"deprecated\": true,\n                            \"description\": \"This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes.\\n* `lb-small` = 1 node\\n* `lb-medium` = 3 nodes\\n* `lb-large` = 6 nodes\\n\\nYou can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation.\",\n                            \"enum\": [\n                              \"lb-small\",\n                              \"lb-medium\",\n                              \"lb-large\"\n                            ],\n                            \"example\": \"lb-small\",\n                            \"type\": \"string\"\n                          },\n                          \"size_unit\": {\n                            \"default\": 1,\n                            \"description\": \"How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions.\",\n                            \"example\": 3,\n                            \"maximum\": 100,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"status\": {\n                            \"description\": \"A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`.\",\n                            \"enum\": [\n                              \"new\",\n                              \"active\",\n                              \"errored\"\n                            ],\n                            \"example\": \"new\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"sticky_sessions\": {\n                            \"description\": \"An object specifying sticky sessions settings for the load balancer.\",\n                            \"properties\": {\n                              \"cookie_name\": {\n                                \"description\": \"The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                \"example\": \"DO-LB\",\n                                \"type\": \"string\"\n                              },\n                              \"cookie_ttl_seconds\": {\n                                \"description\": \"The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                \"example\": 300,\n                                \"type\": \"integer\"\n                              },\n                              \"type\": {\n                                \"default\": \"none\",\n                                \"description\": \"An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`.\",\n                                \"enum\": [\n                                  \"cookies\",\n                                  \"none\"\n                                ],\n                                \"example\": \"cookies\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"vpc_uuid\": {\n                            \"description\": \"A string specifying the UUID of the VPC to which the load balancer is assigned.\",\n                            \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                            \"format\": \"uuid\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"forwarding_rules\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ],\n                    \"required\": [\n                      \"tag\",\n                      \"region\"\n                    ],\n                    \"title\": \"Assign Droplets by Tag\"\n                  }\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"202\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Basic Create Response\": {\n                    \"value\": {\n                      \"load_balancer\": {\n                        \"algorithm\": \"round_robin\",\n                        \"created_at\": \"2017-02-01T22:22:58Z\",\n                        \"disable_lets_encrypt_dns_records\": false,\n                        \"droplet_ids\": [\n                          3164444,\n                          3164445\n                        ],\n                        \"enable_backend_keepalive\": false,\n                        \"enable_proxy_protocol\": false,\n                        \"firewall\": {\n                          \"allow\": [\n                            \"ip:1.2.3.4\",\n                            \"cidr:2.3.4.0/24\"\n                          ],\n                          \"deny\": [\n                            \"cidr:1.2.0.0/16\",\n                            \"ip:2.3.4.5\"\n                          ]\n                        },\n                        \"forwarding_rules\": [\n                          {\n                            \"certificate_id\": \"\",\n                            \"entry_port\": 80,\n                            \"entry_protocol\": \"http\",\n                            \"target_port\": 80,\n                            \"target_protocol\": \"http\",\n                            \"tls_passthrough\": false\n                          },\n                          {\n                            \"certificate_id\": \"\",\n                            \"entry_port\": 443,\n                            \"entry_protocol\": \"https\",\n                            \"target_port\": 443,\n                            \"target_protocol\": \"https\",\n                            \"tls_passthrough\": true\n                          }\n                        ],\n                        \"health_check\": {\n                          \"check_interval_seconds\": 10,\n                          \"healthy_threshold\": 5,\n                          \"path\": \"/\",\n                          \"port\": 80,\n                          \"protocol\": \"http\",\n                          \"response_timeout_seconds\": 5,\n                          \"unhealthy_threshold\": 3\n                        },\n                        \"http_idle_timeout_seconds\": 60,\n                        \"id\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                        \"ip\": \"104.131.186.241\",\n                        \"name\": \"example-lb-01\",\n                        \"project_id\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                        \"redirect_http_to_https\": false,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        },\n                        \"size\": \"lb-small\",\n                        \"status\": \"new\",\n                        \"sticky_sessions\": {\n                          \"type\": \"none\"\n                        },\n                        \"tag\": \"\",\n                        \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                      }\n                    }\n                  },\n                  \"Create Response Using Droplet Tag\": {\n                    \"value\": {\n                      \"load_balancer\": {\n                        \"algorithm\": \"round_robin\",\n                        \"created_at\": \"2017-02-01T22:22:58Z\",\n                        \"disable_lets_encrypt_dns_records\": false,\n                        \"droplet_ids\": [\n                          3164444,\n                          3164445\n                        ],\n                        \"enable_backend_keepalive\": false,\n                        \"enable_proxy_protocol\": false,\n                        \"forwarding_rules\": [\n                          {\n                            \"certificate_id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                            \"entry_port\": 443,\n                            \"entry_protocol\": \"https\",\n                            \"target_port\": 8080,\n                            \"target_protocol\": \"http\"\n                          }\n                        ],\n                        \"health_check\": {\n                          \"check_interval_seconds\": 10,\n                          \"healthy_threshold\": 5,\n                          \"path\": \"/\",\n                          \"port\": 80,\n                          \"protocol\": \"http\",\n                          \"response_timeout_seconds\": 5,\n                          \"unhealthy_threshold\": 3\n                        },\n                        \"id\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                        \"ip\": \"104.131.186.241\",\n                        \"name\": \"example-lb-01\",\n                        \"project_id\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                        \"redirect_http_to_https\": false,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        },\n                        \"size\": \"lb-small\",\n                        \"status\": \"new\",\n                        \"sticky_sessions\": {\n                          \"type\": \"none\"\n                        },\n                        \"tag\": \"prod:web\",\n                        \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                      }\n                    }\n                  },\n                  \"SSL Termination Create Response\": {\n                    \"value\": {\n                      \"load_balancer\": {\n                        \"algorithm\": \"round_robin\",\n                        \"created_at\": \"2017-02-01T22:22:58Z\",\n                        \"disable_lets_encrypt_dns_records\": false,\n                        \"droplet_ids\": [\n                          3164444,\n                          3164445\n                        ],\n                        \"enable_backend_keepalive\": false,\n                        \"enable_proxy_protocol\": false,\n                        \"forwarding_rules\": [\n                          {\n                            \"certificate_id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                            \"entry_port\": 443,\n                            \"entry_protocol\": \"https\",\n                            \"target_port\": 8080,\n                            \"target_protocol\": \"http\"\n                          }\n                        ],\n                        \"health_check\": {\n                          \"check_interval_seconds\": 10,\n                          \"healthy_threshold\": 5,\n                          \"path\": \"/\",\n                          \"port\": 80,\n                          \"protocol\": \"http\",\n                          \"response_timeout_seconds\": 5,\n                          \"unhealthy_threshold\": 3\n                        },\n                        \"id\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                        \"ip\": \"104.131.186.241\",\n                        \"name\": \"example-lb-01\",\n                        \"redirect_http_to_https\": false,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        },\n                        \"size\": \"lb-small\",\n                        \"status\": \"new\",\n                        \"sticky_sessions\": {\n                          \"type\": \"none\"\n                        },\n                        \"tag\": \"\",\n                        \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                      }\n                    }\n                  },\n                  \"Sticky Sessions and Custom Health Check\": {\n                    \"value\": {\n                      \"load_balancer\": {\n                        \"algorithm\": \"round_robin\",\n                        \"created_at\": \"2017-02-01T22:22:58Z\",\n                        \"disable_lets_encrypt_dns_records\": false,\n                        \"droplet_ids\": [\n                          3164444,\n                          3164445\n                        ],\n                        \"enable_backend_keepalive\": false,\n                        \"enable_proxy_protocol\": false,\n                        \"forwarding_rules\": [\n                          {\n                            \"certificate_id\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                            \"entry_port\": 443,\n                            \"entry_protocol\": \"https\",\n                            \"target_port\": 8080,\n                            \"target_protocol\": \"http\"\n                          }\n                        ],\n                        \"health_check\": {\n                          \"check_interval_seconds\": 10,\n                          \"healthy_threshold\": 5,\n                          \"path\": \"/health\",\n                          \"port\": 8080,\n                          \"protocol\": \"http\",\n                          \"response_timeout_seconds\": 5,\n                          \"unhealthy_threshold\": 3\n                        },\n                        \"id\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                        \"ip\": \"104.131.186.241\",\n                        \"name\": \"example-lb-01\",\n                        \"project_id\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                        \"redirect_http_to_https\": false,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        },\n                        \"size\": \"lb-small\",\n                        \"status\": \"new\",\n                        \"sticky_sessions\": {\n                          \"cookie_name\": \"LB_COOKIE\",\n                          \"cookie_ttl_seconds\": 300,\n                          \"type\": \"cookies\"\n                        },\n                        \"tag\": \"prod:web\",\n                        \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"load_balancer\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"algorithm\": {\n                              \"default\": \"round_robin\",\n                              \"deprecated\": true,\n                              \"description\": \"This field has been deprecated. You can no longer specify an algorithm for load balancers.\",\n                              \"enum\": [\n                                \"round_robin\",\n                                \"least_connections\"\n                              ],\n                              \"example\": \"round_robin\",\n                              \"type\": \"string\"\n                            },\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the load balancer was created.\",\n                              \"example\": \"2017-02-01T22:22:58Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"disable_lets_encrypt_dns_records\": {\n                              \"default\": false,\n                              \"description\": \"A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"enable_backend_keepalive\": {\n                              \"default\": false,\n                              \"description\": \"A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"enable_proxy_protocol\": {\n                              \"default\": false,\n                              \"description\": \"A boolean value indicating whether PROXY Protocol is in use.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"firewall\": {\n                              \"description\": \"An object specifying allow and deny rules to control traffic to the load balancer.\",\n                              \"properties\": {\n                                \"allow\": {\n                                  \"default\": [],\n                                  \"description\": \"the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                  \"example\": [\n                                    \"ip:1.2.3.4\",\n                                    \"cidr:2.3.0.0/16\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"deny\": {\n                                  \"default\": [],\n                                  \"description\": \"the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                  \"example\": [\n                                    \"ip:1.2.3.4\",\n                                    \"cidr:2.3.0.0/16\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"forwarding_rules\": {\n                              \"description\": \"An array of objects specifying the forwarding rules for a load balancer.\",\n                              \"items\": {\n                                \"description\": \"An object specifying a forwarding rule for a load balancer.\",\n                                \"properties\": {\n                                  \"certificate_id\": {\n                                    \"description\": \"The ID of the TLS certificate used for SSL termination if enabled.\",\n                                    \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"entry_port\": {\n                                    \"description\": \"An integer representing the port on which the load balancer instance will listen.\",\n                                    \"example\": 443,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"entry_protocol\": {\n                                    \"description\": \"The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the  `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`.  When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                    \"enum\": [\n                                      \"http\",\n                                      \"https\",\n                                      \"http2\",\n                                      \"http3\",\n                                      \"tcp\",\n                                      \"udp\"\n                                    ],\n                                    \"example\": \"https\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"target_port\": {\n                                    \"description\": \"An integer representing the port on the backend Droplets to which the load balancer will send traffic.\",\n                                    \"example\": 80,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"target_protocol\": {\n                                    \"description\": \"The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to  `udp`. When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                    \"enum\": [\n                                      \"http\",\n                                      \"https\",\n                                      \"http2\",\n                                      \"tcp\",\n                                      \"udp\"\n                                    ],\n                                    \"example\": \"http\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"tls_passthrough\": {\n                                    \"description\": \"A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets.\",\n                                    \"example\": false,\n                                    \"type\": \"boolean\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"entry_protocol\",\n                                  \"entry_port\",\n                                  \"target_protocol\",\n                                  \"target_port\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"minItems\": 1,\n                              \"type\": \"array\"\n                            },\n                            \"health_check\": {\n                              \"description\": \"An object specifying health check settings for the load balancer.\",\n                              \"properties\": {\n                                \"check_interval_seconds\": {\n                                  \"default\": 10,\n                                  \"description\": \"The number of seconds between between two consecutive health checks.\",\n                                  \"example\": 10,\n                                  \"type\": \"integer\"\n                                },\n                                \"healthy_threshold\": {\n                                  \"default\": 3,\n                                  \"description\": \"The number of times a health check must pass for a backend Droplet to be marked \\\"healthy\\\" and be re-added to the pool.\",\n                                  \"example\": 3,\n                                  \"type\": \"integer\"\n                                },\n                                \"path\": {\n                                  \"default\": \"/\",\n                                  \"description\": \"The path on the backend Droplets to which the load balancer instance will send a request.\",\n                                  \"example\": \"/\",\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"default\": 80,\n                                  \"description\": \"An integer representing the port on the backend Droplets on which the health check will attempt a connection.\",\n                                  \"example\": 80,\n                                  \"type\": \"integer\"\n                                },\n                                \"protocol\": {\n                                  \"default\": \"http\",\n                                  \"description\": \"The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`.\",\n                                  \"enum\": [\n                                    \"http\",\n                                    \"https\",\n                                    \"tcp\"\n                                  ],\n                                  \"example\": \"http\",\n                                  \"type\": \"string\"\n                                },\n                                \"response_timeout_seconds\": {\n                                  \"default\": 5,\n                                  \"description\": \"The number of seconds the load balancer instance will wait for a response until marking a health check as failed.\",\n                                  \"example\": 5,\n                                  \"type\": \"integer\"\n                                },\n                                \"unhealthy_threshold\": {\n                                  \"default\": 5,\n                                  \"description\": \"The number of times a health check must fail for a backend Droplet to be marked \\\"unhealthy\\\" and be removed from the pool.\",\n                                  \"example\": 5,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"http_idle_timeout_seconds\": {\n                              \"default\": 60,\n                              \"description\": \"An integer value which configures the idle timeout for HTTP requests to the target droplets.\",\n                              \"example\": 90,\n                              \"maximum\": 600,\n                              \"minimum\": 30,\n                              \"type\": \"integer\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference a load balancer.\",\n                              \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"ip\": {\n                              \"description\": \"An attribute containing the public-facing IP address of the load balancer.\",\n                              \"example\": \"104.131.186.241\",\n                              \"pattern\": \"^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for a load balancer instance.\",\n                              \"example\": \"example-lb-01\",\n                              \"type\": \"string\"\n                            },\n                            \"project_id\": {\n                              \"description\": \"The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created.\",\n                              \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                              \"type\": \"string\"\n                            },\n                            \"redirect_http_to_https\": {\n                              \"default\": false,\n                              \"description\": \"A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"size\": {\n                              \"default\": \"lb-small\",\n                              \"deprecated\": true,\n                              \"description\": \"This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes.\\n* `lb-small` = 1 node\\n* `lb-medium` = 3 nodes\\n* `lb-large` = 6 nodes\\n\\nYou can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation.\",\n                              \"enum\": [\n                                \"lb-small\",\n                                \"lb-medium\",\n                                \"lb-large\"\n                              ],\n                              \"example\": \"lb-small\",\n                              \"type\": \"string\"\n                            },\n                            \"size_unit\": {\n                              \"default\": 1,\n                              \"description\": \"How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions.\",\n                              \"example\": 3,\n                              \"maximum\": 100,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"status\": {\n                              \"description\": \"A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`.\",\n                              \"enum\": [\n                                \"new\",\n                                \"active\",\n                                \"errored\"\n                              ],\n                              \"example\": \"new\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"sticky_sessions\": {\n                              \"description\": \"An object specifying sticky sessions settings for the load balancer.\",\n                              \"properties\": {\n                                \"cookie_name\": {\n                                  \"description\": \"The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                  \"example\": \"DO-LB\",\n                                  \"type\": \"string\"\n                                },\n                                \"cookie_ttl_seconds\": {\n                                  \"description\": \"The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                  \"example\": 300,\n                                  \"type\": \"integer\"\n                                },\n                                \"type\": {\n                                  \"default\": \"none\",\n                                  \"description\": \"An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`.\",\n                                  \"enum\": [\n                                    \"cookies\",\n                                    \"none\"\n                                  ],\n                                  \"example\": \"cookies\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"vpc_uuid\": {\n                              \"description\": \"A string specifying the UUID of the VPC to which the load balancer is assigned.\",\n                              \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                              \"format\": \"uuid\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"forwarding_rules\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"region\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"The region where the load balancer instance is located. When setting a region, the value should be the slug identifier for the region. When you query a load balancer, an entire region object will be returned.\"\n                                },\n                                {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"features\": {\n                                      \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                      \"example\": [\n                                        \"private_networking\",\n                                        \"backups\",\n                                        \"ipv6\",\n                                        \"metadata\",\n                                        \"install_agent\",\n                                        \"storage\",\n                                        \"image_transfer\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                      \"example\": \"New York 3\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"sizes\": {\n                                      \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                      \"example\": [\n                                        \"s-1vcpu-1gb\",\n                                        \"s-1vcpu-2gb\",\n                                        \"s-1vcpu-3gb\",\n                                        \"s-2vcpu-2gb\",\n                                        \"s-3vcpu-1gb\",\n                                        \"s-2vcpu-4gb\",\n                                        \"s-4vcpu-8gb\",\n                                        \"s-6vcpu-16gb\",\n                                        \"s-8vcpu-32gb\",\n                                        \"s-12vcpu-48gb\",\n                                        \"s-16vcpu-64gb\",\n                                        \"s-20vcpu-96gb\",\n                                        \"s-24vcpu-128gb\",\n                                        \"s-32vcpu-192g\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                      \"example\": \"nyc3\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"features\",\n                                    \"name\",\n                                    \"sizes\",\n                                    \"slug\"\n                                  ],\n                                  \"type\": \"object\"\n                                }\n                              ],\n                              \"type\": \"object\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"droplet_ids\": {\n                              \"description\": \"An array containing the IDs of the Droplets assigned to the load balancer.\",\n                              \"example\": [\n                                3164444,\n                                3164445\n                              ],\n                              \"items\": {\n                                \"type\": \"integer\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          }\n                        },\n                        {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"tag\": {\n                              \"description\": \"The name of a Droplet tag corresponding to Droplets assigned to the load balancer.\",\n                              \"example\": \"prod:web\",\n                              \"type\": \"string\"\n                            }\n                          }\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"Accepted\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Load Balancer\",\n        \"tags\": [\n          \"Load Balancers\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"# Create new load balancer\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"example-lb-01\\\",\\\"size_unit\\\": 1, \\\"region\\\": \\\"nyc3\\\", \\\"forwarding_rules\\\":[{\\\"entry_protocol\\\":\\\"http\\\",\\\"entry_port\\\":80,\\\"target_protocol\\\":\\\"http\\\",\\\"target_port\\\":80,\\\"certificate_id\\\":\\\"\\\",\\\"tls_passthrough\\\":false}, {\\\"entry_protocol\\\": \\\"https\\\",\\\"entry_port\\\": 444,\\\"target_protocol\\\": \\\"https\\\",\\\"target_port\\\": 443,\\\"tls_passthrough\\\": true}], \\\"health_check\\\":{\\\"protocol\\\":\\\"http\\\",\\\"port\\\":80,\\\"path\\\":\\\"/\\\",\\\"check_interval_seconds\\\":10,\\\"response_timeout_seconds\\\":5,\\\"healthy_threshold\\\":5,\\\"unhealthy_threshold\\\":3}, \\\"sticky_sessions\\\":{\\\"type\\\":\\\"none\\\"}, \\\"firewall\\\":{\\\"deny\\\":[\\\"ip:1.2.3.4\\\",\\\"cidr:2.3.4.0/24\\\"],\\\"allow\\\":[\\\"cidr:1.2.0.0/16\\\",\\\"ip:2.3.4.5\\\"]}, \\\"droplet_ids\\\": [3164444, 3164445]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/load_balancers\\\"\\n\\n# Create new load balancer with Droplet tag\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"example-lb-01\\\", \\\"region\\\": \\\"nyc3\\\", \\\"size_unit\\\": 1, \\\"forwarding_rules\\\":[{\\\"entry_protocol\\\":\\\"http\\\",\\\"entry_port\\\":80,\\\"target_protocol\\\":\\\"http\\\",\\\"target_port\\\":80,\\\"certificate_id\\\":\\\"\\\",\\\"tls_passthrough\\\":false}, {\\\"entry_protocol\\\": \\\"https\\\",\\\"entry_port\\\": 444,\\\"target_protocol\\\": \\\"https\\\",\\\"target_port\\\": 443,\\\"tls_passthrough\\\": true}], \\\"health_check\\\":{\\\"protocol\\\":\\\"http\\\",\\\"port\\\":80,\\\"path\\\":\\\"/\\\",\\\"check_interval_seconds\\\":10,\\\"response_timeout_seconds\\\":5,\\\"healthy_threshold\\\":5,\\\"unhealthy_threshold\\\":3}, \\\"sticky_sessions\\\":{\\\"type\\\":\\\"none\\\"}, \\\"firewall\\\":{\\\"deny\\\":[\\\"ip:1.2.3.4\\\", \\\"cidr:2.3.4.0/24\\\"],\\\"allow\\\":[\\\"cidr:1.2.0.0/16\\\",\\\"ip:2.3.4.5\\\"]}, \\\"tag\\\": \\\"web:prod\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/load_balancers\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &godo.LoadBalancerRequest{\\n        Name:      \\\"example-01\\\",\\n        SizeUnit: \\\"1\\\",\\n        Algorithm: \\\"round_robin\\\",\\n        Region:    \\\"nyc3\\\",\\n        ForwardingRules: []godo.ForwardingRule{\\n            {\\n                EntryProtocol:  \\\"http\\\",\\n                EntryPort:      80,\\n                TargetProtocol: \\\"http\\\",\\n                TargetPort:     80,\\n            },\\n            {\\n                EntryProtocol:  \\\"https\\\",\\n                EntryPort:      443,\\n                TargetProtocol: \\\"https\\\",\\n                TargetPort:     443,\\n                TlsPassthrough: true,\\n            },\\n        },\\n        HealthCheck: &godo.HealthCheck{\\n            Protocol:               \\\"http\\\",\\n            Port:                   80,\\n            Path:                   \\\"/\\\",\\n            CheckIntervalSeconds:   10,\\n            ResponseTimeoutSeconds: 5,\\n            HealthyThreshold:       5,\\n            UnhealthyThreshold:     3,\\n        },\\n        StickySessions: &godo.StickySessions{\\n            Type: \\\"none\\\",\\n        },\\n        DropletIDs:          []int{3164444, 3164445},\\n        RedirectHttpToHttps: false,\\n        Firewall:            &godo.LBFirewall{\\n            Deny: []string{\\\"ip:1.2.3.4\\\", \\\"cidr:2.3.4.0/24\\\"},\\n            Allow: []string{\\\"cidr:1.2.0.0/16\\\", \\\"ip:2.3.4.5\\\"},\\n        }\\n  // Create new load balancer with Droplet tag\\n  //     Tag:                 \\\"web:prod\\\",\\n  //     RedirectHttpToHttps: false,\\n    }\\n\\n    lb, _, err := client.LoadBalancers.Create(ctx, createRequest)\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nload_balancer = DropletKit::LoadBalancer.new(\\n  name: 'example-lb-01',\\n  size_unit: '1',\\n  algorithm: 'round_robin',\\n# Create new load balancer with Droplet tag\\n# tag: 'web:prod',\\n  droplet_ids: [ 3164444, 3164445],\\n  redirect_http_to_https: true,\\n  region: 'nyc3',\\n  forwarding_rules: [\\n    DropletKit::ForwardingRule.new(\\n      entry_protocol: 'http',\\n      entry_port: 80,\\n      target_protocol: 'http',\\n      target_port: 80,\\n      certificate_id: '',\\n      tls_passthrough: false\\n    ),\\n    DropletKit::ForwardingRule.new(\\n      entry_protocol: 'https',\\n      entry_port: 443,\\n      target_protocol: 'https',\\n      target_port: 443,\\n      certificate_id: '',\\n      tls_passthrough: true\\n    )\\n  ],\\n  sticky_sessions: DropletKit::StickySession.new(\\n    type: 'cookies',\\n    cookie_name: 'DO-LB',\\n    cookie_ttl_seconds: 5\\n  ),\\n  health_check: DropletKit::HealthCheck.new(\\n    protocol: 'http',\\n    port: 80,\\n    path: '/',\\n    check_interval_seconds: 10,\\n    response_timeout_seconds: 5,\\n    healthy_threshold: 5,\\n    unhealthy_threshold: 3\\n  )\\n)\\nclient.load_balancers.create(load_balancer)\"\n          }\n        ]\n      }\n    },\n    \"/v2/load_balancers/{lb_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a load balancer instance, disassociating any Droplets assigned to it\\nand removing it from your account, send a DELETE request to\\n`/v2/load_balancers/$LOAD_BALANCER_ID`.\\n\\nA successful request will receive a 204 status code with no body in response.\\nThis indicates that the request was processed successfully.\\n\",\n        \"operationId\": \"loadBalancers_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a load balancer.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"lb_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Load Balancer\",\n        \"tags\": [\n          \"Load Balancers\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/load_balancers/4de7ac8b-495b-4884-9a69-1050c6793cd6\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.LoadBalancers.Delete(ctx, \\\"4de7ac8b-495b-4884-9a69-1050c6793cd6\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.load_balancers.delete(id: '4de7ac8b-495b-4884-9a69-1050c6793cd6')\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about a load balancer instance, send a GET request to\\n`/v2/load_balancers/$LOAD_BALANCER_ID`.\\n\",\n        \"operationId\": \"loadBalancers_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a load balancer.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"lb_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"load_balancer_basic_response\": {\n                    \"value\": {\n                      \"load_balancer\": {\n                        \"algorithm\": \"round_robin\",\n                        \"created_at\": \"2017-02-01T22:22:58Z\",\n                        \"disable_lets_encrypt_dns_records\": false,\n                        \"droplet_ids\": [\n                          3164444,\n                          3164445\n                        ],\n                        \"enable_backend_keepalive\": false,\n                        \"enable_proxy_protocol\": false,\n                        \"firewall\": {\n                          \"allow\": [\n                            \"ip:1.2.3.4\",\n                            \"cidr:2.3.4.0/24\"\n                          ],\n                          \"deny\": [\n                            \"cidr:1.2.0.0/16\",\n                            \"ip:2.3.4.5\"\n                          ]\n                        },\n                        \"forwarding_rules\": [\n                          {\n                            \"certificate_id\": \"\",\n                            \"entry_port\": 80,\n                            \"entry_protocol\": \"http\",\n                            \"target_port\": 80,\n                            \"target_protocol\": \"http\",\n                            \"tls_passthrough\": false\n                          },\n                          {\n                            \"certificate_id\": \"\",\n                            \"entry_port\": 443,\n                            \"entry_protocol\": \"https\",\n                            \"target_port\": 443,\n                            \"target_protocol\": \"https\",\n                            \"tls_passthrough\": true\n                          }\n                        ],\n                        \"health_check\": {\n                          \"check_interval_seconds\": 10,\n                          \"healthy_threshold\": 5,\n                          \"path\": \"/\",\n                          \"port\": 80,\n                          \"protocol\": \"http\",\n                          \"response_timeout_seconds\": 5,\n                          \"unhealthy_threshold\": 3\n                        },\n                        \"http_idle_timeout_seconds\": 60,\n                        \"id\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                        \"ip\": \"104.131.186.241\",\n                        \"name\": \"example-lb-01\",\n                        \"project_id\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                        \"redirect_http_to_https\": false,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        },\n                        \"size\": \"lb-small\",\n                        \"status\": \"new\",\n                        \"sticky_sessions\": {\n                          \"type\": \"none\"\n                        },\n                        \"tag\": \"\",\n                        \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"load_balancer\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"algorithm\": {\n                              \"default\": \"round_robin\",\n                              \"deprecated\": true,\n                              \"description\": \"This field has been deprecated. You can no longer specify an algorithm for load balancers.\",\n                              \"enum\": [\n                                \"round_robin\",\n                                \"least_connections\"\n                              ],\n                              \"example\": \"round_robin\",\n                              \"type\": \"string\"\n                            },\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the load balancer was created.\",\n                              \"example\": \"2017-02-01T22:22:58Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"disable_lets_encrypt_dns_records\": {\n                              \"default\": false,\n                              \"description\": \"A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"enable_backend_keepalive\": {\n                              \"default\": false,\n                              \"description\": \"A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"enable_proxy_protocol\": {\n                              \"default\": false,\n                              \"description\": \"A boolean value indicating whether PROXY Protocol is in use.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"firewall\": {\n                              \"description\": \"An object specifying allow and deny rules to control traffic to the load balancer.\",\n                              \"properties\": {\n                                \"allow\": {\n                                  \"default\": [],\n                                  \"description\": \"the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                  \"example\": [\n                                    \"ip:1.2.3.4\",\n                                    \"cidr:2.3.0.0/16\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"deny\": {\n                                  \"default\": [],\n                                  \"description\": \"the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                  \"example\": [\n                                    \"ip:1.2.3.4\",\n                                    \"cidr:2.3.0.0/16\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"forwarding_rules\": {\n                              \"description\": \"An array of objects specifying the forwarding rules for a load balancer.\",\n                              \"items\": {\n                                \"description\": \"An object specifying a forwarding rule for a load balancer.\",\n                                \"properties\": {\n                                  \"certificate_id\": {\n                                    \"description\": \"The ID of the TLS certificate used for SSL termination if enabled.\",\n                                    \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"entry_port\": {\n                                    \"description\": \"An integer representing the port on which the load balancer instance will listen.\",\n                                    \"example\": 443,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"entry_protocol\": {\n                                    \"description\": \"The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the  `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`.  When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                    \"enum\": [\n                                      \"http\",\n                                      \"https\",\n                                      \"http2\",\n                                      \"http3\",\n                                      \"tcp\",\n                                      \"udp\"\n                                    ],\n                                    \"example\": \"https\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"target_port\": {\n                                    \"description\": \"An integer representing the port on the backend Droplets to which the load balancer will send traffic.\",\n                                    \"example\": 80,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"target_protocol\": {\n                                    \"description\": \"The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to  `udp`. When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                    \"enum\": [\n                                      \"http\",\n                                      \"https\",\n                                      \"http2\",\n                                      \"tcp\",\n                                      \"udp\"\n                                    ],\n                                    \"example\": \"http\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"tls_passthrough\": {\n                                    \"description\": \"A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets.\",\n                                    \"example\": false,\n                                    \"type\": \"boolean\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"entry_protocol\",\n                                  \"entry_port\",\n                                  \"target_protocol\",\n                                  \"target_port\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"minItems\": 1,\n                              \"type\": \"array\"\n                            },\n                            \"health_check\": {\n                              \"description\": \"An object specifying health check settings for the load balancer.\",\n                              \"properties\": {\n                                \"check_interval_seconds\": {\n                                  \"default\": 10,\n                                  \"description\": \"The number of seconds between between two consecutive health checks.\",\n                                  \"example\": 10,\n                                  \"type\": \"integer\"\n                                },\n                                \"healthy_threshold\": {\n                                  \"default\": 3,\n                                  \"description\": \"The number of times a health check must pass for a backend Droplet to be marked \\\"healthy\\\" and be re-added to the pool.\",\n                                  \"example\": 3,\n                                  \"type\": \"integer\"\n                                },\n                                \"path\": {\n                                  \"default\": \"/\",\n                                  \"description\": \"The path on the backend Droplets to which the load balancer instance will send a request.\",\n                                  \"example\": \"/\",\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"default\": 80,\n                                  \"description\": \"An integer representing the port on the backend Droplets on which the health check will attempt a connection.\",\n                                  \"example\": 80,\n                                  \"type\": \"integer\"\n                                },\n                                \"protocol\": {\n                                  \"default\": \"http\",\n                                  \"description\": \"The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`.\",\n                                  \"enum\": [\n                                    \"http\",\n                                    \"https\",\n                                    \"tcp\"\n                                  ],\n                                  \"example\": \"http\",\n                                  \"type\": \"string\"\n                                },\n                                \"response_timeout_seconds\": {\n                                  \"default\": 5,\n                                  \"description\": \"The number of seconds the load balancer instance will wait for a response until marking a health check as failed.\",\n                                  \"example\": 5,\n                                  \"type\": \"integer\"\n                                },\n                                \"unhealthy_threshold\": {\n                                  \"default\": 5,\n                                  \"description\": \"The number of times a health check must fail for a backend Droplet to be marked \\\"unhealthy\\\" and be removed from the pool.\",\n                                  \"example\": 5,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"http_idle_timeout_seconds\": {\n                              \"default\": 60,\n                              \"description\": \"An integer value which configures the idle timeout for HTTP requests to the target droplets.\",\n                              \"example\": 90,\n                              \"maximum\": 600,\n                              \"minimum\": 30,\n                              \"type\": \"integer\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference a load balancer.\",\n                              \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"ip\": {\n                              \"description\": \"An attribute containing the public-facing IP address of the load balancer.\",\n                              \"example\": \"104.131.186.241\",\n                              \"pattern\": \"^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for a load balancer instance.\",\n                              \"example\": \"example-lb-01\",\n                              \"type\": \"string\"\n                            },\n                            \"project_id\": {\n                              \"description\": \"The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created.\",\n                              \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                              \"type\": \"string\"\n                            },\n                            \"redirect_http_to_https\": {\n                              \"default\": false,\n                              \"description\": \"A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"size\": {\n                              \"default\": \"lb-small\",\n                              \"deprecated\": true,\n                              \"description\": \"This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes.\\n* `lb-small` = 1 node\\n* `lb-medium` = 3 nodes\\n* `lb-large` = 6 nodes\\n\\nYou can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation.\",\n                              \"enum\": [\n                                \"lb-small\",\n                                \"lb-medium\",\n                                \"lb-large\"\n                              ],\n                              \"example\": \"lb-small\",\n                              \"type\": \"string\"\n                            },\n                            \"size_unit\": {\n                              \"default\": 1,\n                              \"description\": \"How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions.\",\n                              \"example\": 3,\n                              \"maximum\": 100,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"status\": {\n                              \"description\": \"A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`.\",\n                              \"enum\": [\n                                \"new\",\n                                \"active\",\n                                \"errored\"\n                              ],\n                              \"example\": \"new\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"sticky_sessions\": {\n                              \"description\": \"An object specifying sticky sessions settings for the load balancer.\",\n                              \"properties\": {\n                                \"cookie_name\": {\n                                  \"description\": \"The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                  \"example\": \"DO-LB\",\n                                  \"type\": \"string\"\n                                },\n                                \"cookie_ttl_seconds\": {\n                                  \"description\": \"The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                  \"example\": 300,\n                                  \"type\": \"integer\"\n                                },\n                                \"type\": {\n                                  \"default\": \"none\",\n                                  \"description\": \"An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`.\",\n                                  \"enum\": [\n                                    \"cookies\",\n                                    \"none\"\n                                  ],\n                                  \"example\": \"cookies\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"vpc_uuid\": {\n                              \"description\": \"A string specifying the UUID of the VPC to which the load balancer is assigned.\",\n                              \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                              \"format\": \"uuid\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"forwarding_rules\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"region\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"The region where the load balancer instance is located. When setting a region, the value should be the slug identifier for the region. When you query a load balancer, an entire region object will be returned.\"\n                                },\n                                {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"features\": {\n                                      \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                      \"example\": [\n                                        \"private_networking\",\n                                        \"backups\",\n                                        \"ipv6\",\n                                        \"metadata\",\n                                        \"install_agent\",\n                                        \"storage\",\n                                        \"image_transfer\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                      \"example\": \"New York 3\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"sizes\": {\n                                      \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                      \"example\": [\n                                        \"s-1vcpu-1gb\",\n                                        \"s-1vcpu-2gb\",\n                                        \"s-1vcpu-3gb\",\n                                        \"s-2vcpu-2gb\",\n                                        \"s-3vcpu-1gb\",\n                                        \"s-2vcpu-4gb\",\n                                        \"s-4vcpu-8gb\",\n                                        \"s-6vcpu-16gb\",\n                                        \"s-8vcpu-32gb\",\n                                        \"s-12vcpu-48gb\",\n                                        \"s-16vcpu-64gb\",\n                                        \"s-20vcpu-96gb\",\n                                        \"s-24vcpu-128gb\",\n                                        \"s-32vcpu-192g\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                      \"example\": \"nyc3\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"features\",\n                                    \"name\",\n                                    \"sizes\",\n                                    \"slug\"\n                                  ],\n                                  \"type\": \"object\"\n                                }\n                              ],\n                              \"type\": \"object\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"droplet_ids\": {\n                              \"description\": \"An array containing the IDs of the Droplets assigned to the load balancer.\",\n                              \"example\": [\n                                3164444,\n                                3164445\n                              ],\n                              \"items\": {\n                                \"type\": \"integer\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          }\n                        },\n                        {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"tag\": {\n                              \"description\": \"The name of a Droplet tag corresponding to Droplets assigned to the load balancer.\",\n                              \"example\": \"prod:web\",\n                              \"type\": \"string\"\n                            }\n                          }\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `load_balancer`. The\\nvalue of this will be an object that contains the standard attributes\\nassociated with a load balancer\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Load Balancer\",\n        \"tags\": [\n          \"Load Balancers\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/load_balancers/4de7ac8b-495b-4884-9a69-1050c6793cd6\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    lb, _, err := client.LoadBalancers.Get(ctx, \\\"4de7ac8b-495b-4884-9a69-1050c6793cd6\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.load_balancers.find(id: '4de7ac8b-495b-4884-9a69-1050c6793cd6')\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update a load balancer's settings, send a PUT request to\\n`/v2/load_balancers/$LOAD_BALANCER_ID`. The request should contain a full\\nrepresentation of the load balancer including existing attributes. It may\\ncontain _one of_ the `droplets_ids` or `tag` attributes as they are mutually\\nexclusive. **Note that any attribute that is not provided will be reset to its\\ndefault value.**\\n\",\n        \"operationId\": \"loadBalancers_update\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a load balancer.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"lb_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"examples\": {\n                \"load_balancer_update_request\": {\n                  \"value\": {\n                    \"algorithm\": \"round_robin\",\n                    \"droplet_ids\": [\n                      3164444,\n                      3164445\n                    ],\n                    \"enable_backend_keepalive\": true,\n                    \"enable_proxy_protocol\": true,\n                    \"firewall\": {\n                      \"allow\": [\n                        \"ip:1.2.3.4\",\n                        \"cidr:2.3.4.0/24\"\n                      ],\n                      \"deny\": [\n                        \"cidr:1.2.0.0/16\",\n                        \"ip:2.3.4.5\"\n                      ]\n                    },\n                    \"forwarding_rules\": [\n                      {\n                        \"certificate_id\": \"\",\n                        \"entry_port\": 80,\n                        \"entry_protocol\": \"http\",\n                        \"target_port\": 80,\n                        \"target_protocol\": \"http\",\n                        \"tls_passthrough\": false\n                      },\n                      {\n                        \"certificate_id\": \"\",\n                        \"entry_port\": 443,\n                        \"entry_protocol\": \"https\",\n                        \"target_port\": 443,\n                        \"target_protocol\": \"https\",\n                        \"tls_passthrough\": true\n                      }\n                    ],\n                    \"health_check\": {\n                      \"check_interval_seconds\": 10,\n                      \"healthy_threshold\": 5,\n                      \"path\": \"/\",\n                      \"port\": 80,\n                      \"protocol\": \"http\",\n                      \"response_timeout_seconds\": 5,\n                      \"unhealthy_threshold\": 3\n                    },\n                    \"http_idle_timeout_seconds\": 60,\n                    \"name\": \"updated-example-lb-01\",\n                    \"project_id\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                    \"redirect_http_to_https\": false,\n                    \"region\": \"nyc3\",\n                    \"sticky_sessions\": {\n                      \"type\": \"none\"\n                    },\n                    \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                  }\n                }\n              },\n              \"schema\": {\n                \"oneOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"droplet_ids\": {\n                            \"description\": \"An array containing the IDs of the Droplets assigned to the load balancer.\",\n                            \"example\": [\n                              3164444,\n                              3164445\n                            ],\n                            \"items\": {\n                              \"type\": \"integer\"\n                            },\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"algorithm\": {\n                            \"default\": \"round_robin\",\n                            \"deprecated\": true,\n                            \"description\": \"This field has been deprecated. You can no longer specify an algorithm for load balancers.\",\n                            \"enum\": [\n                              \"round_robin\",\n                              \"least_connections\"\n                            ],\n                            \"example\": \"round_robin\",\n                            \"type\": \"string\"\n                          },\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the load balancer was created.\",\n                            \"example\": \"2017-02-01T22:22:58Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"disable_lets_encrypt_dns_records\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"enable_backend_keepalive\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"enable_proxy_protocol\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether PROXY Protocol is in use.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"firewall\": {\n                            \"description\": \"An object specifying allow and deny rules to control traffic to the load balancer.\",\n                            \"properties\": {\n                              \"allow\": {\n                                \"default\": [],\n                                \"description\": \"the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                \"example\": [\n                                  \"ip:1.2.3.4\",\n                                  \"cidr:2.3.0.0/16\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"deny\": {\n                                \"default\": [],\n                                \"description\": \"the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                \"example\": [\n                                  \"ip:1.2.3.4\",\n                                  \"cidr:2.3.0.0/16\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"forwarding_rules\": {\n                            \"description\": \"An array of objects specifying the forwarding rules for a load balancer.\",\n                            \"items\": {\n                              \"description\": \"An object specifying a forwarding rule for a load balancer.\",\n                              \"properties\": {\n                                \"certificate_id\": {\n                                  \"description\": \"The ID of the TLS certificate used for SSL termination if enabled.\",\n                                  \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                                  \"type\": \"string\"\n                                },\n                                \"entry_port\": {\n                                  \"description\": \"An integer representing the port on which the load balancer instance will listen.\",\n                                  \"example\": 443,\n                                  \"type\": \"integer\"\n                                },\n                                \"entry_protocol\": {\n                                  \"description\": \"The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the  `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`.  When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                  \"enum\": [\n                                    \"http\",\n                                    \"https\",\n                                    \"http2\",\n                                    \"http3\",\n                                    \"tcp\",\n                                    \"udp\"\n                                  ],\n                                  \"example\": \"https\",\n                                  \"type\": \"string\"\n                                },\n                                \"target_port\": {\n                                  \"description\": \"An integer representing the port on the backend Droplets to which the load balancer will send traffic.\",\n                                  \"example\": 80,\n                                  \"type\": \"integer\"\n                                },\n                                \"target_protocol\": {\n                                  \"description\": \"The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to  `udp`. When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                  \"enum\": [\n                                    \"http\",\n                                    \"https\",\n                                    \"http2\",\n                                    \"tcp\",\n                                    \"udp\"\n                                  ],\n                                  \"example\": \"http\",\n                                  \"type\": \"string\"\n                                },\n                                \"tls_passthrough\": {\n                                  \"description\": \"A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets.\",\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                }\n                              },\n                              \"required\": [\n                                \"entry_protocol\",\n                                \"entry_port\",\n                                \"target_protocol\",\n                                \"target_port\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"minItems\": 1,\n                            \"type\": \"array\"\n                          },\n                          \"health_check\": {\n                            \"description\": \"An object specifying health check settings for the load balancer.\",\n                            \"properties\": {\n                              \"check_interval_seconds\": {\n                                \"default\": 10,\n                                \"description\": \"The number of seconds between between two consecutive health checks.\",\n                                \"example\": 10,\n                                \"type\": \"integer\"\n                              },\n                              \"healthy_threshold\": {\n                                \"default\": 3,\n                                \"description\": \"The number of times a health check must pass for a backend Droplet to be marked \\\"healthy\\\" and be re-added to the pool.\",\n                                \"example\": 3,\n                                \"type\": \"integer\"\n                              },\n                              \"path\": {\n                                \"default\": \"/\",\n                                \"description\": \"The path on the backend Droplets to which the load balancer instance will send a request.\",\n                                \"example\": \"/\",\n                                \"type\": \"string\"\n                              },\n                              \"port\": {\n                                \"default\": 80,\n                                \"description\": \"An integer representing the port on the backend Droplets on which the health check will attempt a connection.\",\n                                \"example\": 80,\n                                \"type\": \"integer\"\n                              },\n                              \"protocol\": {\n                                \"default\": \"http\",\n                                \"description\": \"The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`.\",\n                                \"enum\": [\n                                  \"http\",\n                                  \"https\",\n                                  \"tcp\"\n                                ],\n                                \"example\": \"http\",\n                                \"type\": \"string\"\n                              },\n                              \"response_timeout_seconds\": {\n                                \"default\": 5,\n                                \"description\": \"The number of seconds the load balancer instance will wait for a response until marking a health check as failed.\",\n                                \"example\": 5,\n                                \"type\": \"integer\"\n                              },\n                              \"unhealthy_threshold\": {\n                                \"default\": 5,\n                                \"description\": \"The number of times a health check must fail for a backend Droplet to be marked \\\"unhealthy\\\" and be removed from the pool.\",\n                                \"example\": 5,\n                                \"type\": \"integer\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"http_idle_timeout_seconds\": {\n                            \"default\": 60,\n                            \"description\": \"An integer value which configures the idle timeout for HTTP requests to the target droplets.\",\n                            \"example\": 90,\n                            \"maximum\": 600,\n                            \"minimum\": 30,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique ID that can be used to identify and reference a load balancer.\",\n                            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ip\": {\n                            \"description\": \"An attribute containing the public-facing IP address of the load balancer.\",\n                            \"example\": \"104.131.186.241\",\n                            \"pattern\": \"^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"A human-readable name for a load balancer instance.\",\n                            \"example\": \"example-lb-01\",\n                            \"type\": \"string\"\n                          },\n                          \"project_id\": {\n                            \"description\": \"The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created.\",\n                            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                            \"type\": \"string\"\n                          },\n                          \"redirect_http_to_https\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"size\": {\n                            \"default\": \"lb-small\",\n                            \"deprecated\": true,\n                            \"description\": \"This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes.\\n* `lb-small` = 1 node\\n* `lb-medium` = 3 nodes\\n* `lb-large` = 6 nodes\\n\\nYou can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation.\",\n                            \"enum\": [\n                              \"lb-small\",\n                              \"lb-medium\",\n                              \"lb-large\"\n                            ],\n                            \"example\": \"lb-small\",\n                            \"type\": \"string\"\n                          },\n                          \"size_unit\": {\n                            \"default\": 1,\n                            \"description\": \"How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions.\",\n                            \"example\": 3,\n                            \"maximum\": 100,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"status\": {\n                            \"description\": \"A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`.\",\n                            \"enum\": [\n                              \"new\",\n                              \"active\",\n                              \"errored\"\n                            ],\n                            \"example\": \"new\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"sticky_sessions\": {\n                            \"description\": \"An object specifying sticky sessions settings for the load balancer.\",\n                            \"properties\": {\n                              \"cookie_name\": {\n                                \"description\": \"The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                \"example\": \"DO-LB\",\n                                \"type\": \"string\"\n                              },\n                              \"cookie_ttl_seconds\": {\n                                \"description\": \"The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                \"example\": 300,\n                                \"type\": \"integer\"\n                              },\n                              \"type\": {\n                                \"default\": \"none\",\n                                \"description\": \"An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`.\",\n                                \"enum\": [\n                                  \"cookies\",\n                                  \"none\"\n                                ],\n                                \"example\": \"cookies\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"vpc_uuid\": {\n                            \"description\": \"A string specifying the UUID of the VPC to which the load balancer is assigned.\",\n                            \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                            \"format\": \"uuid\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"forwarding_rules\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ],\n                    \"required\": [\n                      \"droplet_ids\",\n                      \"region\"\n                    ],\n                    \"title\": \"Assign Droplets by ID\"\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"tag\": {\n                            \"description\": \"The name of a Droplet tag corresponding to Droplets assigned to the load balancer.\",\n                            \"example\": \"prod:web\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"algorithm\": {\n                            \"default\": \"round_robin\",\n                            \"deprecated\": true,\n                            \"description\": \"This field has been deprecated. You can no longer specify an algorithm for load balancers.\",\n                            \"enum\": [\n                              \"round_robin\",\n                              \"least_connections\"\n                            ],\n                            \"example\": \"round_robin\",\n                            \"type\": \"string\"\n                          },\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the load balancer was created.\",\n                            \"example\": \"2017-02-01T22:22:58Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"disable_lets_encrypt_dns_records\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"enable_backend_keepalive\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"enable_proxy_protocol\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether PROXY Protocol is in use.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"firewall\": {\n                            \"description\": \"An object specifying allow and deny rules to control traffic to the load balancer.\",\n                            \"properties\": {\n                              \"allow\": {\n                                \"default\": [],\n                                \"description\": \"the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                \"example\": [\n                                  \"ip:1.2.3.4\",\n                                  \"cidr:2.3.0.0/16\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"deny\": {\n                                \"default\": [],\n                                \"description\": \"the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                \"example\": [\n                                  \"ip:1.2.3.4\",\n                                  \"cidr:2.3.0.0/16\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"forwarding_rules\": {\n                            \"description\": \"An array of objects specifying the forwarding rules for a load balancer.\",\n                            \"items\": {\n                              \"description\": \"An object specifying a forwarding rule for a load balancer.\",\n                              \"properties\": {\n                                \"certificate_id\": {\n                                  \"description\": \"The ID of the TLS certificate used for SSL termination if enabled.\",\n                                  \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                                  \"type\": \"string\"\n                                },\n                                \"entry_port\": {\n                                  \"description\": \"An integer representing the port on which the load balancer instance will listen.\",\n                                  \"example\": 443,\n                                  \"type\": \"integer\"\n                                },\n                                \"entry_protocol\": {\n                                  \"description\": \"The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the  `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`.  When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                  \"enum\": [\n                                    \"http\",\n                                    \"https\",\n                                    \"http2\",\n                                    \"http3\",\n                                    \"tcp\",\n                                    \"udp\"\n                                  ],\n                                  \"example\": \"https\",\n                                  \"type\": \"string\"\n                                },\n                                \"target_port\": {\n                                  \"description\": \"An integer representing the port on the backend Droplets to which the load balancer will send traffic.\",\n                                  \"example\": 80,\n                                  \"type\": \"integer\"\n                                },\n                                \"target_protocol\": {\n                                  \"description\": \"The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to  `udp`. When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                  \"enum\": [\n                                    \"http\",\n                                    \"https\",\n                                    \"http2\",\n                                    \"tcp\",\n                                    \"udp\"\n                                  ],\n                                  \"example\": \"http\",\n                                  \"type\": \"string\"\n                                },\n                                \"tls_passthrough\": {\n                                  \"description\": \"A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets.\",\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                }\n                              },\n                              \"required\": [\n                                \"entry_protocol\",\n                                \"entry_port\",\n                                \"target_protocol\",\n                                \"target_port\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"minItems\": 1,\n                            \"type\": \"array\"\n                          },\n                          \"health_check\": {\n                            \"description\": \"An object specifying health check settings for the load balancer.\",\n                            \"properties\": {\n                              \"check_interval_seconds\": {\n                                \"default\": 10,\n                                \"description\": \"The number of seconds between between two consecutive health checks.\",\n                                \"example\": 10,\n                                \"type\": \"integer\"\n                              },\n                              \"healthy_threshold\": {\n                                \"default\": 3,\n                                \"description\": \"The number of times a health check must pass for a backend Droplet to be marked \\\"healthy\\\" and be re-added to the pool.\",\n                                \"example\": 3,\n                                \"type\": \"integer\"\n                              },\n                              \"path\": {\n                                \"default\": \"/\",\n                                \"description\": \"The path on the backend Droplets to which the load balancer instance will send a request.\",\n                                \"example\": \"/\",\n                                \"type\": \"string\"\n                              },\n                              \"port\": {\n                                \"default\": 80,\n                                \"description\": \"An integer representing the port on the backend Droplets on which the health check will attempt a connection.\",\n                                \"example\": 80,\n                                \"type\": \"integer\"\n                              },\n                              \"protocol\": {\n                                \"default\": \"http\",\n                                \"description\": \"The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`.\",\n                                \"enum\": [\n                                  \"http\",\n                                  \"https\",\n                                  \"tcp\"\n                                ],\n                                \"example\": \"http\",\n                                \"type\": \"string\"\n                              },\n                              \"response_timeout_seconds\": {\n                                \"default\": 5,\n                                \"description\": \"The number of seconds the load balancer instance will wait for a response until marking a health check as failed.\",\n                                \"example\": 5,\n                                \"type\": \"integer\"\n                              },\n                              \"unhealthy_threshold\": {\n                                \"default\": 5,\n                                \"description\": \"The number of times a health check must fail for a backend Droplet to be marked \\\"unhealthy\\\" and be removed from the pool.\",\n                                \"example\": 5,\n                                \"type\": \"integer\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"http_idle_timeout_seconds\": {\n                            \"default\": 60,\n                            \"description\": \"An integer value which configures the idle timeout for HTTP requests to the target droplets.\",\n                            \"example\": 90,\n                            \"maximum\": 600,\n                            \"minimum\": 30,\n                            \"type\": \"integer\"\n                          },\n                          \"id\": {\n                            \"description\": \"A unique ID that can be used to identify and reference a load balancer.\",\n                            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"ip\": {\n                            \"description\": \"An attribute containing the public-facing IP address of the load balancer.\",\n                            \"example\": \"104.131.186.241\",\n                            \"pattern\": \"^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"A human-readable name for a load balancer instance.\",\n                            \"example\": \"example-lb-01\",\n                            \"type\": \"string\"\n                          },\n                          \"project_id\": {\n                            \"description\": \"The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created.\",\n                            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                            \"type\": \"string\"\n                          },\n                          \"redirect_http_to_https\": {\n                            \"default\": false,\n                            \"description\": \"A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443.\",\n                            \"example\": true,\n                            \"type\": \"boolean\"\n                          },\n                          \"size\": {\n                            \"default\": \"lb-small\",\n                            \"deprecated\": true,\n                            \"description\": \"This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes.\\n* `lb-small` = 1 node\\n* `lb-medium` = 3 nodes\\n* `lb-large` = 6 nodes\\n\\nYou can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation.\",\n                            \"enum\": [\n                              \"lb-small\",\n                              \"lb-medium\",\n                              \"lb-large\"\n                            ],\n                            \"example\": \"lb-small\",\n                            \"type\": \"string\"\n                          },\n                          \"size_unit\": {\n                            \"default\": 1,\n                            \"description\": \"How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions.\",\n                            \"example\": 3,\n                            \"maximum\": 100,\n                            \"minimum\": 1,\n                            \"type\": \"integer\"\n                          },\n                          \"status\": {\n                            \"description\": \"A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`.\",\n                            \"enum\": [\n                              \"new\",\n                              \"active\",\n                              \"errored\"\n                            ],\n                            \"example\": \"new\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"sticky_sessions\": {\n                            \"description\": \"An object specifying sticky sessions settings for the load balancer.\",\n                            \"properties\": {\n                              \"cookie_name\": {\n                                \"description\": \"The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                \"example\": \"DO-LB\",\n                                \"type\": \"string\"\n                              },\n                              \"cookie_ttl_seconds\": {\n                                \"description\": \"The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                \"example\": 300,\n                                \"type\": \"integer\"\n                              },\n                              \"type\": {\n                                \"default\": \"none\",\n                                \"description\": \"An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`.\",\n                                \"enum\": [\n                                  \"cookies\",\n                                  \"none\"\n                                ],\n                                \"example\": \"cookies\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"vpc_uuid\": {\n                            \"description\": \"A string specifying the UUID of the VPC to which the load balancer is assigned.\",\n                            \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                            \"format\": \"uuid\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"forwarding_rules\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ],\n                    \"required\": [\n                      \"tag\",\n                      \"region\"\n                    ],\n                    \"title\": \"Assign Droplets by Tag\"\n                  }\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"load_balancer_update_response\": {\n                    \"value\": {\n                      \"load_balancer\": {\n                        \"algorithm\": \"round_robin\",\n                        \"created_at\": \"2017-02-01T22:22:58Z\",\n                        \"disable_lets_encrypt_dns_records\": false,\n                        \"droplet_ids\": [\n                          3164444,\n                          3164445\n                        ],\n                        \"enable_backend_keepalive\": true,\n                        \"enable_proxy_protocol\": true,\n                        \"firewall\": {\n                          \"allow\": [\n                            \"ip:1.2.3.4\",\n                            \"cidr:2.3.4.0/24\"\n                          ],\n                          \"deny\": [\n                            \"cidr:1.2.0.0/16\",\n                            \"ip:2.3.4.5\"\n                          ]\n                        },\n                        \"forwarding_rules\": [\n                          {\n                            \"certificate_id\": \"\",\n                            \"entry_port\": 80,\n                            \"entry_protocol\": \"http\",\n                            \"target_port\": 80,\n                            \"target_protocol\": \"http\",\n                            \"tls_passthrough\": false\n                          },\n                          {\n                            \"certificate_id\": \"\",\n                            \"entry_port\": 443,\n                            \"entry_protocol\": \"https\",\n                            \"target_port\": 443,\n                            \"target_protocol\": \"https\",\n                            \"tls_passthrough\": true\n                          }\n                        ],\n                        \"health_check\": {\n                          \"check_interval_seconds\": 10,\n                          \"healthy_threshold\": 5,\n                          \"path\": \"/\",\n                          \"port\": 80,\n                          \"protocol\": \"http\",\n                          \"response_timeout_seconds\": 5,\n                          \"unhealthy_threshold\": 3\n                        },\n                        \"http_idle_timeout_seconds\": 60,\n                        \"id\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                        \"ip\": \"104.131.186.241\",\n                        \"name\": \"updated-example-lb-01\",\n                        \"project_id\": \"9cc10173-e9ea-4176-9dbc-a4cee4c4ff30\",\n                        \"redirect_http_to_https\": false,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        },\n                        \"size\": \"lb-small\",\n                        \"status\": \"new\",\n                        \"sticky_sessions\": {\n                          \"type\": \"none\"\n                        },\n                        \"tag\": \"\",\n                        \"vpc_uuid\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"load_balancer\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"algorithm\": {\n                              \"default\": \"round_robin\",\n                              \"deprecated\": true,\n                              \"description\": \"This field has been deprecated. You can no longer specify an algorithm for load balancers.\",\n                              \"enum\": [\n                                \"round_robin\",\n                                \"least_connections\"\n                              ],\n                              \"example\": \"round_robin\",\n                              \"type\": \"string\"\n                            },\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the load balancer was created.\",\n                              \"example\": \"2017-02-01T22:22:58Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"disable_lets_encrypt_dns_records\": {\n                              \"default\": false,\n                              \"description\": \"A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"enable_backend_keepalive\": {\n                              \"default\": false,\n                              \"description\": \"A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"enable_proxy_protocol\": {\n                              \"default\": false,\n                              \"description\": \"A boolean value indicating whether PROXY Protocol is in use.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"firewall\": {\n                              \"description\": \"An object specifying allow and deny rules to control traffic to the load balancer.\",\n                              \"properties\": {\n                                \"allow\": {\n                                  \"default\": [],\n                                  \"description\": \"the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                  \"example\": [\n                                    \"ip:1.2.3.4\",\n                                    \"cidr:2.3.0.0/16\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"deny\": {\n                                  \"default\": [],\n                                  \"description\": \"the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')\",\n                                  \"example\": [\n                                    \"ip:1.2.3.4\",\n                                    \"cidr:2.3.0.0/16\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"forwarding_rules\": {\n                              \"description\": \"An array of objects specifying the forwarding rules for a load balancer.\",\n                              \"items\": {\n                                \"description\": \"An object specifying a forwarding rule for a load balancer.\",\n                                \"properties\": {\n                                  \"certificate_id\": {\n                                    \"description\": \"The ID of the TLS certificate used for SSL termination if enabled.\",\n                                    \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"entry_port\": {\n                                    \"description\": \"An integer representing the port on which the load balancer instance will listen.\",\n                                    \"example\": 443,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"entry_protocol\": {\n                                    \"description\": \"The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the  `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`.  When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                    \"enum\": [\n                                      \"http\",\n                                      \"https\",\n                                      \"http2\",\n                                      \"http3\",\n                                      \"tcp\",\n                                      \"udp\"\n                                    ],\n                                    \"example\": \"https\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"target_port\": {\n                                    \"description\": \"An integer representing the port on the backend Droplets to which the load balancer will send traffic.\",\n                                    \"example\": 80,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"target_protocol\": {\n                                    \"description\": \"The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to  `udp`. When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                                    \"enum\": [\n                                      \"http\",\n                                      \"https\",\n                                      \"http2\",\n                                      \"tcp\",\n                                      \"udp\"\n                                    ],\n                                    \"example\": \"http\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"tls_passthrough\": {\n                                    \"description\": \"A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets.\",\n                                    \"example\": false,\n                                    \"type\": \"boolean\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"entry_protocol\",\n                                  \"entry_port\",\n                                  \"target_protocol\",\n                                  \"target_port\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"minItems\": 1,\n                              \"type\": \"array\"\n                            },\n                            \"health_check\": {\n                              \"description\": \"An object specifying health check settings for the load balancer.\",\n                              \"properties\": {\n                                \"check_interval_seconds\": {\n                                  \"default\": 10,\n                                  \"description\": \"The number of seconds between between two consecutive health checks.\",\n                                  \"example\": 10,\n                                  \"type\": \"integer\"\n                                },\n                                \"healthy_threshold\": {\n                                  \"default\": 3,\n                                  \"description\": \"The number of times a health check must pass for a backend Droplet to be marked \\\"healthy\\\" and be re-added to the pool.\",\n                                  \"example\": 3,\n                                  \"type\": \"integer\"\n                                },\n                                \"path\": {\n                                  \"default\": \"/\",\n                                  \"description\": \"The path on the backend Droplets to which the load balancer instance will send a request.\",\n                                  \"example\": \"/\",\n                                  \"type\": \"string\"\n                                },\n                                \"port\": {\n                                  \"default\": 80,\n                                  \"description\": \"An integer representing the port on the backend Droplets on which the health check will attempt a connection.\",\n                                  \"example\": 80,\n                                  \"type\": \"integer\"\n                                },\n                                \"protocol\": {\n                                  \"default\": \"http\",\n                                  \"description\": \"The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`.\",\n                                  \"enum\": [\n                                    \"http\",\n                                    \"https\",\n                                    \"tcp\"\n                                  ],\n                                  \"example\": \"http\",\n                                  \"type\": \"string\"\n                                },\n                                \"response_timeout_seconds\": {\n                                  \"default\": 5,\n                                  \"description\": \"The number of seconds the load balancer instance will wait for a response until marking a health check as failed.\",\n                                  \"example\": 5,\n                                  \"type\": \"integer\"\n                                },\n                                \"unhealthy_threshold\": {\n                                  \"default\": 5,\n                                  \"description\": \"The number of times a health check must fail for a backend Droplet to be marked \\\"unhealthy\\\" and be removed from the pool.\",\n                                  \"example\": 5,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"http_idle_timeout_seconds\": {\n                              \"default\": 60,\n                              \"description\": \"An integer value which configures the idle timeout for HTTP requests to the target droplets.\",\n                              \"example\": 90,\n                              \"maximum\": 600,\n                              \"minimum\": 30,\n                              \"type\": \"integer\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference a load balancer.\",\n                              \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"ip\": {\n                              \"description\": \"An attribute containing the public-facing IP address of the load balancer.\",\n                              \"example\": \"104.131.186.241\",\n                              \"pattern\": \"^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for a load balancer instance.\",\n                              \"example\": \"example-lb-01\",\n                              \"type\": \"string\"\n                            },\n                            \"project_id\": {\n                              \"description\": \"The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created.\",\n                              \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n                              \"type\": \"string\"\n                            },\n                            \"redirect_http_to_https\": {\n                              \"default\": false,\n                              \"description\": \"A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"size\": {\n                              \"default\": \"lb-small\",\n                              \"deprecated\": true,\n                              \"description\": \"This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes.\\n* `lb-small` = 1 node\\n* `lb-medium` = 3 nodes\\n* `lb-large` = 6 nodes\\n\\nYou can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation.\",\n                              \"enum\": [\n                                \"lb-small\",\n                                \"lb-medium\",\n                                \"lb-large\"\n                              ],\n                              \"example\": \"lb-small\",\n                              \"type\": \"string\"\n                            },\n                            \"size_unit\": {\n                              \"default\": 1,\n                              \"description\": \"How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions.\",\n                              \"example\": 3,\n                              \"maximum\": 100,\n                              \"minimum\": 1,\n                              \"type\": \"integer\"\n                            },\n                            \"status\": {\n                              \"description\": \"A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`.\",\n                              \"enum\": [\n                                \"new\",\n                                \"active\",\n                                \"errored\"\n                              ],\n                              \"example\": \"new\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"sticky_sessions\": {\n                              \"description\": \"An object specifying sticky sessions settings for the load balancer.\",\n                              \"properties\": {\n                                \"cookie_name\": {\n                                  \"description\": \"The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                  \"example\": \"DO-LB\",\n                                  \"type\": \"string\"\n                                },\n                                \"cookie_ttl_seconds\": {\n                                  \"description\": \"The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type.\",\n                                  \"example\": 300,\n                                  \"type\": \"integer\"\n                                },\n                                \"type\": {\n                                  \"default\": \"none\",\n                                  \"description\": \"An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`.\",\n                                  \"enum\": [\n                                    \"cookies\",\n                                    \"none\"\n                                  ],\n                                  \"example\": \"cookies\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"vpc_uuid\": {\n                              \"description\": \"A string specifying the UUID of the VPC to which the load balancer is assigned.\",\n                              \"example\": \"c33931f2-a26a-4e61-b85c-4e95a2ec431b\",\n                              \"format\": \"uuid\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"forwarding_rules\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"region\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"The region where the load balancer instance is located. When setting a region, the value should be the slug identifier for the region. When you query a load balancer, an entire region object will be returned.\"\n                                },\n                                {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"features\": {\n                                      \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                      \"example\": [\n                                        \"private_networking\",\n                                        \"backups\",\n                                        \"ipv6\",\n                                        \"metadata\",\n                                        \"install_agent\",\n                                        \"storage\",\n                                        \"image_transfer\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                      \"example\": \"New York 3\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"sizes\": {\n                                      \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                      \"example\": [\n                                        \"s-1vcpu-1gb\",\n                                        \"s-1vcpu-2gb\",\n                                        \"s-1vcpu-3gb\",\n                                        \"s-2vcpu-2gb\",\n                                        \"s-3vcpu-1gb\",\n                                        \"s-2vcpu-4gb\",\n                                        \"s-4vcpu-8gb\",\n                                        \"s-6vcpu-16gb\",\n                                        \"s-8vcpu-32gb\",\n                                        \"s-12vcpu-48gb\",\n                                        \"s-16vcpu-64gb\",\n                                        \"s-20vcpu-96gb\",\n                                        \"s-24vcpu-128gb\",\n                                        \"s-32vcpu-192g\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                      \"example\": \"nyc3\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"features\",\n                                    \"name\",\n                                    \"sizes\",\n                                    \"slug\"\n                                  ],\n                                  \"type\": \"object\"\n                                }\n                              ],\n                              \"type\": \"object\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"droplet_ids\": {\n                              \"description\": \"An array containing the IDs of the Droplets assigned to the load balancer.\",\n                              \"example\": [\n                                3164444,\n                                3164445\n                              ],\n                              \"items\": {\n                                \"type\": \"integer\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          }\n                        },\n                        {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"tag\": {\n                              \"description\": \"The name of a Droplet tag corresponding to Droplets assigned to the load balancer.\",\n                              \"example\": \"prod:web\",\n                              \"type\": \"string\"\n                            }\n                          }\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `load_balancer`. The\\nvalue of this will be an object containing the standard attributes of a\\nload balancer.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update a Load Balancer\",\n        \"tags\": [\n          \"Load Balancers\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"example-lb-01\\\",\\\"size_unit\\\":\\\"2\\\",\\\"region\\\":\\\"nyc3\\\",\\\"algorithm\\\":\\\"least_connections\\\",\\\"forwarding_rules\\\":[{\\\"entry_protocol\\\":\\\"http\\\",\\\"entry_port\\\":80,\\\"target_protocol\\\":\\\"http\\\",\\\"target_port\\\":80},{\\\"entry_protocol\\\":\\\"https\\\",\\\"entry_port\\\":444,\\\"target_protocol\\\":\\\"https\\\",\\\"target_port\\\":443,\\\"tls_passthrough\\\":true}],\\\"health_check\\\":{\\\"protocol\\\":\\\"http\\\",\\\"port\\\":80,\\\"path\\\":\\\"/\\\",\\\"check_interval_seconds\\\":10,\\\"response_timeout_seconds\\\":5,\\\"healthy_threshold\\\":5,\\\"unhealthy_threshold\\\":3},\\\"sticky_sessions\\\":{\\\"type\\\":\\\"cookies\\\", \\\"cookie_name\\\": \\\"DO_LB\\\", \\\"cookie_ttl_seconds\\\": 300}, \\\"firewall\\\":{\\\"deny\\\":[\\\"ip:1.2.3.4\\\",\\\"cidr:2.3.4.0/24\\\"], \\\"allow\\\":[\\\"cidr:1.2.0.0/16\\\",\\\"ip:2.3.4.5\\\"]}, \\\"droplet_ids\\\": [3164444, 3164445]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/load_balancers/4de7ac8b-495b-4884-9a69-1050c6793cd6\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    updateRequest := &godo.LoadBalancerRequest{\\n        Name:      \\\"example-01\\\",\\n        SizeUnit: \\\"2\\\",\\n        Algorithm: \\\"round_robin\\\",\\n        Region:    \\\"nyc3\\\",\\n        ForwardingRules: []godo.ForwardingRule{\\n            {\\n                EntryProtocol:  \\\"http\\\",\\n                EntryPort:      80,\\n                TargetProtocol: \\\"http\\\",\\n                TargetPort:     80,\\n            },\\n            {\\n                EntryProtocol:  \\\"https\\\",\\n                EntryPort:      443,\\n                TargetProtocol: \\\"https\\\",\\n                TargetPort:     443,\\n                TlsPassthrough: true,\\n            },\\n        },\\n        HealthCheck: &godo.HealthCheck{\\n            Protocol:               \\\"http\\\",\\n            Port:                   80,\\n            Path:                   \\\"/\\\",\\n            CheckIntervalSeconds:   10,\\n            ResponseTimeoutSeconds: 5,\\n            HealthyThreshold:       5,\\n            UnhealthyThreshold:     3,\\n        },\\n        StickySessions: &godo.StickySessions{\\n            Type:             \\\"cookies\\\",\\n            CookieName:       \\\"DO_LB\\\",\\n            CookieTtlSeconds: 300,\\n        },\\n        DropletIDs:          []int{3164444, 3164445},\\n        RedirectHttpToHttps: false,\\n        Firewall:            &godo.LBFirewall{\\n            Deny: []string{\\\"ip:1.2.3.4\\\", \\\"cidr:2.3.4.0/24\\\"},\\n            Allow: []string{\\\"cidr:1.2.0.0/16\\\", \\\"ip:2.3.4.5\\\"},\\n        }\\n    }\\n\\n    lb, _, err := c.LoadBalancers.Update(ctx, \\\"c2c97ca7-6f63-4e23-8909-906fd86efb5e\\\", updateRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nload_balancer = DropletKit::LoadBalancer.new(\\n  name: 'example-lb-01',\\n  size_unit: '2',\\n  algorithm: 'round_robin',\\n  droplet_ids: [ 3164444, 3164445],\\n  redirect_http_to_https: true,\\n  region: 'nyc3',\\n  forwarding_rules: [\\n    DropletKit::ForwardingRule.new(\\n      entry_protocol: 'http',\\n      entry_port: 80,\\n      target_protocol: 'http',\\n      target_port: 80,\\n      certificate_id: '',\\n      tls_passthrough: false\\n    ),\\n    DropletKit::ForwardingRule.new(\\n      entry_protocol: 'https',\\n      entry_port: 443,\\n      target_protocol: 'https',\\n      target_port: 443,\\n      certificate_id: '',\\n      tls_passthrough: true\\n    )\\n  ],\\n  sticky_sessions: DropletKit::StickySession.new(\\n    type: 'cookies',\\n    cookie_name: 'DO-LB-COOKIE',\\n    cookie_ttl_seconds: 5\\n  ),\\n  health_check: DropletKit::HealthCheck.new(\\n    protocol: 'http',\\n    port: 80,\\n    path: '/',\\n    check_interval_seconds: 10,\\n    response_timeout_seconds: 5,\\n    healthy_threshold: 5,\\n    unhealthy_threshold: 3\\n  )\\n)\\nclient.load_balancers.update(load_balancer, id: '4de7ac8b-495b-4884-9a69-1050c6793cd6')\"\n          }\n        ]\n      }\n    },\n    \"/v2/load_balancers/{lb_id}/droplets\": {\n      \"delete\": {\n        \"description\": \"To remove a Droplet from a load balancer instance, send a DELETE request to\\n`/v2/load_balancers/$LOAD_BALANCER_ID/droplets`. In the body of the request,\\nthere should be a `droplet_ids` attribute containing a list of Droplet IDs.\\n\\nNo response body will be sent back, but the response code will indicate\\nsuccess. Specifically, the response code will be a 204, which means that the\\naction was successful with no returned body data.\\n\",\n        \"operationId\": \"loadBalancers_remove_droplets\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a load balancer.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"lb_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"required\": [\n                  \"droplet_ids\"\n                ],\n                \"properties\": {\n                  \"droplet_ids\": {\n                    \"description\": \"An array containing the IDs of the Droplets assigned to the load balancer.\",\n                    \"example\": [\n                      3164444,\n                      3164445\n                    ],\n                    \"items\": {\n                      \"type\": \"integer\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Remove Droplets from a Load Balancer\",\n        \"tags\": [\n          \"Load Balancers\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"droplet_ids\\\": [3164446, 3164447]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/load_balancers/4de7ac8b-495b-4884-9a69-1050c6793cd6/droplets\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    droplets := []int{3164446, 3164447}\\n    _, err := client.LoadBalancers.RemoveDroplets(ctx, \\\"4de7ac8b-495b-4884-9a69-1050c6793cd6\\\", droplets...)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.load_balancers.remove_droplets([3164446, 3164447], id: '4de7ac8b-495b-4884-9a69-1050c6793cd6')\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To assign a Droplet to a load balancer instance, send a POST request to\\n`/v2/load_balancers/$LOAD_BALANCER_ID/droplets`. In the body of the request,\\nthere should be a `droplet_ids` attribute containing a list of Droplet IDs.\\nIndividual Droplets can not be added to a load balancer configured with a\\nDroplet tag. Attempting to do so will result in a \\\"422 Unprocessable Entity\\\"\\nresponse from the API.\\n\\nNo response body will be sent back, but the response code will indicate\\nsuccess. Specifically, the response code will be a 204, which means that the\\naction was successful with no returned body data.\\n\",\n        \"operationId\": \"loadBalancers_add_droplets\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a load balancer.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"lb_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"required\": [\n                  \"droplet_ids\"\n                ],\n                \"properties\": {\n                  \"droplet_ids\": {\n                    \"description\": \"An array containing the IDs of the Droplets assigned to the load balancer.\",\n                    \"example\": [\n                      3164444,\n                      3164445\n                    ],\n                    \"items\": {\n                      \"type\": \"integer\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Add Droplets to a Load Balancer\",\n        \"tags\": [\n          \"Load Balancers\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"droplet_ids\\\": [3164446, 3164447]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/load_balancers/4de7ac8b-495b-4884-9a69-1050c6793cd6/droplets\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    droplets := []int{3164446, 3164447}\\n    _, err := client.LoadBalancers.AddDroplets(ctx, \\\"4de7ac8b-495b-4884-9a69-1050c6793cd6\\\", droplets...)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.load_balancers.add_droplets([3164446, 3164447], id: '4de7ac8b-495b-4884-9a69-1050c6793cd6')\"\n          }\n        ]\n      }\n    },\n    \"/v2/load_balancers/{lb_id}/forwarding_rules\": {\n      \"delete\": {\n        \"description\": \"To remove forwarding rules from a load balancer instance, send a DELETE\\nrequest to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`. In the\\nbody of the request, there should be a `forwarding_rules` attribute containing\\nan array of rules to be removed.\\n\\nNo response body will be sent back, but the response code will indicate\\nsuccess. Specifically, the response code will be a 204, which means that the\\naction was successful with no returned body data.\\n\",\n        \"operationId\": \"loadBalancers_remove_forwardingRules\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a load balancer.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"lb_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"forwarding_rules\": {\n                    \"items\": {\n                      \"description\": \"An object specifying a forwarding rule for a load balancer.\",\n                      \"properties\": {\n                        \"certificate_id\": {\n                          \"description\": \"The ID of the TLS certificate used for SSL termination if enabled.\",\n                          \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                          \"type\": \"string\"\n                        },\n                        \"entry_port\": {\n                          \"description\": \"An integer representing the port on which the load balancer instance will listen.\",\n                          \"example\": 443,\n                          \"type\": \"integer\"\n                        },\n                        \"entry_protocol\": {\n                          \"description\": \"The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the  `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`.  When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                          \"enum\": [\n                            \"http\",\n                            \"https\",\n                            \"http2\",\n                            \"http3\",\n                            \"tcp\",\n                            \"udp\"\n                          ],\n                          \"example\": \"https\",\n                          \"type\": \"string\"\n                        },\n                        \"target_port\": {\n                          \"description\": \"An integer representing the port on the backend Droplets to which the load balancer will send traffic.\",\n                          \"example\": 80,\n                          \"type\": \"integer\"\n                        },\n                        \"target_protocol\": {\n                          \"description\": \"The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to  `udp`. When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                          \"enum\": [\n                            \"http\",\n                            \"https\",\n                            \"http2\",\n                            \"tcp\",\n                            \"udp\"\n                          ],\n                          \"example\": \"http\",\n                          \"type\": \"string\"\n                        },\n                        \"tls_passthrough\": {\n                          \"description\": \"A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets.\",\n                          \"example\": false,\n                          \"type\": \"boolean\"\n                        }\n                      },\n                      \"required\": [\n                        \"entry_protocol\",\n                        \"entry_port\",\n                        \"target_protocol\",\n                        \"target_port\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"minItems\": 1,\n                    \"type\": \"array\"\n                  }\n                },\n                \"required\": [\n                  \"forwarding_rules\"\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Remove Forwarding Rules from a Load Balancer\",\n        \"tags\": [\n          \"Load Balancers\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"forwarding_rules\\\": [{\\\"entry_protocol\\\": \\\"tcp\\\",\\\"entry_port\\\": 3306,\\\"target_protocol\\\": \\\"tcp\\\",\\\"target_port\\\": 3306}]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/load_balancers/4de7ac8b-495b-4884-9a69-1050c6793cd6/forwarding_rules\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    forwardingRule := []godo.ForwardingRule{\\n        {\\n            EntryProtocol:  \\\"tcp\\\",\\n            EntryPort:      3306,\\n            TargetProtocol: \\\"tcp\\\",\\n            TargetPort:     3306,\\n        },\\n    }\\n\\n    _, err := client.LoadBalancers.RemoveForwardingRules(ctx, \\\"4de7ac8b-495b-4884-9a69-1050c6793cd6\\\", forwardingRule...)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nrule = DropletKit::ForwardingRule.new(\\n  entry_protocol: 'tcp',\\n  entry_port: 3306,\\n  target_protocol: 'tcp',\\n  target_port: 3306,\\n  certificate_id: '',\\n  tls_passthrough: false\\n)\\nclient.load_balancers.remove_forwarding_rules([rule], id: '4de7ac8b-495b-4884-9a69-1050c6793cd6')\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To add an additional forwarding rule to a load balancer instance, send a POST\\nrequest to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`. In the body\\nof the request, there should be a `forwarding_rules` attribute containing an\\narray of rules to be added.\\n\\nNo response body will be sent back, but the response code will indicate\\nsuccess. Specifically, the response code will be a 204, which means that the\\naction was successful with no returned body data.\\n\",\n        \"operationId\": \"loadBalancers_add_forwardingRules\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a load balancer.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"lb_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"forwarding_rules\": {\n                    \"items\": {\n                      \"description\": \"An object specifying a forwarding rule for a load balancer.\",\n                      \"properties\": {\n                        \"certificate_id\": {\n                          \"description\": \"The ID of the TLS certificate used for SSL termination if enabled.\",\n                          \"example\": \"892071a0-bb95-49bc-8021-3afd67a210bf\",\n                          \"type\": \"string\"\n                        },\n                        \"entry_port\": {\n                          \"description\": \"An integer representing the port on which the load balancer instance will listen.\",\n                          \"example\": 443,\n                          \"type\": \"integer\"\n                        },\n                        \"entry_protocol\": {\n                          \"description\": \"The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the  `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`.  When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                          \"enum\": [\n                            \"http\",\n                            \"https\",\n                            \"http2\",\n                            \"http3\",\n                            \"tcp\",\n                            \"udp\"\n                          ],\n                          \"example\": \"https\",\n                          \"type\": \"string\"\n                        },\n                        \"target_port\": {\n                          \"description\": \"An integer representing the port on the backend Droplets to which the load balancer will send traffic.\",\n                          \"example\": 80,\n                          \"type\": \"integer\"\n                        },\n                        \"target_protocol\": {\n                          \"description\": \"The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to  `udp`. When using UDP, the load balancer requires that you set up a health  check with a port that uses TCP, HTTP, or HTTPS to work properly.\\n\",\n                          \"enum\": [\n                            \"http\",\n                            \"https\",\n                            \"http2\",\n                            \"tcp\",\n                            \"udp\"\n                          ],\n                          \"example\": \"http\",\n                          \"type\": \"string\"\n                        },\n                        \"tls_passthrough\": {\n                          \"description\": \"A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets.\",\n                          \"example\": false,\n                          \"type\": \"boolean\"\n                        }\n                      },\n                      \"required\": [\n                        \"entry_protocol\",\n                        \"entry_port\",\n                        \"target_protocol\",\n                        \"target_port\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"minItems\": 1,\n                    \"type\": \"array\"\n                  }\n                },\n                \"required\": [\n                  \"forwarding_rules\"\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Add Forwarding Rules to a Load Balancer\",\n        \"tags\": [\n          \"Load Balancers\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"forwarding_rules\\\": [{\\\"entry_protocol\\\": \\\"tcp\\\",\\\"entry_port\\\": 3306,\\\"target_protocol\\\": \\\"tcp\\\",\\\"target_port\\\": 3306}]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/load_balancers/4de7ac8b-495b-4884-9a69-1050c6793cd6/forwarding_rules\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    forwardingRule := []godo.ForwardingRule{\\n        {\\n            EntryProtocol:  \\\"tcp\\\",\\n            EntryPort:      3306,\\n            TargetProtocol: \\\"tcp\\\",\\n            TargetPort:     3306,\\n        },\\n    }\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nrule = DropletKit::ForwardingRule.new(\\n  entry_protocol: 'tcp',\\n  entry_port: 3306,\\n  target_protocol: 'tcp',\\n  target_port: 3306,\\n  certificate_id: '',\\n  tls_passthrough: false\\n)\\nclient.load_balancers.add_forwarding_rules([rule], id: '4de7ac8b-495b-4884-9a69-1050c6793cd6')\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/alerts\": {\n      \"get\": {\n        \"description\": \"Returns all alert policies that are configured for the given account. To List all alert policies, send a GET request to `/v2/monitoring/alerts`.\",\n        \"operationId\": \"monitoring_list_alertPolicy\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"policies\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"alerts\": {\n                                \"properties\": {\n                                  \"email\": {\n                                    \"description\": \"An email to notify on an alert trigger.\",\n                                    \"example\": [\n                                      \"bob@exmaple.com\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"slack\": {\n                                    \"description\": \"Slack integration details.\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"channel\": {\n                                          \"description\": \"Slack channel to notify of an alert trigger.\",\n                                          \"example\": \"Production Alerts\",\n                                          \"type\": \"string\"\n                                        },\n                                        \"url\": {\n                                          \"description\": \"Slack Webhook URL.\",\n                                          \"example\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"required\": [\n                                        \"url\",\n                                        \"channel\"\n                                      ],\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"slack\",\n                                  \"email\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"compare\": {\n                                \"enum\": [\n                                  \"GreaterThan\",\n                                  \"LessThan\"\n                                ],\n                                \"example\": \"GreaterThan\",\n                                \"type\": \"string\"\n                              },\n                              \"description\": {\n                                \"example\": \"CPU Alert\",\n                                \"type\": \"string\"\n                              },\n                              \"enabled\": {\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"entities\": {\n                                \"example\": [\n                                  \"192018292\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"tags\": {\n                                \"example\": [\n                                  \"droplet_tag\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"type\": {\n                                \"enum\": [\n                                  \"v1/insights/droplet/load_1\",\n                                  \"v1/insights/droplet/load_5\",\n                                  \"v1/insights/droplet/load_15\",\n                                  \"v1/insights/droplet/memory_utilization_percent\",\n                                  \"v1/insights/droplet/disk_utilization_percent\",\n                                  \"v1/insights/droplet/cpu\",\n                                  \"v1/insights/droplet/disk_read\",\n                                  \"v1/insights/droplet/disk_write\",\n                                  \"v1/insights/droplet/public_outbound_bandwidth\",\n                                  \"v1/insights/droplet/public_inbound_bandwidth\",\n                                  \"v1/insights/droplet/private_outbound_bandwidth\",\n                                  \"v1/insights/droplet/private_inbound_bandwidth\",\n                                  \"v1/insights/lbaas/avg_cpu_utilization_percent\",\n                                  \"v1/insights/lbaas/connection_utilization_percent\",\n                                  \"v1/insights/lbaas/droplet_health\",\n                                  \"v1/insights/lbaas/tls_connections_per_second_utilization_percent\",\n                                  \"v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx\",\n                                  \"v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx\",\n                                  \"v1/insights/lbaas/increase_in_http_error_rate_count_5xx\",\n                                  \"v1/insights/lbaas/increase_in_http_error_rate_count_4xx\",\n                                  \"v1/insights/lbaas/high_http_request_response_time\",\n                                  \"v1/insights/lbaas/high_http_request_response_time_50p\",\n                                  \"v1/insights/lbaas/high_http_request_response_time_95p\",\n                                  \"v1/insights/lbaas/high_http_request_response_time_99p\",\n                                  \"v1/dbaas/alerts/load_15_alerts\",\n                                  \"v1/dbaas/alerts/memory_utilization_alerts\",\n                                  \"v1/dbaas/alerts/disk_utilization_alerts\",\n                                  \"v1/dbaas/alerts/cpu_alerts\"\n                                ],\n                                \"example\": \"v1/insights/droplet/cpu\",\n                                \"type\": \"string\"\n                              },\n                              \"uuid\": {\n                                \"example\": \"78b3da62-27e5-49ba-ac70-5db0b5935c64\",\n                                \"type\": \"string\"\n                              },\n                              \"value\": {\n                                \"example\": 80,\n                                \"format\": \"float\",\n                                \"type\": \"number\"\n                              },\n                              \"window\": {\n                                \"enum\": [\n                                  \"5m\",\n                                  \"10m\",\n                                  \"30m\",\n                                  \"1h\"\n                                ],\n                                \"example\": \"5m\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"uuid\",\n                              \"type\",\n                              \"description\",\n                              \"compare\",\n                              \"value\",\n                              \"window\",\n                              \"entities\",\n                              \"tags\",\n                              \"alerts\",\n                              \"enabled\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"required\": [\n                        \"policies\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {\n                      \"first\": \"https//api.digitalocean.com/v2/monitoring/alerts?page=1&per_page=10\",\n                      \"last\": \"https//api.digitalocean.com/v2/monitoring/alerts?page=5&per_page=10\",\n                      \"next\": \"https//api.digitalocean.com/v2/monitoring/alerts?page=4&per_page=10\",\n                      \"prev\": \"https//api.digitalocean.com/v2/monitoring/alerts?page=2&per_page=10\"\n                    },\n                    \"meta\": {\n                      \"total\": 50\n                    },\n                    \"policies\": [\n                      {\n                        \"alerts\": {\n                          \"email\": [\n                            \"bob@example.com\"\n                          ],\n                          \"slack\": [\n                            {\n                              \"channel\": \"Production Alerts\",\n                              \"url\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\\\"\"\n                            }\n                          ]\n                        },\n                        \"compare\": \"GreaterThan\",\n                        \"description\": \"CPU Alert\",\n                        \"enabled\": true,\n                        \"entities\": [\n                          192018292\n                        ],\n                        \"tags\": [\n                          \"production_droplets\"\n                        ],\n                        \"type\": \"v1/insights/droplet/cpu\",\n                        \"uuid\": \"78b3da62-27e5-49ba-ac70-5db0b5935c64\",\n                        \"value\": 80,\n                        \"window\": \"5m\"\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"A list of alert policies.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Alert Policies\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/alerts\\\"\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a new alert, send a POST request to `/v2/monitoring/alerts`.\",\n        \"operationId\": \"monitoring_create_alertPolicy\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"alerts\": {\n                    \"properties\": {\n                      \"email\": {\n                        \"description\": \"An email to notify on an alert trigger.\",\n                        \"example\": [\n                          \"bob@exmaple.com\"\n                        ],\n                        \"items\": {\n                          \"type\": \"string\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"slack\": {\n                        \"description\": \"Slack integration details.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"channel\": {\n                              \"description\": \"Slack channel to notify of an alert trigger.\",\n                              \"example\": \"Production Alerts\",\n                              \"type\": \"string\"\n                            },\n                            \"url\": {\n                              \"description\": \"Slack Webhook URL.\",\n                              \"example\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"url\",\n                            \"channel\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      }\n                    },\n                    \"required\": [\n                      \"slack\",\n                      \"email\"\n                    ],\n                    \"type\": \"object\"\n                  },\n                  \"compare\": {\n                    \"enum\": [\n                      \"GreaterThan\",\n                      \"LessThan\"\n                    ],\n                    \"example\": \"GreaterThan\",\n                    \"type\": \"string\"\n                  },\n                  \"description\": {\n                    \"example\": \"CPU Alert\",\n                    \"type\": \"string\"\n                  },\n                  \"enabled\": {\n                    \"example\": true,\n                    \"type\": \"boolean\"\n                  },\n                  \"entities\": {\n                    \"example\": [\n                      \"192018292\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"tags\": {\n                    \"example\": [\n                      \"droplet_tag\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"type\": {\n                    \"enum\": [\n                      \"v1/insights/droplet/load_1\",\n                      \"v1/insights/droplet/load_5\",\n                      \"v1/insights/droplet/load_15\",\n                      \"v1/insights/droplet/memory_utilization_percent\",\n                      \"v1/insights/droplet/disk_utilization_percent\",\n                      \"v1/insights/droplet/cpu\",\n                      \"v1/insights/droplet/disk_read\",\n                      \"v1/insights/droplet/disk_write\",\n                      \"v1/insights/droplet/public_outbound_bandwidth\",\n                      \"v1/insights/droplet/public_inbound_bandwidth\",\n                      \"v1/insights/droplet/private_outbound_bandwidth\",\n                      \"v1/insights/droplet/private_inbound_bandwidth\",\n                      \"v1/insights/lbaas/avg_cpu_utilization_percent\",\n                      \"v1/insights/lbaas/connection_utilization_percent\",\n                      \"v1/insights/lbaas/droplet_health\",\n                      \"v1/insights/lbaas/tls_connections_per_second_utilization_percent\",\n                      \"v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx\",\n                      \"v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx\",\n                      \"v1/insights/lbaas/increase_in_http_error_rate_count_5xx\",\n                      \"v1/insights/lbaas/increase_in_http_error_rate_count_4xx\",\n                      \"v1/insights/lbaas/high_http_request_response_time\",\n                      \"v1/insights/lbaas/high_http_request_response_time_50p\",\n                      \"v1/insights/lbaas/high_http_request_response_time_95p\",\n                      \"v1/insights/lbaas/high_http_request_response_time_99p\",\n                      \"v1/dbaas/alerts/load_15_alerts\",\n                      \"v1/dbaas/alerts/memory_utilization_alerts\",\n                      \"v1/dbaas/alerts/disk_utilization_alerts\",\n                      \"v1/dbaas/alerts/cpu_alerts\"\n                    ],\n                    \"example\": \"v1/insights/droplet/cpu\",\n                    \"type\": \"string\"\n                  },\n                  \"value\": {\n                    \"example\": 80,\n                    \"format\": \"float\",\n                    \"type\": \"number\"\n                  },\n                  \"window\": {\n                    \"enum\": [\n                      \"5m\",\n                      \"10m\",\n                      \"30m\",\n                      \"1h\"\n                    ],\n                    \"example\": \"5m\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"type\",\n                  \"description\",\n                  \"compare\",\n                  \"value\",\n                  \"window\",\n                  \"entities\",\n                  \"tags\",\n                  \"alerts\",\n                  \"enabled\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"description\": \"The `type` field dictates what type of entity that the alert policy applies to and hence what type of entity is passed in the `entities` array. If both the `tags` array and `entities` array are empty the alert policy applies to all entities of the relevant type that are owned by the user account. Otherwise the following table shows the valid entity types for each type of alert policy:\\n\\nType | Description | Valid Entity Type\\n-----|-------------|--------------------\\n`v1/insights/droplet/memory_utilization_percent` | alert on the percent of memory utilization | Droplet ID\\n`v1/insights/droplet/disk_read` | alert on the rate of disk read I/O in MBps | Droplet ID\\n`v1/insights/droplet/load_5` | alert on the 5 minute load average | Droplet ID\\n`v1/insights/droplet/load_15` | alert on the 15 minute load average | Droplet ID\\n`v1/insights/droplet/disk_utilization_percent` | alert on the percent of disk utilization | Droplet ID\\n`v1/insights/droplet/cpu` | alert on the percent of CPU utilization | Droplet ID\\n`v1/insights/droplet/disk_write` | alert on the rate of disk write I/O in MBps | Droplet ID\\n`v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of public outbound bandwidth in Mbps | Droplet ID\\n`v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of public inbound bandwidth in Mbps | Droplet ID\\n`v1/insights/droplet/private_outbound_bandwidth` | alert on the rate of private outbound bandwidth in Mbps | Droplet ID\\n`v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of private inbound bandwidth in Mbps | Droplet ID\\n`v1/insights/droplet/load_1` | alert on the 1 minute load average | Droplet ID\\n`v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent of CPU utilization|load balancer ID\\n`v1/insights/lbaas/connection_utilization_percent`|alert on the percent of connection utilization|load balancer ID\\n`v1/insights/lbaas/droplet_health`|alert on Droplet health status changes|load balancer ID\\n`v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert on the percent of TLS connections per second utilization|load balancer ID\\n`v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert on the percent increase of 5xx level http errors over 5m|load balancer ID\\n`v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert on the percent increase of 4xx level http errors over 5m|load balancer ID\\n`v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the count of 5xx level http errors over 5m|load balancer ID\\n`v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the count of 4xx level http errors over 5m|load balancer ID\\n`v1/insights/lbaas/high_http_request_response_time`|alert on high average http response time|load balancer ID\\n`v1/insights/lbaas/high_http_request_response_time_50p`|alert on high 50th percentile http response time|load balancer ID\\n`v1/insights/lbaas/high_http_request_response_time_95p`|alert on high 95th percentile http response time|load balancer ID\\n`v1/insights/lbaas/high_http_request_response_time_99p`|alert on high 99th percentile http response time|load balancer ID\\n`v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average across the database cluster | database cluster UUID\\n`v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent memory utilization average across the database cluster | database cluster UUID\\n`v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk utilization average across the database cluster | database cluster UUID\\n`v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average across the database cluster | database cluster UUID\\n\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"policy\": {\n                      \"properties\": {\n                        \"alerts\": {\n                          \"properties\": {\n                            \"email\": {\n                              \"description\": \"An email to notify on an alert trigger.\",\n                              \"example\": [\n                                \"bob@exmaple.com\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"slack\": {\n                              \"description\": \"Slack integration details.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"channel\": {\n                                    \"description\": \"Slack channel to notify of an alert trigger.\",\n                                    \"example\": \"Production Alerts\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"url\": {\n                                    \"description\": \"Slack Webhook URL.\",\n                                    \"example\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"url\",\n                                  \"channel\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"slack\",\n                            \"email\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"compare\": {\n                          \"enum\": [\n                            \"GreaterThan\",\n                            \"LessThan\"\n                          ],\n                          \"example\": \"GreaterThan\",\n                          \"type\": \"string\"\n                        },\n                        \"description\": {\n                          \"example\": \"CPU Alert\",\n                          \"type\": \"string\"\n                        },\n                        \"enabled\": {\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"entities\": {\n                          \"example\": [\n                            \"192018292\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"tags\": {\n                          \"example\": [\n                            \"droplet_tag\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"type\": {\n                          \"enum\": [\n                            \"v1/insights/droplet/load_1\",\n                            \"v1/insights/droplet/load_5\",\n                            \"v1/insights/droplet/load_15\",\n                            \"v1/insights/droplet/memory_utilization_percent\",\n                            \"v1/insights/droplet/disk_utilization_percent\",\n                            \"v1/insights/droplet/cpu\",\n                            \"v1/insights/droplet/disk_read\",\n                            \"v1/insights/droplet/disk_write\",\n                            \"v1/insights/droplet/public_outbound_bandwidth\",\n                            \"v1/insights/droplet/public_inbound_bandwidth\",\n                            \"v1/insights/droplet/private_outbound_bandwidth\",\n                            \"v1/insights/droplet/private_inbound_bandwidth\",\n                            \"v1/insights/lbaas/avg_cpu_utilization_percent\",\n                            \"v1/insights/lbaas/connection_utilization_percent\",\n                            \"v1/insights/lbaas/droplet_health\",\n                            \"v1/insights/lbaas/tls_connections_per_second_utilization_percent\",\n                            \"v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx\",\n                            \"v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx\",\n                            \"v1/insights/lbaas/increase_in_http_error_rate_count_5xx\",\n                            \"v1/insights/lbaas/increase_in_http_error_rate_count_4xx\",\n                            \"v1/insights/lbaas/high_http_request_response_time\",\n                            \"v1/insights/lbaas/high_http_request_response_time_50p\",\n                            \"v1/insights/lbaas/high_http_request_response_time_95p\",\n                            \"v1/insights/lbaas/high_http_request_response_time_99p\",\n                            \"v1/dbaas/alerts/load_15_alerts\",\n                            \"v1/dbaas/alerts/memory_utilization_alerts\",\n                            \"v1/dbaas/alerts/disk_utilization_alerts\",\n                            \"v1/dbaas/alerts/cpu_alerts\"\n                          ],\n                          \"example\": \"v1/insights/droplet/cpu\",\n                          \"type\": \"string\"\n                        },\n                        \"uuid\": {\n                          \"example\": \"78b3da62-27e5-49ba-ac70-5db0b5935c64\",\n                          \"type\": \"string\"\n                        },\n                        \"value\": {\n                          \"example\": 80,\n                          \"format\": \"float\",\n                          \"type\": \"number\"\n                        },\n                        \"window\": {\n                          \"enum\": [\n                            \"5m\",\n                            \"10m\",\n                            \"30m\",\n                            \"1h\"\n                          ],\n                          \"example\": \"5m\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"uuid\",\n                        \"type\",\n                        \"description\",\n                        \"compare\",\n                        \"value\",\n                        \"window\",\n                        \"entities\",\n                        \"tags\",\n                        \"alerts\",\n                        \"enabled\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"An alert policy.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create Alert Policy\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\                                                                                                                              \\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/alerts\\\" \\\\\\n  --data '{\\\"alerts\\\":{\\\"email\\\":[\\\"alerts@example.com\\\"]},\\\"compare\\\":\\\"GreaterThan\\\",\\\"description\\\":\\\"CPU Alert\\\",\\\"enabled\\\":true,\\\"entities\\\":[\\\"12345678\\\"],\\\"tags\\\":[\\\"droplet_tag\\\"],\\\"type\\\":\\\"v1/insights/droplet/cpu\\\",\\\"value\\\":80,\\\"window\\\":\\\"5m\\\"}'\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/alerts/{alert_uuid}\": {\n      \"delete\": {\n        \"description\": \"To delete an alert policy, send a DELETE request to `/v2/monitoring/alerts/{alert_uuid}`\",\n        \"operationId\": \"monitoring_delete_alertPolicy\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for an alert policy.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"alert_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete an Alert Policy\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/alerts/{alert_uuid}\\\"\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To retrieve a given alert policy, send a GET request to `/v2/monitoring/alerts/{alert_uuid}`\",\n        \"operationId\": \"monitoring_get_alertPolicy\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for an alert policy.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"alert_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"policy\": {\n                      \"properties\": {\n                        \"alerts\": {\n                          \"properties\": {\n                            \"email\": {\n                              \"description\": \"An email to notify on an alert trigger.\",\n                              \"example\": [\n                                \"bob@exmaple.com\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"slack\": {\n                              \"description\": \"Slack integration details.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"channel\": {\n                                    \"description\": \"Slack channel to notify of an alert trigger.\",\n                                    \"example\": \"Production Alerts\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"url\": {\n                                    \"description\": \"Slack Webhook URL.\",\n                                    \"example\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"url\",\n                                  \"channel\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"slack\",\n                            \"email\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"compare\": {\n                          \"enum\": [\n                            \"GreaterThan\",\n                            \"LessThan\"\n                          ],\n                          \"example\": \"GreaterThan\",\n                          \"type\": \"string\"\n                        },\n                        \"description\": {\n                          \"example\": \"CPU Alert\",\n                          \"type\": \"string\"\n                        },\n                        \"enabled\": {\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"entities\": {\n                          \"example\": [\n                            \"192018292\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"tags\": {\n                          \"example\": [\n                            \"droplet_tag\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"type\": {\n                          \"enum\": [\n                            \"v1/insights/droplet/load_1\",\n                            \"v1/insights/droplet/load_5\",\n                            \"v1/insights/droplet/load_15\",\n                            \"v1/insights/droplet/memory_utilization_percent\",\n                            \"v1/insights/droplet/disk_utilization_percent\",\n                            \"v1/insights/droplet/cpu\",\n                            \"v1/insights/droplet/disk_read\",\n                            \"v1/insights/droplet/disk_write\",\n                            \"v1/insights/droplet/public_outbound_bandwidth\",\n                            \"v1/insights/droplet/public_inbound_bandwidth\",\n                            \"v1/insights/droplet/private_outbound_bandwidth\",\n                            \"v1/insights/droplet/private_inbound_bandwidth\",\n                            \"v1/insights/lbaas/avg_cpu_utilization_percent\",\n                            \"v1/insights/lbaas/connection_utilization_percent\",\n                            \"v1/insights/lbaas/droplet_health\",\n                            \"v1/insights/lbaas/tls_connections_per_second_utilization_percent\",\n                            \"v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx\",\n                            \"v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx\",\n                            \"v1/insights/lbaas/increase_in_http_error_rate_count_5xx\",\n                            \"v1/insights/lbaas/increase_in_http_error_rate_count_4xx\",\n                            \"v1/insights/lbaas/high_http_request_response_time\",\n                            \"v1/insights/lbaas/high_http_request_response_time_50p\",\n                            \"v1/insights/lbaas/high_http_request_response_time_95p\",\n                            \"v1/insights/lbaas/high_http_request_response_time_99p\",\n                            \"v1/dbaas/alerts/load_15_alerts\",\n                            \"v1/dbaas/alerts/memory_utilization_alerts\",\n                            \"v1/dbaas/alerts/disk_utilization_alerts\",\n                            \"v1/dbaas/alerts/cpu_alerts\"\n                          ],\n                          \"example\": \"v1/insights/droplet/cpu\",\n                          \"type\": \"string\"\n                        },\n                        \"uuid\": {\n                          \"example\": \"78b3da62-27e5-49ba-ac70-5db0b5935c64\",\n                          \"type\": \"string\"\n                        },\n                        \"value\": {\n                          \"example\": 80,\n                          \"format\": \"float\",\n                          \"type\": \"number\"\n                        },\n                        \"window\": {\n                          \"enum\": [\n                            \"5m\",\n                            \"10m\",\n                            \"30m\",\n                            \"1h\"\n                          ],\n                          \"example\": \"5m\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"uuid\",\n                        \"type\",\n                        \"description\",\n                        \"compare\",\n                        \"value\",\n                        \"window\",\n                        \"entities\",\n                        \"tags\",\n                        \"alerts\",\n                        \"enabled\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"An alert policy.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Alert Policy\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/alerts/78b3da62-27e5-49ba-ac70-5db0b5935c64\\\"\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update en existing policy, send a PUT request to `v2/monitoring/alerts/{alert_uuid}`.\",\n        \"operationId\": \"monitoring_update_alertPolicy\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for an alert policy.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"alert_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"alerts\": {\n                    \"properties\": {\n                      \"email\": {\n                        \"description\": \"An email to notify on an alert trigger.\",\n                        \"example\": [\n                          \"bob@exmaple.com\"\n                        ],\n                        \"items\": {\n                          \"type\": \"string\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"slack\": {\n                        \"description\": \"Slack integration details.\",\n                        \"items\": {\n                          \"properties\": {\n                            \"channel\": {\n                              \"description\": \"Slack channel to notify of an alert trigger.\",\n                              \"example\": \"Production Alerts\",\n                              \"type\": \"string\"\n                            },\n                            \"url\": {\n                              \"description\": \"Slack Webhook URL.\",\n                              \"example\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"url\",\n                            \"channel\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"type\": \"array\"\n                      }\n                    },\n                    \"required\": [\n                      \"slack\",\n                      \"email\"\n                    ],\n                    \"type\": \"object\"\n                  },\n                  \"compare\": {\n                    \"enum\": [\n                      \"GreaterThan\",\n                      \"LessThan\"\n                    ],\n                    \"example\": \"GreaterThan\",\n                    \"type\": \"string\"\n                  },\n                  \"description\": {\n                    \"example\": \"CPU Alert\",\n                    \"type\": \"string\"\n                  },\n                  \"enabled\": {\n                    \"example\": true,\n                    \"type\": \"boolean\"\n                  },\n                  \"entities\": {\n                    \"example\": [\n                      \"192018292\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"tags\": {\n                    \"example\": [\n                      \"droplet_tag\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  },\n                  \"type\": {\n                    \"enum\": [\n                      \"v1/insights/droplet/load_1\",\n                      \"v1/insights/droplet/load_5\",\n                      \"v1/insights/droplet/load_15\",\n                      \"v1/insights/droplet/memory_utilization_percent\",\n                      \"v1/insights/droplet/disk_utilization_percent\",\n                      \"v1/insights/droplet/cpu\",\n                      \"v1/insights/droplet/disk_read\",\n                      \"v1/insights/droplet/disk_write\",\n                      \"v1/insights/droplet/public_outbound_bandwidth\",\n                      \"v1/insights/droplet/public_inbound_bandwidth\",\n                      \"v1/insights/droplet/private_outbound_bandwidth\",\n                      \"v1/insights/droplet/private_inbound_bandwidth\",\n                      \"v1/insights/lbaas/avg_cpu_utilization_percent\",\n                      \"v1/insights/lbaas/connection_utilization_percent\",\n                      \"v1/insights/lbaas/droplet_health\",\n                      \"v1/insights/lbaas/tls_connections_per_second_utilization_percent\",\n                      \"v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx\",\n                      \"v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx\",\n                      \"v1/insights/lbaas/increase_in_http_error_rate_count_5xx\",\n                      \"v1/insights/lbaas/increase_in_http_error_rate_count_4xx\",\n                      \"v1/insights/lbaas/high_http_request_response_time\",\n                      \"v1/insights/lbaas/high_http_request_response_time_50p\",\n                      \"v1/insights/lbaas/high_http_request_response_time_95p\",\n                      \"v1/insights/lbaas/high_http_request_response_time_99p\",\n                      \"v1/dbaas/alerts/load_15_alerts\",\n                      \"v1/dbaas/alerts/memory_utilization_alerts\",\n                      \"v1/dbaas/alerts/disk_utilization_alerts\",\n                      \"v1/dbaas/alerts/cpu_alerts\"\n                    ],\n                    \"example\": \"v1/insights/droplet/cpu\",\n                    \"type\": \"string\"\n                  },\n                  \"value\": {\n                    \"example\": 80,\n                    \"format\": \"float\",\n                    \"type\": \"number\"\n                  },\n                  \"window\": {\n                    \"enum\": [\n                      \"5m\",\n                      \"10m\",\n                      \"30m\",\n                      \"1h\"\n                    ],\n                    \"example\": \"5m\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"type\",\n                  \"description\",\n                  \"compare\",\n                  \"value\",\n                  \"window\",\n                  \"entities\",\n                  \"tags\",\n                  \"alerts\",\n                  \"enabled\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"description\": \"The `type` field dictates what type of entity that the alert policy applies to and hence what type of entity is passed in the `entities` array. If both the `tags` array and `entities` array are empty the alert policy applies to all entities of the relevant type that are owned by the user account. Otherwise the following table shows the valid entity types for each type of alert policy:\\n\\nType | Description | Valid Entity Type\\n-----|-------------|--------------------\\n`v1/insights/droplet/memory_utilization_percent` | alert on the percent of memory utilization | Droplet ID\\n`v1/insights/droplet/disk_read` | alert on the rate of disk read I/O in MBps | Droplet ID\\n`v1/insights/droplet/load_5` | alert on the 5 minute load average | Droplet ID\\n`v1/insights/droplet/load_15` | alert on the 15 minute load average | Droplet ID\\n`v1/insights/droplet/disk_utilization_percent` | alert on the percent of disk utilization | Droplet ID\\n`v1/insights/droplet/cpu` | alert on the percent of CPU utilization | Droplet ID\\n`v1/insights/droplet/disk_write` | alert on the rate of disk write I/O in MBps | Droplet ID\\n`v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of public outbound bandwidth in Mbps | Droplet ID\\n`v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of public inbound bandwidth in Mbps | Droplet ID\\n`v1/insights/droplet/private_outbound_bandwidth` | alert on the rate of private outbound bandwidth in Mbps | Droplet ID\\n`v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of private inbound bandwidth in Mbps | Droplet ID\\n`v1/insights/droplet/load_1` | alert on the 1 minute load average | Droplet ID\\n`v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent of CPU utilization|load balancer ID\\n`v1/insights/lbaas/connection_utilization_percent`|alert on the percent of connection utilization|load balancer ID\\n`v1/insights/lbaas/droplet_health`|alert on Droplet health status changes|load balancer ID\\n`v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert on the percent of TLS connections per second utilization|load balancer ID\\n`v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert on the percent increase of 5xx level http errors over 5m|load balancer ID\\n`v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert on the percent increase of 4xx level http errors over 5m|load balancer ID\\n`v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the count of 5xx level http errors over 5m|load balancer ID\\n`v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the count of 4xx level http errors over 5m|load balancer ID\\n`v1/insights/lbaas/high_http_request_response_time`|alert on high average http response time|load balancer ID\\n`v1/insights/lbaas/high_http_request_response_time_50p`|alert on high 50th percentile http response time|load balancer ID\\n`v1/insights/lbaas/high_http_request_response_time_95p`|alert on high 95th percentile http response time|load balancer ID\\n`v1/insights/lbaas/high_http_request_response_time_99p`|alert on high 99th percentile http response time|load balancer ID\\n`v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average across the database cluster | database cluster UUID\\n`v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent memory utilization average across the database cluster | database cluster UUID\\n`v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk utilization average across the database cluster | database cluster UUID\\n`v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average across the database cluster | database cluster UUID\\n\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"policy\": {\n                      \"properties\": {\n                        \"alerts\": {\n                          \"properties\": {\n                            \"email\": {\n                              \"description\": \"An email to notify on an alert trigger.\",\n                              \"example\": [\n                                \"bob@exmaple.com\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"slack\": {\n                              \"description\": \"Slack integration details.\",\n                              \"items\": {\n                                \"properties\": {\n                                  \"channel\": {\n                                    \"description\": \"Slack channel to notify of an alert trigger.\",\n                                    \"example\": \"Production Alerts\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"url\": {\n                                    \"description\": \"Slack Webhook URL.\",\n                                    \"example\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"url\",\n                                  \"channel\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"slack\",\n                            \"email\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        \"compare\": {\n                          \"enum\": [\n                            \"GreaterThan\",\n                            \"LessThan\"\n                          ],\n                          \"example\": \"GreaterThan\",\n                          \"type\": \"string\"\n                        },\n                        \"description\": {\n                          \"example\": \"CPU Alert\",\n                          \"type\": \"string\"\n                        },\n                        \"enabled\": {\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"entities\": {\n                          \"example\": [\n                            \"192018292\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"tags\": {\n                          \"example\": [\n                            \"droplet_tag\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"type\": {\n                          \"enum\": [\n                            \"v1/insights/droplet/load_1\",\n                            \"v1/insights/droplet/load_5\",\n                            \"v1/insights/droplet/load_15\",\n                            \"v1/insights/droplet/memory_utilization_percent\",\n                            \"v1/insights/droplet/disk_utilization_percent\",\n                            \"v1/insights/droplet/cpu\",\n                            \"v1/insights/droplet/disk_read\",\n                            \"v1/insights/droplet/disk_write\",\n                            \"v1/insights/droplet/public_outbound_bandwidth\",\n                            \"v1/insights/droplet/public_inbound_bandwidth\",\n                            \"v1/insights/droplet/private_outbound_bandwidth\",\n                            \"v1/insights/droplet/private_inbound_bandwidth\",\n                            \"v1/insights/lbaas/avg_cpu_utilization_percent\",\n                            \"v1/insights/lbaas/connection_utilization_percent\",\n                            \"v1/insights/lbaas/droplet_health\",\n                            \"v1/insights/lbaas/tls_connections_per_second_utilization_percent\",\n                            \"v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx\",\n                            \"v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx\",\n                            \"v1/insights/lbaas/increase_in_http_error_rate_count_5xx\",\n                            \"v1/insights/lbaas/increase_in_http_error_rate_count_4xx\",\n                            \"v1/insights/lbaas/high_http_request_response_time\",\n                            \"v1/insights/lbaas/high_http_request_response_time_50p\",\n                            \"v1/insights/lbaas/high_http_request_response_time_95p\",\n                            \"v1/insights/lbaas/high_http_request_response_time_99p\",\n                            \"v1/dbaas/alerts/load_15_alerts\",\n                            \"v1/dbaas/alerts/memory_utilization_alerts\",\n                            \"v1/dbaas/alerts/disk_utilization_alerts\",\n                            \"v1/dbaas/alerts/cpu_alerts\"\n                          ],\n                          \"example\": \"v1/insights/droplet/cpu\",\n                          \"type\": \"string\"\n                        },\n                        \"uuid\": {\n                          \"example\": \"78b3da62-27e5-49ba-ac70-5db0b5935c64\",\n                          \"type\": \"string\"\n                        },\n                        \"value\": {\n                          \"example\": 80,\n                          \"format\": \"float\",\n                          \"type\": \"number\"\n                        },\n                        \"window\": {\n                          \"enum\": [\n                            \"5m\",\n                            \"10m\",\n                            \"30m\",\n                            \"1h\"\n                          ],\n                          \"example\": \"5m\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"uuid\",\n                        \"type\",\n                        \"description\",\n                        \"compare\",\n                        \"value\",\n                        \"window\",\n                        \"entities\",\n                        \"tags\",\n                        \"alerts\",\n                        \"enabled\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"An alert policy.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update an Alert Policy\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/alerts/78b3da62-27e5-49ba-ac70-5db0b5935c64\\\" \\\\\\n  --data '{\\\"alerts\\\":{\\\"email\\\":[\\\"alerts@example.com\\\"]},\\\"compare\\\":\\\"GreaterThan\\\",\\\"description\\\":\\\"CPU Alert\\\",\\\"enabled\\\":true,\\\"entities\\\":[\\\"12345678\\\"],\\\"tags\\\":[\\\"droplet_tag\\\"],\\\"type\\\":\\\"v1/insights/droplet/cpu\\\",\\\"value\\\":80,\\\"window\\\":\\\"5m\\\"}'\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/metrics/droplet/bandwidth\": {\n      \"get\": {\n        \"description\": \"To retrieve bandwidth metrics for a given Droplet, send a GET request to `/v2/monitoring/metrics/droplet/bandwidth`. Use the `interface` query parameter to specify if the results should be for the `private` or `public` interface. Use the `direction` query parameter to specify if the results should be for `inbound` or `outbound` traffic.\",\n        \"operationId\": \"monitoring_get_dropletBandwidthMetrics\",\n        \"parameters\": [\n          {\n            \"description\": \"The droplet ID.\",\n            \"example\": \"17209102\",\n            \"in\": \"query\",\n            \"name\": \"host_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The network interface.\",\n            \"example\": \"private\",\n            \"in\": \"query\",\n            \"name\": \"interface\",\n            \"required\": true,\n            \"schema\": {\n              \"enum\": [\n                \"private\",\n                \"public\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The traffic direction.\",\n            \"example\": \"inbound\",\n            \"in\": \"query\",\n            \"name\": \"direction\",\n            \"required\": true,\n            \"schema\": {\n              \"enum\": [\n                \"inbound\",\n                \"outbound\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to start metric window.\",\n            \"example\": \"1620683817\",\n            \"in\": \"query\",\n            \"name\": \"start\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to end metric window.\",\n            \"example\": \"1620705417\",\n            \"in\": \"query\",\n            \"name\": \"end\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Inbound Private Bandwidth\": {\n                    \"value\": {\n                      \"data\": {\n                        \"result\": [\n                          {\n                            \"metric\": {\n                              \"direction\": \"inbound\",\n                              \"host_id\": \"222651441\",\n                              \"interface\": \"private\"\n                            },\n                            \"values\": [\n                              [\n                                1634052360,\n                                \"0.016600450090265357\"\n                              ],\n                              [\n                                1634052480,\n                                \"0.015085955677299055\"\n                              ],\n                              [\n                                1634052600,\n                                \"0.014941163855322308\"\n                              ],\n                              [\n                                1634052720,\n                                \"0.016214285714285712\"\n                              ]\n                            ]\n                          }\n                        ],\n                        \"resultType\": \"matrix\"\n                      },\n                      \"status\": \"success\"\n                    }\n                  },\n                  \"Inbound Public Bandwidth\": {\n                    \"value\": {\n                      \"data\": {\n                        \"result\": [\n                          {\n                            \"metric\": {\n                              \"direction\": \"inbound\",\n                              \"host_id\": \"222651441\",\n                              \"interface\": \"public\"\n                            },\n                            \"values\": [\n                              [\n                                1634052360,\n                                \"0.016600450090265357\"\n                              ],\n                              [\n                                1634052480,\n                                \"0.015085955677299055\"\n                              ],\n                              [\n                                1634052600,\n                                \"0.014941163855322308\"\n                              ],\n                              [\n                                1634052720,\n                                \"0.016214285714285712\"\n                              ]\n                            ]\n                          }\n                        ],\n                        \"resultType\": \"matrix\"\n                      },\n                      \"status\": \"success\"\n                    }\n                  },\n                  \"Outbound Private Bandwidth\": {\n                    \"value\": {\n                      \"data\": {\n                        \"result\": [\n                          {\n                            \"metric\": {\n                              \"direction\": \"outbound\",\n                              \"host_id\": \"222651441\",\n                              \"interface\": \"private\"\n                            },\n                            \"values\": [\n                              [\n                                1634052360,\n                                \"0.016600450090265357\"\n                              ],\n                              [\n                                1634052480,\n                                \"0.015085955677299055\"\n                              ],\n                              [\n                                1634052600,\n                                \"0.014941163855322308\"\n                              ],\n                              [\n                                1634052720,\n                                \"0.016214285714285712\"\n                              ]\n                            ]\n                          }\n                        ],\n                        \"resultType\": \"matrix\"\n                      },\n                      \"status\": \"success\"\n                    }\n                  },\n                  \"Outbound Public Bandwidth\": {\n                    \"value\": {\n                      \"data\": {\n                        \"result\": [\n                          {\n                            \"metric\": {\n                              \"direction\": \"outbound\",\n                              \"host_id\": \"222651441\",\n                              \"interface\": \"public\"\n                            },\n                            \"values\": [\n                              [\n                                1634052360,\n                                \"0.016600450090265357\"\n                              ],\n                              [\n                                1634052480,\n                                \"0.015085955677299055\"\n                              ],\n                              [\n                                1634052600,\n                                \"0.014941163855322308\"\n                              ],\n                              [\n                                1634052720,\n                                \"0.016214285714285712\"\n                              ]\n                            ]\n                          }\n                        ],\n                        \"resultType\": \"matrix\"\n                      },\n                      \"status\": \"success\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"data\": {\n                      \"properties\": {\n                        \"result\": {\n                          \"description\": \"Result of query.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"metric\": {\n                                \"additionalProperties\": {\n                                  \"type\": \"string\"\n                                },\n                                \"description\": \"An object containing the metric labels.\",\n                                \"example\": {\n                                  \"host_id\": \"19201920\"\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"values\": {\n                                \"example\": [\n                                  [\n                                    1435781430,\n                                    \"1\"\n                                  ],\n                                  [\n                                    1435781445,\n                                    \"1\"\n                                  ]\n                                ],\n                                \"items\": {\n                                  \"items\": {\n                                    \"oneOf\": [\n                                      {\n                                        \"type\": \"integer\"\n                                      },\n                                      {\n                                        \"type\": \"string\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"required\": [\n                              \"metric\",\n                              \"values\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"resultType\": {\n                          \"enum\": [\n                            \"matrix\"\n                          ],\n                          \"example\": \"matrix\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"resultType\",\n                        \"result\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"status\": {\n                      \"enum\": [\n                        \"success\",\n                        \"error\"\n                      ],\n                      \"example\": \"success\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"status\",\n                    \"data\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `data` and `status`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Droplet Bandwidth Metrics\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/metrics/droplet/bandwidth?host_id=222651441&interface=public&direction=outbound&start=1636051668&end=1636051668\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/metrics/droplet/cpu\": {\n      \"get\": {\n        \"description\": \"To retrieve CPU metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/cpu`.\",\n        \"operationId\": \"monitoring_get_DropletCpuMetrics\",\n        \"parameters\": [\n          {\n            \"description\": \"The droplet ID.\",\n            \"example\": \"17209102\",\n            \"in\": \"query\",\n            \"name\": \"host_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to start metric window.\",\n            \"example\": \"1620683817\",\n            \"in\": \"query\",\n            \"name\": \"start\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to end metric window.\",\n            \"example\": \"1620705417\",\n            \"in\": \"query\",\n            \"name\": \"end\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"CPU\": {\n                    \"value\": {\n                      \"data\": {\n                        \"result\": [\n                          {\n                            \"metric\": {\n                              \"host_id\": \"222651441\",\n                              \"mode\": \"idle\"\n                            },\n                            \"values\": [\n                              [\n                                1635386880,\n                                \"122901.18\"\n                              ],\n                              [\n                                1635387000,\n                                \"123020.92\"\n                              ],\n                              [\n                                1635387120,\n                                \"123140.8\"\n                              ]\n                            ]\n                          },\n                          {\n                            \"metric\": {\n                              \"host_id\": \"222651441\",\n                              \"mode\": \"iowait\"\n                            },\n                            \"values\": [\n                              [\n                                1635386880,\n                                \"14.99\"\n                              ],\n                              [\n                                1635387000,\n                                \"15.01\"\n                              ],\n                              [\n                                1635387120,\n                                \"15.01\"\n                              ]\n                            ]\n                          },\n                          {\n                            \"metric\": {\n                              \"host_id\": \"222651441\",\n                              \"mode\": \"irq\"\n                            },\n                            \"values\": [\n                              [\n                                1635386880,\n                                \"0\"\n                              ],\n                              [\n                                1635387000,\n                                \"0\"\n                              ],\n                              [\n                                1635387120,\n                                \"0\"\n                              ]\n                            ]\n                          },\n                          {\n                            \"metric\": {\n                              \"host_id\": \"222651441\",\n                              \"mode\": \"nice\"\n                            },\n                            \"values\": [\n                              [\n                                1635386880,\n                                \"66.35\"\n                              ],\n                              [\n                                1635387000,\n                                \"66.35\"\n                              ],\n                              [\n                                1635387120,\n                                \"66.35\"\n                              ]\n                            ]\n                          },\n                          {\n                            \"metric\": {\n                              \"host_id\": \"222651441\",\n                              \"mode\": \"softirq\"\n                            },\n                            \"values\": [\n                              [\n                                1635386880,\n                                \"2.13\"\n                              ],\n                              [\n                                1635387000,\n                                \"2.13\"\n                              ],\n                              [\n                                1635387120,\n                                \"2.13\"\n                              ]\n                            ]\n                          },\n                          {\n                            \"metric\": {\n                              \"host_id\": \"222651441\",\n                              \"mode\": \"steal\"\n                            },\n                            \"values\": [\n                              [\n                                1635386880,\n                                \"7.89\"\n                              ],\n                              [\n                                1635387000,\n                                \"7.9\"\n                              ],\n                              [\n                                1635387120,\n                                \"7.91\"\n                              ]\n                            ]\n                          },\n                          {\n                            \"metric\": {\n                              \"host_id\": \"222651441\",\n                              \"mode\": \"system\"\n                            },\n                            \"values\": [\n                              [\n                                1635386880,\n                                \"140.09\"\n                              ],\n                              [\n                                1635387000,\n                                \"140.2\"\n                              ],\n                              [\n                                1635387120,\n                                \"140.23\"\n                              ]\n                            ]\n                          },\n                          {\n                            \"metric\": {\n                              \"host_id\": \"222651441\",\n                              \"mode\": \"user\"\n                            },\n                            \"values\": [\n                              [\n                                1635386880,\n                                \"278.57\"\n                              ],\n                              [\n                                1635387000,\n                                \"278.65\"\n                              ],\n                              [\n                                1635387120,\n                                \"278.69\"\n                              ]\n                            ]\n                          }\n                        ],\n                        \"resultType\": \"matrix\"\n                      },\n                      \"status\": \"success\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"data\": {\n                      \"properties\": {\n                        \"result\": {\n                          \"description\": \"Result of query.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"metric\": {\n                                \"additionalProperties\": {\n                                  \"type\": \"string\"\n                                },\n                                \"description\": \"An object containing the metric labels.\",\n                                \"example\": {\n                                  \"host_id\": \"19201920\"\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"values\": {\n                                \"example\": [\n                                  [\n                                    1435781430,\n                                    \"1\"\n                                  ],\n                                  [\n                                    1435781445,\n                                    \"1\"\n                                  ]\n                                ],\n                                \"items\": {\n                                  \"items\": {\n                                    \"oneOf\": [\n                                      {\n                                        \"type\": \"integer\"\n                                      },\n                                      {\n                                        \"type\": \"string\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"required\": [\n                              \"metric\",\n                              \"values\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"resultType\": {\n                          \"enum\": [\n                            \"matrix\"\n                          ],\n                          \"example\": \"matrix\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"resultType\",\n                        \"result\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"status\": {\n                      \"enum\": [\n                        \"success\",\n                        \"error\"\n                      ],\n                      \"example\": \"success\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"status\",\n                    \"data\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `data` and `status`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Droplet CPU Metrics\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/metrics/droplet/cpu?host_id=222651441&start=1636051668&end=1636051668\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/metrics/droplet/filesystem_free\": {\n      \"get\": {\n        \"description\": \"To retrieve filesystem free metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_free`.\",\n        \"operationId\": \"monitoring_get_dropletFilesystemFreeMetrics\",\n        \"parameters\": [\n          {\n            \"description\": \"The droplet ID.\",\n            \"example\": \"17209102\",\n            \"in\": \"query\",\n            \"name\": \"host_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to start metric window.\",\n            \"example\": \"1620683817\",\n            \"in\": \"query\",\n            \"name\": \"start\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to end metric window.\",\n            \"example\": \"1620705417\",\n            \"in\": \"query\",\n            \"name\": \"end\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Filesystem\": {\n                    \"value\": {\n                      \"data\": {\n                        \"result\": [\n                          {\n                            \"metric\": {\n                              \"device\": \"/dev/vda1\",\n                              \"fstype\": \"ext4\",\n                              \"host_id\": \"222651441\",\n                              \"mountpoint\": \"/\"\n                            },\n                            \"values\": [\n                              [\n                                1635386880,\n                                \"25832407040\"\n                              ],\n                              [\n                                1635387000,\n                                \"25832407040\"\n                              ],\n                              [\n                                1635387120,\n                                \"25832407040\"\n                              ]\n                            ]\n                          }\n                        ],\n                        \"resultType\": \"matrix\"\n                      },\n                      \"status\": \"success\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"data\": {\n                      \"properties\": {\n                        \"result\": {\n                          \"description\": \"Result of query.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"metric\": {\n                                \"additionalProperties\": {\n                                  \"type\": \"string\"\n                                },\n                                \"description\": \"An object containing the metric labels.\",\n                                \"example\": {\n                                  \"host_id\": \"19201920\"\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"values\": {\n                                \"example\": [\n                                  [\n                                    1435781430,\n                                    \"1\"\n                                  ],\n                                  [\n                                    1435781445,\n                                    \"1\"\n                                  ]\n                                ],\n                                \"items\": {\n                                  \"items\": {\n                                    \"oneOf\": [\n                                      {\n                                        \"type\": \"integer\"\n                                      },\n                                      {\n                                        \"type\": \"string\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"required\": [\n                              \"metric\",\n                              \"values\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"resultType\": {\n                          \"enum\": [\n                            \"matrix\"\n                          ],\n                          \"example\": \"matrix\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"resultType\",\n                        \"result\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"status\": {\n                      \"enum\": [\n                        \"success\",\n                        \"error\"\n                      ],\n                      \"example\": \"success\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"status\",\n                    \"data\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `data` and `status`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Droplet Filesystem Free Metrics\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/metrics/droplet/filesystem_free?host_id=222651441&start=1636051668&end=1636051668\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/metrics/droplet/filesystem_size\": {\n      \"get\": {\n        \"description\": \"To retrieve filesystem size metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_size`.\",\n        \"operationId\": \"monitoring_get_dropletFilesystemSizeMetrics\",\n        \"parameters\": [\n          {\n            \"description\": \"The droplet ID.\",\n            \"example\": \"17209102\",\n            \"in\": \"query\",\n            \"name\": \"host_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to start metric window.\",\n            \"example\": \"1620683817\",\n            \"in\": \"query\",\n            \"name\": \"start\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to end metric window.\",\n            \"example\": \"1620705417\",\n            \"in\": \"query\",\n            \"name\": \"end\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Filesystem\": {\n                    \"value\": {\n                      \"data\": {\n                        \"result\": [\n                          {\n                            \"metric\": {\n                              \"device\": \"/dev/vda1\",\n                              \"fstype\": \"ext4\",\n                              \"host_id\": \"222651441\",\n                              \"mountpoint\": \"/\"\n                            },\n                            \"values\": [\n                              [\n                                1635386880,\n                                \"25832407040\"\n                              ],\n                              [\n                                1635387000,\n                                \"25832407040\"\n                              ],\n                              [\n                                1635387120,\n                                \"25832407040\"\n                              ]\n                            ]\n                          }\n                        ],\n                        \"resultType\": \"matrix\"\n                      },\n                      \"status\": \"success\"\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"data\": {\n                      \"properties\": {\n                        \"result\": {\n                          \"description\": \"Result of query.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"metric\": {\n                                \"additionalProperties\": {\n                                  \"type\": \"string\"\n                                },\n                                \"description\": \"An object containing the metric labels.\",\n                                \"example\": {\n                                  \"host_id\": \"19201920\"\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"values\": {\n                                \"example\": [\n                                  [\n                                    1435781430,\n                                    \"1\"\n                                  ],\n                                  [\n                                    1435781445,\n                                    \"1\"\n                                  ]\n                                ],\n                                \"items\": {\n                                  \"items\": {\n                                    \"oneOf\": [\n                                      {\n                                        \"type\": \"integer\"\n                                      },\n                                      {\n                                        \"type\": \"string\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"required\": [\n                              \"metric\",\n                              \"values\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"resultType\": {\n                          \"enum\": [\n                            \"matrix\"\n                          ],\n                          \"example\": \"matrix\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"resultType\",\n                        \"result\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"status\": {\n                      \"enum\": [\n                        \"success\",\n                        \"error\"\n                      ],\n                      \"example\": \"success\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"status\",\n                    \"data\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `data` and `status`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Droplet Filesystem Size Metrics\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/metrics/droplet/filesystem_size?host_id=222651441&interface=public&direction=outbound&start=1636051668&end=1636051668\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/metrics/droplet/load_1\": {\n      \"get\": {\n        \"description\": \"To retrieve 1 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_1`.\",\n        \"operationId\": \"monitoring_get_dropletLoad1Metrics\",\n        \"parameters\": [\n          {\n            \"description\": \"The droplet ID.\",\n            \"example\": \"17209102\",\n            \"in\": \"query\",\n            \"name\": \"host_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to start metric window.\",\n            \"example\": \"1620683817\",\n            \"in\": \"query\",\n            \"name\": \"start\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to end metric window.\",\n            \"example\": \"1620705417\",\n            \"in\": \"query\",\n            \"name\": \"end\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"data\": {\n                      \"properties\": {\n                        \"result\": {\n                          \"description\": \"Result of query.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"metric\": {\n                                \"additionalProperties\": {\n                                  \"type\": \"string\"\n                                },\n                                \"description\": \"An object containing the metric labels.\",\n                                \"example\": {\n                                  \"host_id\": \"19201920\"\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"values\": {\n                                \"example\": [\n                                  [\n                                    1435781430,\n                                    \"1\"\n                                  ],\n                                  [\n                                    1435781445,\n                                    \"1\"\n                                  ]\n                                ],\n                                \"items\": {\n                                  \"items\": {\n                                    \"oneOf\": [\n                                      {\n                                        \"type\": \"integer\"\n                                      },\n                                      {\n                                        \"type\": \"string\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"required\": [\n                              \"metric\",\n                              \"values\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"resultType\": {\n                          \"enum\": [\n                            \"matrix\"\n                          ],\n                          \"example\": \"matrix\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"resultType\",\n                        \"result\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"status\": {\n                      \"enum\": [\n                        \"success\",\n                        \"error\"\n                      ],\n                      \"example\": \"success\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"status\",\n                    \"data\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `data` and `status`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Droplet Load1 Metrics\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/metrics/droplet/load_1?host_id=222651441&start=1636051668&end=1636051668\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/metrics/droplet/load_15\": {\n      \"get\": {\n        \"description\": \"To retrieve 15 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_15`.\",\n        \"operationId\": \"monitoring_get_dropletLoad15Metrics\",\n        \"parameters\": [\n          {\n            \"description\": \"The droplet ID.\",\n            \"example\": \"17209102\",\n            \"in\": \"query\",\n            \"name\": \"host_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to start metric window.\",\n            \"example\": \"1620683817\",\n            \"in\": \"query\",\n            \"name\": \"start\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to end metric window.\",\n            \"example\": \"1620705417\",\n            \"in\": \"query\",\n            \"name\": \"end\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"data\": {\n                      \"properties\": {\n                        \"result\": {\n                          \"description\": \"Result of query.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"metric\": {\n                                \"additionalProperties\": {\n                                  \"type\": \"string\"\n                                },\n                                \"description\": \"An object containing the metric labels.\",\n                                \"example\": {\n                                  \"host_id\": \"19201920\"\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"values\": {\n                                \"example\": [\n                                  [\n                                    1435781430,\n                                    \"1\"\n                                  ],\n                                  [\n                                    1435781445,\n                                    \"1\"\n                                  ]\n                                ],\n                                \"items\": {\n                                  \"items\": {\n                                    \"oneOf\": [\n                                      {\n                                        \"type\": \"integer\"\n                                      },\n                                      {\n                                        \"type\": \"string\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"required\": [\n                              \"metric\",\n                              \"values\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"resultType\": {\n                          \"enum\": [\n                            \"matrix\"\n                          ],\n                          \"example\": \"matrix\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"resultType\",\n                        \"result\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"status\": {\n                      \"enum\": [\n                        \"success\",\n                        \"error\"\n                      ],\n                      \"example\": \"success\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"status\",\n                    \"data\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `data` and `status`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Droplet Load15 Metrics\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/metrics/droplet/load_15?host_id=222651441&start=1636051668&end=1636051668\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/metrics/droplet/load_5\": {\n      \"get\": {\n        \"description\": \"To retrieve 5 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_5`.\",\n        \"operationId\": \"monitoring_get_dropletLoad5Metrics\",\n        \"parameters\": [\n          {\n            \"description\": \"The droplet ID.\",\n            \"example\": \"17209102\",\n            \"in\": \"query\",\n            \"name\": \"host_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to start metric window.\",\n            \"example\": \"1620683817\",\n            \"in\": \"query\",\n            \"name\": \"start\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to end metric window.\",\n            \"example\": \"1620705417\",\n            \"in\": \"query\",\n            \"name\": \"end\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"data\": {\n                      \"properties\": {\n                        \"result\": {\n                          \"description\": \"Result of query.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"metric\": {\n                                \"additionalProperties\": {\n                                  \"type\": \"string\"\n                                },\n                                \"description\": \"An object containing the metric labels.\",\n                                \"example\": {\n                                  \"host_id\": \"19201920\"\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"values\": {\n                                \"example\": [\n                                  [\n                                    1435781430,\n                                    \"1\"\n                                  ],\n                                  [\n                                    1435781445,\n                                    \"1\"\n                                  ]\n                                ],\n                                \"items\": {\n                                  \"items\": {\n                                    \"oneOf\": [\n                                      {\n                                        \"type\": \"integer\"\n                                      },\n                                      {\n                                        \"type\": \"string\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"required\": [\n                              \"metric\",\n                              \"values\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"resultType\": {\n                          \"enum\": [\n                            \"matrix\"\n                          ],\n                          \"example\": \"matrix\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"resultType\",\n                        \"result\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"status\": {\n                      \"enum\": [\n                        \"success\",\n                        \"error\"\n                      ],\n                      \"example\": \"success\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"status\",\n                    \"data\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `data` and `status`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Droplet Load5 Metrics\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/metrics/droplet/load_5?host_id=222651441&start=1636051668&end=1636051668\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/metrics/droplet/memory_available\": {\n      \"get\": {\n        \"description\": \"To retrieve available memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_available`.\",\n        \"operationId\": \"monitoring_get_dropletMemoryAvailableMetrics\",\n        \"parameters\": [\n          {\n            \"description\": \"The droplet ID.\",\n            \"example\": \"17209102\",\n            \"in\": \"query\",\n            \"name\": \"host_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to start metric window.\",\n            \"example\": \"1620683817\",\n            \"in\": \"query\",\n            \"name\": \"start\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to end metric window.\",\n            \"example\": \"1620705417\",\n            \"in\": \"query\",\n            \"name\": \"end\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"data\": {\n                      \"properties\": {\n                        \"result\": {\n                          \"description\": \"Result of query.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"metric\": {\n                                \"additionalProperties\": {\n                                  \"type\": \"string\"\n                                },\n                                \"description\": \"An object containing the metric labels.\",\n                                \"example\": {\n                                  \"host_id\": \"19201920\"\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"values\": {\n                                \"example\": [\n                                  [\n                                    1435781430,\n                                    \"1\"\n                                  ],\n                                  [\n                                    1435781445,\n                                    \"1\"\n                                  ]\n                                ],\n                                \"items\": {\n                                  \"items\": {\n                                    \"oneOf\": [\n                                      {\n                                        \"type\": \"integer\"\n                                      },\n                                      {\n                                        \"type\": \"string\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"required\": [\n                              \"metric\",\n                              \"values\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"resultType\": {\n                          \"enum\": [\n                            \"matrix\"\n                          ],\n                          \"example\": \"matrix\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"resultType\",\n                        \"result\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"status\": {\n                      \"enum\": [\n                        \"success\",\n                        \"error\"\n                      ],\n                      \"example\": \"success\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"status\",\n                    \"data\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `data` and `status`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Droplet Available Memory Metrics\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_available?host_id=222651441&start=1636051668&end=1636051668\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/metrics/droplet/memory_cached\": {\n      \"get\": {\n        \"description\": \"To retrieve cached memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_cached`.\",\n        \"operationId\": \"monitoring_get_dropletMemoryCachedMetrics\",\n        \"parameters\": [\n          {\n            \"description\": \"The droplet ID.\",\n            \"example\": \"17209102\",\n            \"in\": \"query\",\n            \"name\": \"host_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to start metric window.\",\n            \"example\": \"1620683817\",\n            \"in\": \"query\",\n            \"name\": \"start\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to end metric window.\",\n            \"example\": \"1620705417\",\n            \"in\": \"query\",\n            \"name\": \"end\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"data\": {\n                      \"properties\": {\n                        \"result\": {\n                          \"description\": \"Result of query.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"metric\": {\n                                \"additionalProperties\": {\n                                  \"type\": \"string\"\n                                },\n                                \"description\": \"An object containing the metric labels.\",\n                                \"example\": {\n                                  \"host_id\": \"19201920\"\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"values\": {\n                                \"example\": [\n                                  [\n                                    1435781430,\n                                    \"1\"\n                                  ],\n                                  [\n                                    1435781445,\n                                    \"1\"\n                                  ]\n                                ],\n                                \"items\": {\n                                  \"items\": {\n                                    \"oneOf\": [\n                                      {\n                                        \"type\": \"integer\"\n                                      },\n                                      {\n                                        \"type\": \"string\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"required\": [\n                              \"metric\",\n                              \"values\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"resultType\": {\n                          \"enum\": [\n                            \"matrix\"\n                          ],\n                          \"example\": \"matrix\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"resultType\",\n                        \"result\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"status\": {\n                      \"enum\": [\n                        \"success\",\n                        \"error\"\n                      ],\n                      \"example\": \"success\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"status\",\n                    \"data\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `data` and `status`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Droplet Cached Memory Metrics\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_cached?host_id=222651441&start=1636051668&end=1636051668\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/metrics/droplet/memory_free\": {\n      \"get\": {\n        \"description\": \"To retrieve free memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_free`.\",\n        \"operationId\": \"monitoring_get_dropletMemoryFreeMetrics\",\n        \"parameters\": [\n          {\n            \"description\": \"The droplet ID.\",\n            \"example\": \"17209102\",\n            \"in\": \"query\",\n            \"name\": \"host_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to start metric window.\",\n            \"example\": \"1620683817\",\n            \"in\": \"query\",\n            \"name\": \"start\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to end metric window.\",\n            \"example\": \"1620705417\",\n            \"in\": \"query\",\n            \"name\": \"end\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"data\": {\n                      \"properties\": {\n                        \"result\": {\n                          \"description\": \"Result of query.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"metric\": {\n                                \"additionalProperties\": {\n                                  \"type\": \"string\"\n                                },\n                                \"description\": \"An object containing the metric labels.\",\n                                \"example\": {\n                                  \"host_id\": \"19201920\"\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"values\": {\n                                \"example\": [\n                                  [\n                                    1435781430,\n                                    \"1\"\n                                  ],\n                                  [\n                                    1435781445,\n                                    \"1\"\n                                  ]\n                                ],\n                                \"items\": {\n                                  \"items\": {\n                                    \"oneOf\": [\n                                      {\n                                        \"type\": \"integer\"\n                                      },\n                                      {\n                                        \"type\": \"string\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"required\": [\n                              \"metric\",\n                              \"values\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"resultType\": {\n                          \"enum\": [\n                            \"matrix\"\n                          ],\n                          \"example\": \"matrix\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"resultType\",\n                        \"result\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"status\": {\n                      \"enum\": [\n                        \"success\",\n                        \"error\"\n                      ],\n                      \"example\": \"success\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"status\",\n                    \"data\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `data` and `status`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Droplet Free Memory Metrics\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_free?host_id=222651441&start=1636051668&end=1636051668\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/monitoring/metrics/droplet/memory_total\": {\n      \"get\": {\n        \"description\": \"To retrieve total memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_total`.\",\n        \"operationId\": \"monitoring_get_dropletMemoryTotalMetrics\",\n        \"parameters\": [\n          {\n            \"description\": \"The droplet ID.\",\n            \"example\": \"17209102\",\n            \"in\": \"query\",\n            \"name\": \"host_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to start metric window.\",\n            \"example\": \"1620683817\",\n            \"in\": \"query\",\n            \"name\": \"start\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Timestamp to end metric window.\",\n            \"example\": \"1620705417\",\n            \"in\": \"query\",\n            \"name\": \"end\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"data\": {\n                      \"properties\": {\n                        \"result\": {\n                          \"description\": \"Result of query.\",\n                          \"items\": {\n                            \"properties\": {\n                              \"metric\": {\n                                \"additionalProperties\": {\n                                  \"type\": \"string\"\n                                },\n                                \"description\": \"An object containing the metric labels.\",\n                                \"example\": {\n                                  \"host_id\": \"19201920\"\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"values\": {\n                                \"example\": [\n                                  [\n                                    1435781430,\n                                    \"1\"\n                                  ],\n                                  [\n                                    1435781445,\n                                    \"1\"\n                                  ]\n                                ],\n                                \"items\": {\n                                  \"items\": {\n                                    \"oneOf\": [\n                                      {\n                                        \"type\": \"integer\"\n                                      },\n                                      {\n                                        \"type\": \"string\"\n                                      }\n                                    ]\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"required\": [\n                              \"metric\",\n                              \"values\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"resultType\": {\n                          \"enum\": [\n                            \"matrix\"\n                          ],\n                          \"example\": \"matrix\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"required\": [\n                        \"resultType\",\n                        \"result\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    \"status\": {\n                      \"enum\": [\n                        \"success\",\n                        \"error\"\n                      ],\n                      \"example\": \"success\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"status\",\n                    \"data\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `data` and `status`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Droplet Total Memory Metrics\",\n        \"tags\": [\n          \"Monitoring\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_total?host_id=222651441&start=1636051668&end=1636051668\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/projects\": {\n      \"get\": {\n        \"description\": \"To list all your projects, send a GET request to `/v2/projects`.\",\n        \"operationId\": \"projects_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"projects\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                                    \"example\": \"2018-09-27T20:10:35Z\",\n                                    \"format\": \"date-time\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"description\": {\n                                    \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                                    \"example\": \"My website API\",\n                                    \"maxLength\": 255,\n                                    \"type\": \"string\"\n                                  },\n                                  \"environment\": {\n                                    \"description\": \"The environment of the project's resources.\",\n                                    \"enum\": [\n                                      \"Development\",\n                                      \"Staging\",\n                                      \"Production\"\n                                    ],\n                                    \"example\": \"Production\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"The unique universal identifier of this project.\",\n                                    \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                                    \"format\": \"uuid\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                                    \"example\": \"my-web-api\",\n                                    \"maxLength\": 175,\n                                    \"type\": \"string\"\n                                  },\n                                  \"owner_id\": {\n                                    \"description\": \"The integer id of the project owner.\",\n                                    \"example\": 258992,\n                                    \"readOnly\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"owner_uuid\": {\n                                    \"description\": \"The unique universal identifier of the project owner.\",\n                                    \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"purpose\": {\n                                    \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                                    \"example\": \"Service or API\",\n                                    \"maxLength\": 255,\n                                    \"type\": \"string\"\n                                  },\n                                  \"updated_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                                    \"example\": \"2018-09-27T20:10:35Z\",\n                                    \"format\": \"date-time\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"is_default\": {\n                                    \"description\": \"If true, all resources will be added to this project if no project is specified.\",\n                                    \"example\": false,\n                                    \"type\": \"boolean\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ]\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {\n                      \"pages\": {\n                        \"first\": \"https://api.digitalocean.com/v2/projects?page=1\",\n                        \"last\": \"https://api.digitalocean.com/v2/projects?page=1\"\n                      }\n                    },\n                    \"meta\": {\n                      \"total\": 2\n                    },\n                    \"projects\": [\n                      {\n                        \"created_at\": \"2018-09-27T20:10:35Z\",\n                        \"description\": \"My website API\",\n                        \"environment\": \"Production\",\n                        \"id\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                        \"is_default\": false,\n                        \"name\": \"my-web-api\",\n                        \"owner_id\": 258992,\n                        \"owner_uuid\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                        \"purpose\": \"Service or API\",\n                        \"updated_at\": \"2018-09-27T20:10:35Z\"\n                      },\n                      {\n                        \"created_at\": \"2017-10-19T21:44:20Z\",\n                        \"description\": \"Default project\",\n                        \"environment\": \"Development\",\n                        \"id\": \"addb4547-6bab-419a-8542-76263a033cf6\",\n                        \"is_default\": true,\n                        \"name\": \"Default\",\n                        \"owner_id\": 258992,\n                        \"owner_uuid\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                        \"purpose\": \"Just trying out DigitalOcean\",\n                        \"updated_at\": \"2019-11-05T18:50:03Z\"\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `projects`. The value of this will be an object with the standard project attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Projects\",\n        \"tags\": [\n          \"Projects\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/projects\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n      PerPage: 10,\\n      Page:    1,\\n    }\\n\\n    client.Projects.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nprojects = client.projects.all\\nprojects.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a project, send a POST request to `/v2/projects`.\",\n        \"operationId\": \"projects_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"created_at\": {\n                        \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                        \"example\": \"2018-09-27T20:10:35Z\",\n                        \"format\": \"date-time\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"description\": {\n                        \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                        \"example\": \"My website API\",\n                        \"maxLength\": 255,\n                        \"type\": \"string\"\n                      },\n                      \"environment\": {\n                        \"description\": \"The environment of the project's resources.\",\n                        \"enum\": [\n                          \"Development\",\n                          \"Staging\",\n                          \"Production\"\n                        ],\n                        \"example\": \"Production\",\n                        \"type\": \"string\"\n                      },\n                      \"id\": {\n                        \"description\": \"The unique universal identifier of this project.\",\n                        \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                        \"format\": \"uuid\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"name\": {\n                        \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                        \"example\": \"my-web-api\",\n                        \"maxLength\": 175,\n                        \"type\": \"string\"\n                      },\n                      \"owner_id\": {\n                        \"description\": \"The integer id of the project owner.\",\n                        \"example\": 258992,\n                        \"readOnly\": true,\n                        \"type\": \"integer\"\n                      },\n                      \"owner_uuid\": {\n                        \"description\": \"The unique universal identifier of the project owner.\",\n                        \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"purpose\": {\n                        \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                        \"example\": \"Service or API\",\n                        \"maxLength\": 255,\n                        \"type\": \"string\"\n                      },\n                      \"updated_at\": {\n                        \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                        \"example\": \"2018-09-27T20:10:35Z\",\n                        \"format\": \"date-time\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  }\n                ],\n                \"required\": [\n                  \"name\",\n                  \"purpose\"\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"project\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"description\": {\n                              \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                              \"example\": \"My website API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"environment\": {\n                              \"description\": \"The environment of the project's resources.\",\n                              \"enum\": [\n                                \"Development\",\n                                \"Staging\",\n                                \"Production\"\n                              ],\n                              \"example\": \"Production\",\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"The unique universal identifier of this project.\",\n                              \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                              \"example\": \"my-web-api\",\n                              \"maxLength\": 175,\n                              \"type\": \"string\"\n                            },\n                            \"owner_id\": {\n                              \"description\": \"The integer id of the project owner.\",\n                              \"example\": 258992,\n                              \"readOnly\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"owner_uuid\": {\n                              \"description\": \"The unique universal identifier of the project owner.\",\n                              \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"purpose\": {\n                              \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                              \"example\": \"Service or API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"is_default\": {\n                              \"description\": \"If true, all resources will be added to this project if no project is specified.\",\n                              \"example\": false,\n                              \"type\": \"boolean\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a Project\",\n        \"tags\": [\n          \"Projects\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"my-web-api\\\", \\\"description\\\": \\\"My website API\\\", \\\"purpose\\\": \\\"Service or API\\\", \\\"environment\\\": \\\"Production\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/projects\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createReq := &godo.CreateProjectRequest{\\n      Name:        \\\"my-web-api\\\",\\n      Description: \\\"My website API\\\",\\n      Purpose:     \\\"Service or API\\\",\\n      Environment: \\\"Production\\\",\\n    }\\n\\n    client.Projects.Create(ctx, createReq)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nproject = DropletKit::Project.new(\\n  name: 'my-api',\\n  description: 'My website API',\\n  purpose: 'Service or API',\\n  environment: 'Production'\\n)\\nclient.projects.create(project)\"\n          }\n        ]\n      }\n    },\n    \"/v2/projects/default\": {\n      \"get\": {\n        \"description\": \"To get your default project, send a GET request to `/v2/projects/default`.\",\n        \"operationId\": \"projects_get_default\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"project\": {\n                      \"created_at\": \"2017-10-19T21:44:20Z\",\n                      \"description\": \"Default project\",\n                      \"environment\": \"Development\",\n                      \"id\": \"addb4547-6bab-419a-8542-76263a033cf6\",\n                      \"is_default\": true,\n                      \"name\": \"Default\",\n                      \"owner_id\": 258992,\n                      \"owner_uuid\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                      \"purpose\": \"Just trying out DigitalOcean\",\n                      \"updated_at\": \"2019-11-05T18:50:03Z\"\n                    }\n                  },\n                  \"properties\": {\n                    \"project\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"description\": {\n                              \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                              \"example\": \"My website API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"environment\": {\n                              \"description\": \"The environment of the project's resources.\",\n                              \"enum\": [\n                                \"Development\",\n                                \"Staging\",\n                                \"Production\"\n                              ],\n                              \"example\": \"Production\",\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"The unique universal identifier of this project.\",\n                              \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                              \"example\": \"my-web-api\",\n                              \"maxLength\": 175,\n                              \"type\": \"string\"\n                            },\n                            \"owner_id\": {\n                              \"description\": \"The integer id of the project owner.\",\n                              \"example\": 258992,\n                              \"readOnly\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"owner_uuid\": {\n                              \"description\": \"The unique universal identifier of the project owner.\",\n                              \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"purpose\": {\n                              \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                              \"example\": \"Service or API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"is_default\": {\n                              \"description\": \"If true, all resources will be added to this project if no project is specified.\",\n                              \"example\": false,\n                              \"type\": \"boolean\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve the Default Project\",\n        \"tags\": [\n          \"Projects\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/projects/default\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    client.Projects.GetDefault(ctx)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.projects.find_default\"\n          }\n        ]\n      },\n      \"patch\": {\n        \"description\": \"To update only specific attributes of your default project, send a PATCH request to `/v2/projects/default`. At least one of the following attributes needs to be sent.\",\n        \"operationId\": \"projects_patch_default\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"name\": \"my-web-api\"\n              },\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"created_at\": {\n                        \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                        \"example\": \"2018-09-27T20:10:35Z\",\n                        \"format\": \"date-time\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"description\": {\n                        \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                        \"example\": \"My website API\",\n                        \"maxLength\": 255,\n                        \"type\": \"string\"\n                      },\n                      \"environment\": {\n                        \"description\": \"The environment of the project's resources.\",\n                        \"enum\": [\n                          \"Development\",\n                          \"Staging\",\n                          \"Production\"\n                        ],\n                        \"example\": \"Production\",\n                        \"type\": \"string\"\n                      },\n                      \"id\": {\n                        \"description\": \"The unique universal identifier of this project.\",\n                        \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                        \"format\": \"uuid\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"name\": {\n                        \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                        \"example\": \"my-web-api\",\n                        \"maxLength\": 175,\n                        \"type\": \"string\"\n                      },\n                      \"owner_id\": {\n                        \"description\": \"The integer id of the project owner.\",\n                        \"example\": 258992,\n                        \"readOnly\": true,\n                        \"type\": \"integer\"\n                      },\n                      \"owner_uuid\": {\n                        \"description\": \"The unique universal identifier of the project owner.\",\n                        \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"purpose\": {\n                        \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                        \"example\": \"Service or API\",\n                        \"maxLength\": 255,\n                        \"type\": \"string\"\n                      },\n                      \"updated_at\": {\n                        \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                        \"example\": \"2018-09-27T20:10:35Z\",\n                        \"format\": \"date-time\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"properties\": {\n                      \"is_default\": {\n                        \"description\": \"If true, all resources will be added to this project if no project is specified.\",\n                        \"example\": false,\n                        \"type\": \"boolean\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  }\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"project\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"description\": {\n                              \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                              \"example\": \"My website API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"environment\": {\n                              \"description\": \"The environment of the project's resources.\",\n                              \"enum\": [\n                                \"Development\",\n                                \"Staging\",\n                                \"Production\"\n                              ],\n                              \"example\": \"Production\",\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"The unique universal identifier of this project.\",\n                              \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                              \"example\": \"my-web-api\",\n                              \"maxLength\": 175,\n                              \"type\": \"string\"\n                            },\n                            \"owner_id\": {\n                              \"description\": \"The integer id of the project owner.\",\n                              \"example\": 258992,\n                              \"readOnly\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"owner_uuid\": {\n                              \"description\": \"The unique universal identifier of the project owner.\",\n                              \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"purpose\": {\n                              \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                              \"example\": \"Service or API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"is_default\": {\n                              \"description\": \"If true, all resources will be added to this project if no project is specified.\",\n                              \"example\": false,\n                              \"type\": \"boolean\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Patch the Default Project\",\n        \"tags\": [\n          \"Projects\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PATCH \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"environment\\\": \\\"Staging\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/projects/default\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    updateReq := &godo.UpdateProjectRequest{\\n      Environment: \\\"Staging\\\",\\n    }\\n\\n    client.Projects.Update(ctx, godo.DefaultProject, updateReq)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nproject = client.projects.find_default\\nproject.environment = 'Staging'\\nclient.projects.update(project, id: 'default')\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update you default project, send a PUT request to `/v2/projects/default`. All of the following attributes must be sent.\",\n        \"operationId\": \"projects_update_default\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                            \"example\": \"2018-09-27T20:10:35Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"description\": {\n                            \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                            \"example\": \"My website API\",\n                            \"maxLength\": 255,\n                            \"type\": \"string\"\n                          },\n                          \"environment\": {\n                            \"description\": \"The environment of the project's resources.\",\n                            \"enum\": [\n                              \"Development\",\n                              \"Staging\",\n                              \"Production\"\n                            ],\n                            \"example\": \"Production\",\n                            \"type\": \"string\"\n                          },\n                          \"id\": {\n                            \"description\": \"The unique universal identifier of this project.\",\n                            \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                            \"example\": \"my-web-api\",\n                            \"maxLength\": 175,\n                            \"type\": \"string\"\n                          },\n                          \"owner_id\": {\n                            \"description\": \"The integer id of the project owner.\",\n                            \"example\": 258992,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"owner_uuid\": {\n                            \"description\": \"The unique universal identifier of the project owner.\",\n                            \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"purpose\": {\n                            \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                            \"example\": \"Service or API\",\n                            \"maxLength\": 255,\n                            \"type\": \"string\"\n                          },\n                          \"updated_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                            \"example\": \"2018-09-27T20:10:35Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"is_default\": {\n                            \"description\": \"If true, all resources will be added to this project if no project is specified.\",\n                            \"example\": false,\n                            \"type\": \"boolean\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ]\n                  }\n                ],\n                \"required\": [\n                  \"name\",\n                  \"description\",\n                  \"purpose\",\n                  \"environment\",\n                  \"is_default\"\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"project\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"description\": {\n                              \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                              \"example\": \"My website API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"environment\": {\n                              \"description\": \"The environment of the project's resources.\",\n                              \"enum\": [\n                                \"Development\",\n                                \"Staging\",\n                                \"Production\"\n                              ],\n                              \"example\": \"Production\",\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"The unique universal identifier of this project.\",\n                              \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                              \"example\": \"my-web-api\",\n                              \"maxLength\": 175,\n                              \"type\": \"string\"\n                            },\n                            \"owner_id\": {\n                              \"description\": \"The integer id of the project owner.\",\n                              \"example\": 258992,\n                              \"readOnly\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"owner_uuid\": {\n                              \"description\": \"The unique universal identifier of the project owner.\",\n                              \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"purpose\": {\n                              \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                              \"example\": \"Service or API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"is_default\": {\n                              \"description\": \"If true, all resources will be added to this project if no project is specified.\",\n                              \"example\": false,\n                              \"type\": \"boolean\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update the Default Project\",\n        \"tags\": [\n          \"Projects\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"my-web-api\\\", \\\"description\\\": \\\"My website API\\\", \\\"purpose\\\": \\\"Service or API\\\", \\\"environment\\\": \\\"Staging\\\", \\\"is_default\\\": false}' \\\\\\n  \\\"https://api.digitalocean.com/v2/projects/default\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    updateReq := &godo.UpdateProjectRequest{\\n      Name:        \\\"my-web-api\\\",\\n      Description: \\\"My website API\\\",\\n      Purpose:     \\\"Service or API\\\",\\n      Environment: \\\"Staging\\\",\\n      IsDefault:   false,\\n    }\\n\\n    client.Projects.Update(ctx, godo.DefaultProject, updateReq)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nproject = client.projects.find_default\\nproject.environment = 'Staging'\\nclient.projects.update(project, id: 'default')\"\n          }\n        ]\n      }\n    },\n    \"/v2/projects/default/resources\": {\n      \"get\": {\n        \"description\": \"To list all your resources in your default project, send a GET request to `/v2/projects/default/resources`.\",\n        \"operationId\": \"projects_list_resources_default\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"resources\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"assigned_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                                \"example\": \"2018-09-28T19:26:37Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"links\": {\n                                \"description\": \"The links object contains the `self` object, which contains the resource relationship.\",\n                                \"properties\": {\n                                  \"self\": {\n                                    \"description\": \"A URI that can be used to retrieve the resource.\",\n                                    \"example\": \"https://api.digitalocean.com/v2/droplets/13457723\",\n                                    \"format\": \"uri\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"status\": {\n                                \"description\": \"The status of assigning and fetching the resources.\",\n                                \"enum\": [\n                                  \"ok\",\n                                  \"not_found\",\n                                  \"assigned\",\n                                  \"already_assigned\",\n                                  \"service_down\"\n                                ],\n                                \"example\": \"ok\",\n                                \"type\": \"string\"\n                              },\n                              \"urn\": {\n                                \"description\": \"The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.\",\n                                \"example\": \"do:droplet:13457723\",\n                                \"pattern\": \"^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {\n                      \"pages\": {\n                        \"first\": \"https://api.digitalocean.com/v2/projects/4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679/resources?page=1\",\n                        \"last\": \"https://api.digitalocean.com/v2/projects/4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679/resources?page=1\"\n                      }\n                    },\n                    \"meta\": {\n                      \"total\": 2\n                    },\n                    \"resources\": [\n                      {\n                        \"assigned_at\": \"2018-09-28T19:26:37Z\",\n                        \"links\": {\n                          \"self\": \"https://api.digitalocean.com/v2/droplets/13457723\"\n                        },\n                        \"status\": \"ok\",\n                        \"urn\": \"do:droplet:13457723\"\n                      },\n                      {\n                        \"assigned_at\": \"2019-03-31T16:24:14Z\",\n                        \"links\": {\n                          \"self\": \"https://api.digitalocean.com/v2/domains/example.com\"\n                        },\n                        \"status\": \"ok\",\n                        \"urn\": \"do:domain:example.com\"\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `resources`. The value of this will be an object with the standard resource attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Default Project Resources\",\n        \"tags\": [\n          \"Project Resources\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/projects/default/resources\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n      PerPage: 10,\\n      Page:    1,\\n    }\\n\\n    client.Projects.ListResources(ctx, godo.DefaultProject, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.projects.list_resources(id: 'default')\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To assign resources to your default project, send a POST request to `/v2/projects/default/resources`.\",\n        \"operationId\": \"projects_assign_resources_default\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"examples\": {\n                \"assign_resources\": {\n                  \"value\": {\n                    \"resources\": [\n                      \"do:droplet:13457723\",\n                      \"do:domain:example.com\"\n                    ]\n                  }\n                }\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"resources\": {\n                    \"description\": \"A list of uniform resource names (URNs) to be added to a project.\",\n                    \"example\": [\n                      \"do:droplet:13457723\"\n                    ],\n                    \"items\": {\n                      \"description\": \"The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.\",\n                      \"example\": \"do:droplet:13457723\",\n                      \"pattern\": \"^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*\",\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"resources\": [\n                      {\n                        \"assigned_at\": \"2018-09-28T19:26:37Z\",\n                        \"links\": {\n                          \"self\": \"https://api.digitalocean.com/v2/droplets/13457723\"\n                        },\n                        \"status\": \"ok\",\n                        \"urn\": \"do:droplet:13457723\"\n                      },\n                      {\n                        \"assigned_at\": \"2019-03-31T16:24:14Z\",\n                        \"links\": {\n                          \"self\": \"https://api.digitalocean.com/v2/domains/example.com\"\n                        },\n                        \"status\": \"ok\",\n                        \"urn\": \"do:domain:example.com\"\n                      }\n                    ]\n                  },\n                  \"properties\": {\n                    \"resources\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"assigned_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                            \"example\": \"2018-09-28T19:26:37Z\",\n                            \"format\": \"date-time\",\n                            \"type\": \"string\"\n                          },\n                          \"links\": {\n                            \"description\": \"The links object contains the `self` object, which contains the resource relationship.\",\n                            \"properties\": {\n                              \"self\": {\n                                \"description\": \"A URI that can be used to retrieve the resource.\",\n                                \"example\": \"https://api.digitalocean.com/v2/droplets/13457723\",\n                                \"format\": \"uri\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"status\": {\n                            \"description\": \"The status of assigning and fetching the resources.\",\n                            \"enum\": [\n                              \"ok\",\n                              \"not_found\",\n                              \"assigned\",\n                              \"already_assigned\",\n                              \"service_down\"\n                            ],\n                            \"example\": \"ok\",\n                            \"type\": \"string\"\n                          },\n                          \"urn\": {\n                            \"description\": \"The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.\",\n                            \"example\": \"do:droplet:13457723\",\n                            \"pattern\": \"^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `resources`. The value of this will be an object with the standard resource attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Assign Resources to Default Project\",\n        \"tags\": [\n          \"Project Resources\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"resources\\\": [\\\"do:droplet:1\\\", \\\"do:floatingip:192.168.99.100\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/projects/default/resources\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    res := []interface{}{\\n      &godo.Droplet{ID: 1},\\n      \\\"do:droplet:42\\\",\\n      &godo.FloatingIP{IP: \\\"192.168.99.100\\\"},\\n    }\\n\\n    client.Projects.AssignResources(ctx, godo.DefaultProject, res...)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nresource = DropletKit::ProjectAssignment.new(urn: 'do:droplet:1')\\nclient.projects.assign_resources([resource], id: 'default')\"\n          }\n        ]\n      }\n    },\n    \"/v2/projects/{project_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a project, send a DELETE request to `/v2/projects/$PROJECT_ID`. To\\nbe deleted, a project must not have any resources assigned to it. Any existing\\nresources must first be reassigned or destroyed, or you will receive a 412 error.\\n\\nA successful request will receive a 204 status code with no body in response.\\nThis indicates that the request was processed successfully.\\n\",\n        \"operationId\": \"projects_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a project.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"project_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"412\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"precondition_failed\",\n                  \"message\": \"cannot delete a project with resources. move or remove the resources first\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Only an empty project can be deleted.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete an Existing Project\",\n        \"tags\": [\n          \"Projects\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE -H 'Content-Type: application/json' -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/projects/4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Projects.Delete(ctx, '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679')\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.projects.delete(id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679') \"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To get a project, send a GET request to `/v2/projects/$PROJECT_ID`.\",\n        \"operationId\": \"projects_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a project.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"project_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"project\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"description\": {\n                              \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                              \"example\": \"My website API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"environment\": {\n                              \"description\": \"The environment of the project's resources.\",\n                              \"enum\": [\n                                \"Development\",\n                                \"Staging\",\n                                \"Production\"\n                              ],\n                              \"example\": \"Production\",\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"The unique universal identifier of this project.\",\n                              \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                              \"example\": \"my-web-api\",\n                              \"maxLength\": 175,\n                              \"type\": \"string\"\n                            },\n                            \"owner_id\": {\n                              \"description\": \"The integer id of the project owner.\",\n                              \"example\": 258992,\n                              \"readOnly\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"owner_uuid\": {\n                              \"description\": \"The unique universal identifier of the project owner.\",\n                              \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"purpose\": {\n                              \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                              \"example\": \"Service or API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"is_default\": {\n                              \"description\": \"If true, all resources will be added to this project if no project is specified.\",\n                              \"example\": false,\n                              \"type\": \"boolean\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Project\",\n        \"tags\": [\n          \"Projects\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/projects/4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    client.Projects.Get(ctx, \\\"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nproject = client.projects.find(id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679')\"\n          }\n        ]\n      },\n      \"patch\": {\n        \"description\": \"To update only specific attributes of a project, send a PATCH request to `/v2/projects/$PROJECT_ID`. At least one of the following attributes needs to be sent.\",\n        \"operationId\": \"projects_patch\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a project.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"project_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"name\": \"my-web-api\"\n              },\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"created_at\": {\n                        \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                        \"example\": \"2018-09-27T20:10:35Z\",\n                        \"format\": \"date-time\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"description\": {\n                        \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                        \"example\": \"My website API\",\n                        \"maxLength\": 255,\n                        \"type\": \"string\"\n                      },\n                      \"environment\": {\n                        \"description\": \"The environment of the project's resources.\",\n                        \"enum\": [\n                          \"Development\",\n                          \"Staging\",\n                          \"Production\"\n                        ],\n                        \"example\": \"Production\",\n                        \"type\": \"string\"\n                      },\n                      \"id\": {\n                        \"description\": \"The unique universal identifier of this project.\",\n                        \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                        \"format\": \"uuid\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"name\": {\n                        \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                        \"example\": \"my-web-api\",\n                        \"maxLength\": 175,\n                        \"type\": \"string\"\n                      },\n                      \"owner_id\": {\n                        \"description\": \"The integer id of the project owner.\",\n                        \"example\": 258992,\n                        \"readOnly\": true,\n                        \"type\": \"integer\"\n                      },\n                      \"owner_uuid\": {\n                        \"description\": \"The unique universal identifier of the project owner.\",\n                        \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      },\n                      \"purpose\": {\n                        \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                        \"example\": \"Service or API\",\n                        \"maxLength\": 255,\n                        \"type\": \"string\"\n                      },\n                      \"updated_at\": {\n                        \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                        \"example\": \"2018-09-27T20:10:35Z\",\n                        \"format\": \"date-time\",\n                        \"readOnly\": true,\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"properties\": {\n                      \"is_default\": {\n                        \"description\": \"If true, all resources will be added to this project if no project is specified.\",\n                        \"example\": false,\n                        \"type\": \"boolean\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  }\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"project\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"description\": {\n                              \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                              \"example\": \"My website API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"environment\": {\n                              \"description\": \"The environment of the project's resources.\",\n                              \"enum\": [\n                                \"Development\",\n                                \"Staging\",\n                                \"Production\"\n                              ],\n                              \"example\": \"Production\",\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"The unique universal identifier of this project.\",\n                              \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                              \"example\": \"my-web-api\",\n                              \"maxLength\": 175,\n                              \"type\": \"string\"\n                            },\n                            \"owner_id\": {\n                              \"description\": \"The integer id of the project owner.\",\n                              \"example\": 258992,\n                              \"readOnly\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"owner_uuid\": {\n                              \"description\": \"The unique universal identifier of the project owner.\",\n                              \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"purpose\": {\n                              \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                              \"example\": \"Service or API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"is_default\": {\n                              \"description\": \"If true, all resources will be added to this project if no project is specified.\",\n                              \"example\": false,\n                              \"type\": \"boolean\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Patch a Project\",\n        \"tags\": [\n          \"Projects\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PATCH \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"environment\\\": \\\"Staging\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/projects/4e1bfbc3\\\\\\n  -dc3e-41f2-a18f-1b4d7ba71679\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    updateReq := &godo.UpdateProjectRequest{\\n      Environment: \\\"Staging\\\",\\n    }\\n\\n    client.Projects.Update(ctx, \\\"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\\\", updateReq)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nproject = client.projects.find(id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679')\\nproject.environment = 'Staging'\\nclient.projects.update(project, id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679')\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update a project, send a PUT request to `/v2/projects/$PROJECT_ID`. All of the following attributes must be sent.\",\n        \"operationId\": \"projects_update\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a project.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"project_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                            \"example\": \"2018-09-27T20:10:35Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"description\": {\n                            \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                            \"example\": \"My website API\",\n                            \"maxLength\": 255,\n                            \"type\": \"string\"\n                          },\n                          \"environment\": {\n                            \"description\": \"The environment of the project's resources.\",\n                            \"enum\": [\n                              \"Development\",\n                              \"Staging\",\n                              \"Production\"\n                            ],\n                            \"example\": \"Production\",\n                            \"type\": \"string\"\n                          },\n                          \"id\": {\n                            \"description\": \"The unique universal identifier of this project.\",\n                            \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                            \"example\": \"my-web-api\",\n                            \"maxLength\": 175,\n                            \"type\": \"string\"\n                          },\n                          \"owner_id\": {\n                            \"description\": \"The integer id of the project owner.\",\n                            \"example\": 258992,\n                            \"readOnly\": true,\n                            \"type\": \"integer\"\n                          },\n                          \"owner_uuid\": {\n                            \"description\": \"The unique universal identifier of the project owner.\",\n                            \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"purpose\": {\n                            \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                            \"example\": \"Service or API\",\n                            \"maxLength\": 255,\n                            \"type\": \"string\"\n                          },\n                          \"updated_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                            \"example\": \"2018-09-27T20:10:35Z\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"is_default\": {\n                            \"description\": \"If true, all resources will be added to this project if no project is specified.\",\n                            \"example\": false,\n                            \"type\": \"boolean\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ]\n                  }\n                ],\n                \"required\": [\n                  \"name\",\n                  \"description\",\n                  \"purpose\",\n                  \"environment\",\n                  \"is_default\"\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"project\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"description\": {\n                              \"description\": \"The description of the project. The maximum length is 255 characters.\",\n                              \"example\": \"My website API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"environment\": {\n                              \"description\": \"The environment of the project's resources.\",\n                              \"enum\": [\n                                \"Development\",\n                                \"Staging\",\n                                \"Production\"\n                              ],\n                              \"example\": \"Production\",\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"The unique universal identifier of this project.\",\n                              \"example\": \"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The human-readable name for the project. The maximum length is 175 characters and the name must be unique.\",\n                              \"example\": \"my-web-api\",\n                              \"maxLength\": 175,\n                              \"type\": \"string\"\n                            },\n                            \"owner_id\": {\n                              \"description\": \"The integer id of the project owner.\",\n                              \"example\": 258992,\n                              \"readOnly\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"owner_uuid\": {\n                              \"description\": \"The unique universal identifier of the project owner.\",\n                              \"example\": \"99525febec065ca37b2ffe4f852fd2b2581895e7\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"purpose\": {\n                              \"description\": \"The purpose of the project. The maximum length is 255 characters. It can\\nhave one of the following values:\\n\\n- Just trying out DigitalOcean\\n- Class project / Educational purposes\\n- Website or blog\\n- Web Application\\n- Service or API\\n- Mobile Application\\n- Machine learning / AI / Data processing\\n- IoT\\n- Operational / Developer tooling\\n\\nIf another value for purpose is specified, for example, \\\"your custom purpose\\\",\\nyour purpose will be stored as `Other: your custom purpose`.\\n\",\n                              \"example\": \"Service or API\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"updated_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was updated.\",\n                              \"example\": \"2018-09-27T20:10:35Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"is_default\": {\n                              \"description\": \"If true, all resources will be added to this project if no project is specified.\",\n                              \"example\": false,\n                              \"type\": \"boolean\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update a Project\",\n        \"tags\": [\n          \"Projects\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"my-web-api\\\", \\\"description\\\": \\\"My website API\\\", \\\"purpose\\\": \\\"Service or API\\\", \\\"environment\\\": \\\"Staging\\\", \\\"is_default\\\": false}' \\\\\\n  \\\"https://api.digitalocean.com/v2/projects/4e1bfbc3\\\\\\n  -dc3e-41f2-a18f-1b4d7ba71679\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    updateReq := &godo.UpdateProjectRequest{\\n      Name:        \\\"my-web-api\\\",\\n      Description: \\\"My website API\\\",\\n      Purpose:     \\\"Service or API\\\",\\n      Environment: \\\"Staging\\\",\\n      IsDefault:   false,\\n    }\\n\\n    client.Projects.Update(ctx, \\\"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\\\", updateReq)\\n\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nproject = client.projects.find(id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679')\\nproject.environment = 'Staging'\\nclient.projects.update(project, id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679')\"\n          }\n        ]\n      }\n    },\n    \"/v2/projects/{project_id}/resources\": {\n      \"get\": {\n        \"description\": \"To list all your resources in a project, send a GET request to `/v2/projects/$PROJECT_ID/resources`.\",\n        \"operationId\": \"projects_list_resources\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a project.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"project_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"resources\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"assigned_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                                \"example\": \"2018-09-28T19:26:37Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"links\": {\n                                \"description\": \"The links object contains the `self` object, which contains the resource relationship.\",\n                                \"properties\": {\n                                  \"self\": {\n                                    \"description\": \"A URI that can be used to retrieve the resource.\",\n                                    \"example\": \"https://api.digitalocean.com/v2/droplets/13457723\",\n                                    \"format\": \"uri\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"status\": {\n                                \"description\": \"The status of assigning and fetching the resources.\",\n                                \"enum\": [\n                                  \"ok\",\n                                  \"not_found\",\n                                  \"assigned\",\n                                  \"already_assigned\",\n                                  \"service_down\"\n                                ],\n                                \"example\": \"ok\",\n                                \"type\": \"string\"\n                              },\n                              \"urn\": {\n                                \"description\": \"The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.\",\n                                \"example\": \"do:droplet:13457723\",\n                                \"pattern\": \"^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {\n                      \"pages\": {\n                        \"first\": \"https://api.digitalocean.com/v2/projects/4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679/resources?page=1\",\n                        \"last\": \"https://api.digitalocean.com/v2/projects/4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679/resources?page=1\"\n                      }\n                    },\n                    \"meta\": {\n                      \"total\": 2\n                    },\n                    \"resources\": [\n                      {\n                        \"assigned_at\": \"2018-09-28T19:26:37Z\",\n                        \"links\": {\n                          \"self\": \"https://api.digitalocean.com/v2/droplets/13457723\"\n                        },\n                        \"status\": \"ok\",\n                        \"urn\": \"do:droplet:13457723\"\n                      },\n                      {\n                        \"assigned_at\": \"2019-03-31T16:24:14Z\",\n                        \"links\": {\n                          \"self\": \"https://api.digitalocean.com/v2/domains/example.com\"\n                        },\n                        \"status\": \"ok\",\n                        \"urn\": \"do:domain:example.com\"\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `resources`. The value of this will be an object with the standard resource attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Project Resources\",\n        \"tags\": [\n          \"Project Resources\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/projects/4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679/resources\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n      PerPage: 10,\\n      Page:    1,\\n    }\\n\\n    client.Projects.ListResources(ctx, \\\"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\\\", opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.projects.list_resources(id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679')\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To assign resources to a project, send a POST request to `/v2/projects/$PROJECT_ID/resources`.\",\n        \"operationId\": \"projects_assign_resources\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a project.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"project_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"examples\": {\n                \"assign_resources\": {\n                  \"value\": {\n                    \"resources\": [\n                      \"do:droplet:13457723\",\n                      \"do:domain:example.com\"\n                    ]\n                  }\n                }\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"resources\": {\n                    \"description\": \"A list of uniform resource names (URNs) to be added to a project.\",\n                    \"example\": [\n                      \"do:droplet:13457723\"\n                    ],\n                    \"items\": {\n                      \"description\": \"The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.\",\n                      \"example\": \"do:droplet:13457723\",\n                      \"pattern\": \"^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*\",\n                      \"type\": \"string\"\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"resources\": [\n                      {\n                        \"assigned_at\": \"2018-09-28T19:26:37Z\",\n                        \"links\": {\n                          \"self\": \"https://api.digitalocean.com/v2/droplets/13457723\"\n                        },\n                        \"status\": \"ok\",\n                        \"urn\": \"do:droplet:13457723\"\n                      },\n                      {\n                        \"assigned_at\": \"2019-03-31T16:24:14Z\",\n                        \"links\": {\n                          \"self\": \"https://api.digitalocean.com/v2/domains/example.com\"\n                        },\n                        \"status\": \"ok\",\n                        \"urn\": \"do:domain:example.com\"\n                      }\n                    ]\n                  },\n                  \"properties\": {\n                    \"resources\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"assigned_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the project was created.\",\n                            \"example\": \"2018-09-28T19:26:37Z\",\n                            \"format\": \"date-time\",\n                            \"type\": \"string\"\n                          },\n                          \"links\": {\n                            \"description\": \"The links object contains the `self` object, which contains the resource relationship.\",\n                            \"properties\": {\n                              \"self\": {\n                                \"description\": \"A URI that can be used to retrieve the resource.\",\n                                \"example\": \"https://api.digitalocean.com/v2/droplets/13457723\",\n                                \"format\": \"uri\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"status\": {\n                            \"description\": \"The status of assigning and fetching the resources.\",\n                            \"enum\": [\n                              \"ok\",\n                              \"not_found\",\n                              \"assigned\",\n                              \"already_assigned\",\n                              \"service_down\"\n                            ],\n                            \"example\": \"ok\",\n                            \"type\": \"string\"\n                          },\n                          \"urn\": {\n                            \"description\": \"The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.\",\n                            \"example\": \"do:droplet:13457723\",\n                            \"pattern\": \"^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `resources`. The value of this will be an object with the standard resource attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Assign Resources to a Project\",\n        \"tags\": [\n          \"Project Resources\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"resources\\\": [\\\"do:droplet:1\\\", \\\"do:floatingip:192.168.99.100\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/projects/4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679/resources\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    res := []interface{}{\\n      &godo.Droplet{ID: 1},\\n      \\\"do:droplet:42\\\",\\n      &godo.FloatingIP{IP: \\\"192.168.99.100\\\"},\\n    }\\n\\n    client.Projects.AssignResources(ctx, \\\"4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679\\\", res...)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nresource = DropletKit::ProjectAssignment.new(urn: 'do:droplet:1')\\nclient.projects.assign_resources([resource], id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679')\"\n          }\n        ]\n      }\n    },\n    \"/v2/regions\": {\n      \"get\": {\n        \"description\": \"To list all of the regions that are available, send a GET request to `/v2/regions`.\\nThe response will be a JSON object with a key called `regions`. The value of this will be an array of `region` objects, each of which will contain the standard region attributes.\",\n        \"operationId\": \"regions_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"regions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"available\": {\n                                \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"features\": {\n                                \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                \"example\": [\n                                  \"private_networking\",\n                                  \"backups\",\n                                  \"ipv6\",\n                                  \"metadata\",\n                                  \"install_agent\",\n                                  \"storage\",\n                                  \"image_transfer\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"name\": {\n                                \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                \"example\": \"New York 3\",\n                                \"type\": \"string\"\n                              },\n                              \"sizes\": {\n                                \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                \"example\": [\n                                  \"s-1vcpu-1gb\",\n                                  \"s-1vcpu-2gb\",\n                                  \"s-1vcpu-3gb\",\n                                  \"s-2vcpu-2gb\",\n                                  \"s-3vcpu-1gb\",\n                                  \"s-2vcpu-4gb\",\n                                  \"s-4vcpu-8gb\",\n                                  \"s-6vcpu-16gb\",\n                                  \"s-8vcpu-32gb\",\n                                  \"s-12vcpu-48gb\",\n                                  \"s-16vcpu-64gb\",\n                                  \"s-20vcpu-96gb\",\n                                  \"s-24vcpu-128gb\",\n                                  \"s-32vcpu-192g\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"slug\": {\n                                \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                \"example\": \"nyc3\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"required\": [\n                              \"available\",\n                              \"features\",\n                              \"name\",\n                              \"sizes\",\n                              \"slug\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"required\": [\n                        \"regions\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {\n                      \"pages\": {\n                        \"last\": \"https://api.digitalocean.com/v2/regions?page=13&per_page=1\",\n                        \"next\": \"https://api.digitalocean.com/v2/regions?page=2&per_page=1\"\n                      }\n                    },\n                    \"meta\": {\n                      \"total\": 13\n                    },\n                    \"regions\": [\n                      {\n                        \"available\": true,\n                        \"features\": [\n                          \"private_networking\",\n                          \"backups\",\n                          \"ipv6\",\n                          \"metadata\",\n                          \"install_agent\",\n                          \"storage\",\n                          \"image_transfer\"\n                        ],\n                        \"name\": \"New York 3\",\n                        \"sizes\": [\n                          \"s-1vcpu-1gb\",\n                          \"s-1vcpu-2gb\",\n                          \"s-1vcpu-3gb\",\n                          \"s-2vcpu-2gb\",\n                          \"s-3vcpu-1gb\",\n                          \"s-2vcpu-4gb\",\n                          \"s-4vcpu-8gb\",\n                          \"s-6vcpu-16gb\",\n                          \"s-8vcpu-32gb\",\n                          \"s-12vcpu-48gb\",\n                          \"s-16vcpu-64gb\",\n                          \"s-20vcpu-96gb\",\n                          \"s-24vcpu-128gb\",\n                          \"s-32vcpu-192g\"\n                        ],\n                        \"slug\": \"nyc3\"\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key set to `regions`. The value is an array of `region` objects, each of which contain the standard `region` attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Data Center Regions\",\n        \"tags\": [\n          \"Regions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/regions\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    regions, _, err := client.Regions.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nregions = client.regions.all\\nregions.each\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry\": {\n      \"delete\": {\n        \"description\": \"To delete your container registry, destroying all container image data stored in it, send a DELETE request to `/v2/registry`.\",\n        \"operationId\": \"registry_delete\",\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete Container Registry\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry\\\"\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To get information about your container registry, send a GET request to `/v2/registry`.\",\n        \"operationId\": \"registry_get\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"registry\": {\n                      \"properties\": {\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the registry was created.\",\n                          \"example\": \"2020-03-21T16:02:37Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"name\": {\n                          \"description\": \"A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters.\",\n                          \"example\": \"example\",\n                          \"maxLength\": 63,\n                          \"pattern\": \"^[a-z0-9-]{1,63}$\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"description\": \"Slug of the region where registry data is stored\",\n                          \"example\": \"fra1\",\n                          \"type\": \"string\"\n                        },\n                        \"storage_usage_bytes\": {\n                          \"description\": \"The amount of storage used in the registry in bytes.\",\n                          \"example\": 29393920,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"storage_usage_bytes_updated_at\": {\n                          \"description\": \"The time at which the storage usage was updated. Storage usage is calculated asynchronously, and may not immediately reflect pushes to the registry.\",\n                          \"example\": \"2020-11-04T21:39:49.530562231Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"subscription\": {\n                          \"allOf\": [\n                            {\n                              \"readOnly\": true\n                            },\n                            {\n                              \"properties\": {\n                                \"created_at\": {\n                                  \"description\": \"The time at which the subscription was created.\",\n                                  \"example\": \"2020-01-23T21:19:12Z\",\n                                  \"format\": \"date-time\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"tier\": {\n                                  \"properties\": {\n                                    \"allow_storage_overage\": {\n                                      \"description\": \"A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"included_bandwidth_bytes\": {\n                                      \"description\": \"The amount of outbound data transfer included in the subscription tier in bytes.\",\n                                      \"example\": 5368709120,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"included_repositories\": {\n                                      \"description\": \"The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories.\",\n                                      \"example\": 5,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"included_storage_bytes\": {\n                                      \"description\": \"The amount of storage included in the subscription tier in bytes.\",\n                                      \"example\": 5368709120,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"monthly_price_in_cents\": {\n                                      \"description\": \"The monthly cost of the subscription tier in cents.\",\n                                      \"example\": 500,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The name of the subscription tier.\",\n                                      \"example\": \"Basic\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"The slug identifier of the subscription tier.\",\n                                      \"example\": \"basic\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"storage_overage_price_in_cents\": {\n                                      \"description\": \"The price paid in cents per GiB for additional storage beyond what is included in the subscription plan.\",\n                                      \"example\": 2,\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"updated_at\": {\n                                  \"description\": \"The time at which the subscription was last updated.\",\n                                  \"example\": \"2020-11-05T15:53:24Z\",\n                                  \"format\": \"date-time\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ]\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with the key `registry` containing information about your registry.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Container Registry Information\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry\\\"\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create your container registry, send a POST request to `/v2/registry`.\\n\\nThe `name` becomes part of the URL for images stored in the registry. For\\nexample, if your registry is called `example`, an image in it will have the\\nURL `registry.digitalocean.com/example/image:tag`.\\n\",\n        \"operationId\": \"registry_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"name\": {\n                    \"description\": \"A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters.\",\n                    \"example\": \"example\",\n                    \"maxLength\": 63,\n                    \"pattern\": \"^[a-z0-9-]{1,63}$\",\n                    \"type\": \"string\"\n                  },\n                  \"region\": {\n                    \"description\": \"Slug of the region where registry data is stored. When not provided, a region will be selected.\",\n                    \"enum\": [\n                      \"nyc3\",\n                      \"sfo3\",\n                      \"ams3\",\n                      \"sgp1\",\n                      \"fra1\"\n                    ],\n                    \"example\": \"fra1\",\n                    \"type\": \"string\"\n                  },\n                  \"subscription_tier_slug\": {\n                    \"description\": \"The slug of the subscription tier to sign up for. Valid values can be retrieved using the options endpoint.\",\n                    \"enum\": [\n                      \"starter\",\n                      \"basic\",\n                      \"professional\"\n                    ],\n                    \"example\": \"basic\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"name\",\n                  \"subscription_tier_slug\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"registry\": {\n                      \"properties\": {\n                        \"created_at\": {\n                          \"description\": \"A time value given in ISO8601 combined date and time format that represents when the registry was created.\",\n                          \"example\": \"2020-03-21T16:02:37Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"name\": {\n                          \"description\": \"A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters.\",\n                          \"example\": \"example\",\n                          \"maxLength\": 63,\n                          \"pattern\": \"^[a-z0-9-]{1,63}$\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"description\": \"Slug of the region where registry data is stored\",\n                          \"example\": \"fra1\",\n                          \"type\": \"string\"\n                        },\n                        \"storage_usage_bytes\": {\n                          \"description\": \"The amount of storage used in the registry in bytes.\",\n                          \"example\": 29393920,\n                          \"readOnly\": true,\n                          \"type\": \"integer\"\n                        },\n                        \"storage_usage_bytes_updated_at\": {\n                          \"description\": \"The time at which the storage usage was updated. Storage usage is calculated asynchronously, and may not immediately reflect pushes to the registry.\",\n                          \"example\": \"2020-11-04T21:39:49.530562231Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"subscription\": {\n                          \"allOf\": [\n                            {\n                              \"readOnly\": true\n                            },\n                            {\n                              \"properties\": {\n                                \"created_at\": {\n                                  \"description\": \"The time at which the subscription was created.\",\n                                  \"example\": \"2020-01-23T21:19:12Z\",\n                                  \"format\": \"date-time\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                },\n                                \"tier\": {\n                                  \"properties\": {\n                                    \"allow_storage_overage\": {\n                                      \"description\": \"A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"included_bandwidth_bytes\": {\n                                      \"description\": \"The amount of outbound data transfer included in the subscription tier in bytes.\",\n                                      \"example\": 5368709120,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"included_repositories\": {\n                                      \"description\": \"The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories.\",\n                                      \"example\": 5,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"included_storage_bytes\": {\n                                      \"description\": \"The amount of storage included in the subscription tier in bytes.\",\n                                      \"example\": 5368709120,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"monthly_price_in_cents\": {\n                                      \"description\": \"The monthly cost of the subscription tier in cents.\",\n                                      \"example\": 500,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The name of the subscription tier.\",\n                                      \"example\": \"Basic\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"The slug identifier of the subscription tier.\",\n                                      \"example\": \"basic\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"storage_overage_price_in_cents\": {\n                                      \"description\": \"The price paid in cents per GiB for additional storage beyond what is included in the subscription plan.\",\n                                      \"example\": 2,\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"updated_at\": {\n                                  \"description\": \"The time at which the subscription was last updated.\",\n                                  \"example\": \"2020-11-05T15:53:24Z\",\n                                  \"format\": \"date-time\",\n                                  \"readOnly\": true,\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          ]\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with the key `registry` containing information about your registry.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create Container Registry\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"example\\\", \\\"subscription_tier_slug\\\": \\\"basic\\\", \\\"region\\\": \\\"fra1\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/registry\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/docker-credentials\": {\n      \"get\": {\n        \"description\": \"In order to access your container registry with the Docker client or from a\\nKubernetes cluster, you will need to configure authentication. The necessary\\nJSON configuration can be retrieved by sending a GET request to\\n`/v2/registry/docker-credentials`.\\n\\nThe response will be in the format of a Docker `config.json` file. To use the\\nconfig in your Kubernetes cluster, create a Secret with:\\n\\n    kubectl create secret generic docr \\\\\\n      --from-file=.dockerconfigjson=config.json \\\\\\n      --type=kubernetes.io/dockerconfigjson\\n\\nBy default, the returned credentials have read-only access to your registry\\nand cannot be used to push images. This is appropriate for most Kubernetes\\nclusters. To retrieve read/write credentials, suitable for use with the Docker\\nclient or in a CI system, read_write may be provided as query parameter. For\\nexample: `/v2/registry/docker-credentials?read_write=true`\\n\\nBy default, the returned credentials will not expire. To retrieve credentials\\nwith an expiry set, expiry_seconds may be provided as a query parameter. For\\nexample: `/v2/registry/docker-credentials?expiry_seconds=3600` will return\\ncredentials that expire after one hour.\\n\",\n        \"operationId\": \"registry_get_dockerCredentials\",\n        \"parameters\": [\n          {\n            \"description\": \"The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.\",\n            \"example\": 3600,\n            \"in\": \"query\",\n            \"name\": \"expiry_seconds\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 0,\n              \"minimum\": 0,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.\",\n            \"example\": true,\n            \"in\": \"query\",\n            \"name\": \"read_write\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": false,\n              \"type\": \"boolean\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"auths\": {\n                      \"properties\": {\n                        \"registry.digitalocean.com\": {\n                          \"properties\": {\n                            \"auth\": {\n                              \"description\": \"A base64 encoded string containing credentials for the container registry.\",\n                              \"example\": \"YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODI6YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODIK\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A Docker `config.json` file for the container registry.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Docker Credentials for Container Registry\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/docker-credentials\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/options\": {\n      \"get\": {\n        \"description\": \"This endpoint serves to provide additional information as to which option values are available when creating a container registry.\\nThere are multiple subscription tiers available for container registry. Each tier allows a different number of image repositories to be created in your registry, and has a different amount of storage and transfer included.\\nThere are multiple regions available for container registry and controls where your data is stored.\\nTo list the available options, send a GET request to `/v2/registry/options`.\",\n        \"operationId\": \"registry_get_options\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"options\": {\n                    \"available_regions\": [\n                      \"nyc3\",\n                      \"sfo3\",\n                      \"ams3\",\n                      \"sgp1\",\n                      \"fra1\"\n                    ],\n                    \"subscription_tiers\": [\n                      {\n                        \"allow_storage_overage\": false,\n                        \"eligibility_reasons\": [\n                          \"OverRepositoryLimit\"\n                        ],\n                        \"eligible\": false,\n                        \"included_bandwidth_bytes\": 524288000,\n                        \"included_repositories\": 1,\n                        \"included_storage_bytes\": 524288000,\n                        \"monthly_price_in_cents\": 0,\n                        \"name\": \"Starter\",\n                        \"slug\": \"starter\"\n                      },\n                      {\n                        \"allow_storage_overage\": true,\n                        \"eligible\": true,\n                        \"included_bandwidth_bytes\": 5368709120,\n                        \"included_repositories\": 5,\n                        \"included_storage_bytes\": 5368709120,\n                        \"monthly_price_in_cents\": 500,\n                        \"name\": \"Basic\",\n                        \"slug\": \"basic\"\n                      },\n                      {\n                        \"allow_storage_overage\": true,\n                        \"eligible\": true,\n                        \"included_bandwidth_bytes\": 107374182400,\n                        \"included_repositories\": 0,\n                        \"included_storage_bytes\": 107374182400,\n                        \"monthly_price_in_cents\": 2000,\n                        \"name\": \"Professional\",\n                        \"slug\": \"professional\"\n                      }\n                    ]\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"options\": {\n                      \"properties\": {\n                        \"available_regions\": {\n                          \"example\": [\n                            \"nyc3\"\n                          ],\n                          \"items\": {\n                            \"type\": \"string\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"subscription_tiers\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"allow_storage_overage\": {\n                                    \"description\": \"A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"included_bandwidth_bytes\": {\n                                    \"description\": \"The amount of outbound data transfer included in the subscription tier in bytes.\",\n                                    \"example\": 5368709120,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"included_repositories\": {\n                                    \"description\": \"The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories.\",\n                                    \"example\": 5,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"included_storage_bytes\": {\n                                    \"description\": \"The amount of storage included in the subscription tier in bytes.\",\n                                    \"example\": 5368709120,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"monthly_price_in_cents\": {\n                                    \"description\": \"The monthly cost of the subscription tier in cents.\",\n                                    \"example\": 500,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name of the subscription tier.\",\n                                    \"example\": \"Basic\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"The slug identifier of the subscription tier.\",\n                                    \"example\": \"basic\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"storage_overage_price_in_cents\": {\n                                    \"description\": \"The price paid in cents per GiB for additional storage beyond what is included in the subscription plan.\",\n                                    \"example\": 2,\n                                    \"type\": \"integer\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"eligibility_reasons\": {\n                                    \"description\": \"If your account is not eligible to use a certain subscription tier, this will include a list of reasons that prevent you from using the tier.\",\n                                    \"example\": [\n                                      \"OverRepositoryLimit\"\n                                    ],\n                                    \"items\": {\n                                      \"enum\": [\n                                        \"OverRepositoryLimit\",\n                                        \"OverStorageLimit\"\n                                      ],\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"eligible\": {\n                                    \"description\": \"A boolean indicating whether your account it eligible to use a certain subscription tier.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ]\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `options` which contains a key called `subscription_tiers` listing the available tiers.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Registry Options (Subscription Tiers and Available Regions)\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/options\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/subscription\": {\n      \"get\": {\n        \"description\": \"A subscription is automatically created when you configure your container registry. To get information about your subscription, send a GET request to `/v2/registry/subscription`.\",\n        \"operationId\": \"registry_get_subscription\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"subscription\": {\n                      \"properties\": {\n                        \"created_at\": {\n                          \"description\": \"The time at which the subscription was created.\",\n                          \"example\": \"2020-01-23T21:19:12Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"tier\": {\n                          \"properties\": {\n                            \"allow_storage_overage\": {\n                              \"description\": \"A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"included_bandwidth_bytes\": {\n                              \"description\": \"The amount of outbound data transfer included in the subscription tier in bytes.\",\n                              \"example\": 5368709120,\n                              \"type\": \"integer\"\n                            },\n                            \"included_repositories\": {\n                              \"description\": \"The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories.\",\n                              \"example\": 5,\n                              \"type\": \"integer\"\n                            },\n                            \"included_storage_bytes\": {\n                              \"description\": \"The amount of storage included in the subscription tier in bytes.\",\n                              \"example\": 5368709120,\n                              \"type\": \"integer\"\n                            },\n                            \"monthly_price_in_cents\": {\n                              \"description\": \"The monthly cost of the subscription tier in cents.\",\n                              \"example\": 500,\n                              \"type\": \"integer\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the subscription tier.\",\n                              \"example\": \"Basic\",\n                              \"type\": \"string\"\n                            },\n                            \"slug\": {\n                              \"description\": \"The slug identifier of the subscription tier.\",\n                              \"example\": \"basic\",\n                              \"type\": \"string\"\n                            },\n                            \"storage_overage_price_in_cents\": {\n                              \"description\": \"The price paid in cents per GiB for additional storage beyond what is included in the subscription plan.\",\n                              \"example\": 2,\n                              \"type\": \"integer\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"The time at which the subscription was last updated.\",\n                          \"example\": \"2020-11-05T15:53:24Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `subscription` containing information about your subscription.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Subscription Information\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/subscription\\\"\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"After creating your registry, you can switch to a different subscription tier to better suit your needs. To do this, send a POST request to `/v2/registry/subscription`.\",\n        \"operationId\": \"registry_update_subscription\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"tier_slug\": {\n                    \"description\": \"The slug of the subscription tier to sign up for.\",\n                    \"enum\": [\n                      \"starter\",\n                      \"basic\",\n                      \"professional\"\n                    ],\n                    \"example\": \"basic\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"subscription\": {\n                      \"properties\": {\n                        \"created_at\": {\n                          \"description\": \"The time at which the subscription was created.\",\n                          \"example\": \"2020-01-23T21:19:12Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        },\n                        \"tier\": {\n                          \"properties\": {\n                            \"allow_storage_overage\": {\n                              \"description\": \"A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"included_bandwidth_bytes\": {\n                              \"description\": \"The amount of outbound data transfer included in the subscription tier in bytes.\",\n                              \"example\": 5368709120,\n                              \"type\": \"integer\"\n                            },\n                            \"included_repositories\": {\n                              \"description\": \"The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories.\",\n                              \"example\": 5,\n                              \"type\": \"integer\"\n                            },\n                            \"included_storage_bytes\": {\n                              \"description\": \"The amount of storage included in the subscription tier in bytes.\",\n                              \"example\": 5368709120,\n                              \"type\": \"integer\"\n                            },\n                            \"monthly_price_in_cents\": {\n                              \"description\": \"The monthly cost of the subscription tier in cents.\",\n                              \"example\": 500,\n                              \"type\": \"integer\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the subscription tier.\",\n                              \"example\": \"Basic\",\n                              \"type\": \"string\"\n                            },\n                            \"slug\": {\n                              \"description\": \"The slug identifier of the subscription tier.\",\n                              \"example\": \"basic\",\n                              \"type\": \"string\"\n                            },\n                            \"storage_overage_price_in_cents\": {\n                              \"description\": \"The price paid in cents per GiB for additional storage beyond what is included in the subscription plan.\",\n                              \"example\": 2,\n                              \"type\": \"integer\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"The time at which the subscription was last updated.\",\n                          \"example\": \"2020-11-05T15:53:24Z\",\n                          \"format\": \"date-time\",\n                          \"readOnly\": true,\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `subscription` containing information about your subscription.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update Subscription Tier\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"tier_slug\\\": \\\"professional\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/subscription\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/validate-name\": {\n      \"post\": {\n        \"description\": \"To validate that a container registry name is available for use, send a POST\\nrequest to `/v2/registry/validate-name`.\\n\\nIf the name is both formatted correctly and available, the response code will\\nbe 204 and contain no body. If the name is already in use, the response will\\nbe a 409 Conflict.\\n\",\n        \"operationId\": \"registry_validate_name\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"name\": {\n                    \"description\": \"A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters.\",\n                    \"example\": \"example\",\n                    \"maxLength\": 63,\n                    \"pattern\": \"^[a-z0-9-]{1,63}$\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"required\": [\n                  \"name\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"409\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"conflict\",\n                  \"message\": \"The request could not be completed due to a conflict.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Conflict\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Validate a Container Registry Name\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\": \\\"example\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/validate-name\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/{registry_name}/garbage-collection\": {\n      \"get\": {\n        \"description\": \"To get information about the currently-active garbage collection for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collection`.\",\n        \"operationId\": \"registry_get_garbageCollection\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of a container registry.\",\n            \"example\": \"example\",\n            \"in\": \"path\",\n            \"name\": \"registry_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"garbage_collection\": {\n                      \"properties\": {\n                        \"blobs_deleted\": {\n                          \"description\": \"The number of blobs deleted as a result of this garbage collection.\",\n                          \"example\": 42,\n                          \"type\": \"integer\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"The time the garbage collection was created.\",\n                          \"example\": \"2020-10-30T21:03:24Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"freed_bytes\": {\n                          \"description\": \"The number of bytes freed as a result of this garbage collection.\",\n                          \"example\": 667,\n                          \"type\": \"integer\"\n                        },\n                        \"registry_name\": {\n                          \"description\": \"The name of the container registry.\",\n                          \"example\": \"example\",\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"description\": \"The current status of this garbage collection.\",\n                          \"enum\": [\n                            \"requested\",\n                            \"waiting for write JWTs to expire\",\n                            \"scanning manifests\",\n                            \"deleting unreferenced blobs\",\n                            \"cancelling\",\n                            \"failed\",\n                            \"succeeded\",\n                            \"cancelled\"\n                          ],\n                          \"example\": \"requested\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"The time the garbage collection was last updated.\",\n                          \"example\": \"2020-10-30T21:03:44Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"uuid\": {\n                          \"description\": \"A string specifying the UUID of the garbage collection.\",\n                          \"example\": \"eff0feee-49c7-4e8f-ba5c-a320c109c8a8\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key of `garbage_collection`. This will be a json object with attributes representing the currently-active garbage collection.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Get Active Garbage Collection\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/example/garbage-collection\\\"\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"Garbage collection enables users to clear out unreferenced blobs (layer &\\nmanifest data) after deleting one or more manifests from a repository. If\\nthere are no unreferenced blobs resulting from the deletion of one or more\\nmanifests, garbage collection is effectively a noop.\\n[See here for more information](https://www.digitalocean.com/docs/container-registry/how-to/clean-up-container-registry/)\\nabout how and why you should clean up your container registry periodically.\\n\\nTo request a garbage collection run on your registry, send a POST request to\\n`/v2/registry/$REGISTRY_NAME/garbage-collection`. This will initiate the\\nfollowing sequence of events on your registry.\\n\\n* Set the registry to read-only mode, meaning no further write-scoped\\n  JWTs will be issued to registry clients. Existing write-scoped JWTs will\\n  continue to work until they expire which can take up to 15 minutes.\\n* Wait until all existing write-scoped JWTs have expired.\\n* Scan all registry manifests to determine which blobs are unreferenced.\\n* Delete all unreferenced blobs from the registry.\\n* Record the number of blobs deleted and bytes freed, mark the garbage\\n  collection status as `success`.\\n* Remove the read-only mode restriction from the registry, meaning write-scoped\\n  JWTs will once again be issued to registry clients.\\n\",\n        \"operationId\": \"registry_run_garbageCollection\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of a container registry.\",\n            \"example\": \"example\",\n            \"in\": \"path\",\n            \"name\": \"registry_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"garbage_collection\": {\n                      \"properties\": {\n                        \"blobs_deleted\": {\n                          \"description\": \"The number of blobs deleted as a result of this garbage collection.\",\n                          \"example\": 42,\n                          \"type\": \"integer\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"The time the garbage collection was created.\",\n                          \"example\": \"2020-10-30T21:03:24Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"freed_bytes\": {\n                          \"description\": \"The number of bytes freed as a result of this garbage collection.\",\n                          \"example\": 667,\n                          \"type\": \"integer\"\n                        },\n                        \"registry_name\": {\n                          \"description\": \"The name of the container registry.\",\n                          \"example\": \"example\",\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"description\": \"The current status of this garbage collection.\",\n                          \"enum\": [\n                            \"requested\",\n                            \"waiting for write JWTs to expire\",\n                            \"scanning manifests\",\n                            \"deleting unreferenced blobs\",\n                            \"cancelling\",\n                            \"failed\",\n                            \"succeeded\",\n                            \"cancelled\"\n                          ],\n                          \"example\": \"requested\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"The time the garbage collection was last updated.\",\n                          \"example\": \"2020-10-30T21:03:44Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"uuid\": {\n                          \"description\": \"A string specifying the UUID of the garbage collection.\",\n                          \"example\": \"eff0feee-49c7-4e8f-ba5c-a320c109c8a8\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key of `garbage_collection`. This will be a json object with attributes representing the currently-active garbage collection.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Start Garbage Collection\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/example/garbage-collection\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}\": {\n      \"put\": {\n        \"description\": \"To cancel the currently-active garbage collection for a registry, send a PUT request to `/v2/registry/$REGISTRY_NAME/garbage-collection/$GC_UUID` and specify one or more of the attributes below.\",\n        \"operationId\": \"registry_update_garbageCollection\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of a container registry.\",\n            \"example\": \"example\",\n            \"in\": \"path\",\n            \"name\": \"registry_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The UUID of a garbage collection run.\",\n            \"example\": \"eff0feee-49c7-4e8f-ba5c-a320c109c8a8\",\n            \"in\": \"path\",\n            \"name\": \"garbage_collection_uuid\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"cancel\": {\n                    \"description\": \"A boolean value indicating that the garbage collection should be cancelled.\",\n                    \"example\": true,\n                    \"type\": \"boolean\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"garbage_collection\": {\n                      \"properties\": {\n                        \"blobs_deleted\": {\n                          \"description\": \"The number of blobs deleted as a result of this garbage collection.\",\n                          \"example\": 42,\n                          \"type\": \"integer\"\n                        },\n                        \"created_at\": {\n                          \"description\": \"The time the garbage collection was created.\",\n                          \"example\": \"2020-10-30T21:03:24Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"freed_bytes\": {\n                          \"description\": \"The number of bytes freed as a result of this garbage collection.\",\n                          \"example\": 667,\n                          \"type\": \"integer\"\n                        },\n                        \"registry_name\": {\n                          \"description\": \"The name of the container registry.\",\n                          \"example\": \"example\",\n                          \"type\": \"string\"\n                        },\n                        \"status\": {\n                          \"description\": \"The current status of this garbage collection.\",\n                          \"enum\": [\n                            \"requested\",\n                            \"waiting for write JWTs to expire\",\n                            \"scanning manifests\",\n                            \"deleting unreferenced blobs\",\n                            \"cancelling\",\n                            \"failed\",\n                            \"succeeded\",\n                            \"cancelled\"\n                          ],\n                          \"example\": \"requested\",\n                          \"type\": \"string\"\n                        },\n                        \"updated_at\": {\n                          \"description\": \"The time the garbage collection was last updated.\",\n                          \"example\": \"2020-10-30T21:03:44Z\",\n                          \"format\": \"date-time\",\n                          \"type\": \"string\"\n                        },\n                        \"uuid\": {\n                          \"description\": \"A string specifying the UUID of the garbage collection.\",\n                          \"example\": \"eff0feee-49c7-4e8f-ba5c-a320c109c8a8\",\n                          \"type\": \"string\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key of `garbage_collection`. This will be a json object with attributes representing the currently-active garbage collection.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update Garbage Collection\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/example/garbage-collection/example-gc-uuid\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/{registry_name}/garbage-collections\": {\n      \"get\": {\n        \"description\": \"To get information about past garbage collections for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collections`.\",\n        \"operationId\": \"registry_list_garbageCollections\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of a container registry.\",\n            \"example\": \"example\",\n            \"in\": \"path\",\n            \"name\": \"registry_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"garbage_collections\": [\n                    {\n                      \"blobs_deleted\": 42,\n                      \"created_at\": \"2020-10-30T21:03:24.000Z\",\n                      \"freed_bytes\": 667,\n                      \"registry_name\": \"example\",\n                      \"status\": \"requested\",\n                      \"updated_at\": \"2020-10-30T21:03:44.000Z\",\n                      \"uuid\": \"eff0feee-49c7-4e8f-ba5c-a320c109c8a8\"\n                    }\n                  ],\n                  \"meta\": {\n                    \"total\": 1\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"garbage_collections\": {\n                      \"items\": {\n                        \"properties\": {\n                          \"blobs_deleted\": {\n                            \"description\": \"The number of blobs deleted as a result of this garbage collection.\",\n                            \"example\": 42,\n                            \"type\": \"integer\"\n                          },\n                          \"created_at\": {\n                            \"description\": \"The time the garbage collection was created.\",\n                            \"example\": \"2020-10-30T21:03:24Z\",\n                            \"format\": \"date-time\",\n                            \"type\": \"string\"\n                          },\n                          \"freed_bytes\": {\n                            \"description\": \"The number of bytes freed as a result of this garbage collection.\",\n                            \"example\": 667,\n                            \"type\": \"integer\"\n                          },\n                          \"registry_name\": {\n                            \"description\": \"The name of the container registry.\",\n                            \"example\": \"example\",\n                            \"type\": \"string\"\n                          },\n                          \"status\": {\n                            \"description\": \"The current status of this garbage collection.\",\n                            \"enum\": [\n                              \"requested\",\n                              \"waiting for write JWTs to expire\",\n                              \"scanning manifests\",\n                              \"deleting unreferenced blobs\",\n                              \"cancelling\",\n                              \"failed\",\n                              \"succeeded\",\n                              \"cancelled\"\n                            ],\n                            \"example\": \"requested\",\n                            \"type\": \"string\"\n                          },\n                          \"updated_at\": {\n                            \"description\": \"The time the garbage collection was last updated.\",\n                            \"example\": \"2020-10-30T21:03:44Z\",\n                            \"format\": \"date-time\",\n                            \"type\": \"string\"\n                          },\n                          \"uuid\": {\n                            \"description\": \"A string specifying the UUID of the garbage collection.\",\n                            \"example\": \"eff0feee-49c7-4e8f-ba5c-a320c109c8a8\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key of `garbage_collections`. This will be set to an array containing objects representing each past garbage collection. Each will contain the standard Garbage Collection attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Garbage Collections\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/example/garbage-collections\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/{registry_name}/repositories\": {\n      \"get\": {\n        \"deprecated\": true,\n        \"description\": \"This endpoint has been deprecated in favor of the _List All Container Registry Repositories [V2]_ endpoint.\\n\\nTo list all repositories in your container registry, send a GET\\nrequest to `/v2/registry/$REGISTRY_NAME/repositories`.\\n\",\n        \"operationId\": \"registry_list_repositories\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"The name of a container registry.\",\n            \"example\": \"example\",\n            \"in\": \"path\",\n            \"name\": \"registry_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"repositories\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"latest_tag\": {\n                                \"properties\": {\n                                  \"compressed_size_bytes\": {\n                                    \"description\": \"The compressed size of the tag in bytes.\",\n                                    \"example\": 2803255,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"manifest_digest\": {\n                                    \"description\": \"The digest of the manifest associated with the tag.\",\n                                    \"example\": \"sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"registry_name\": {\n                                    \"description\": \"The name of the container registry.\",\n                                    \"example\": \"example\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"repository\": {\n                                    \"description\": \"The name of the repository.\",\n                                    \"example\": \"repo-1\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"size_bytes\": {\n                                    \"description\": \"The uncompressed size of the tag in bytes (this size is calculated asynchronously so it may not be immediately available).\",\n                                    \"example\": 5861888,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"tag\": {\n                                    \"description\": \"The name of the tag.\",\n                                    \"example\": \"latest\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"updated_at\": {\n                                    \"description\": \"The time the tag was last updated.\",\n                                    \"example\": \"2020-04-09T23:54:25Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the repository.\",\n                                \"example\": \"repo-1\",\n                                \"type\": \"string\"\n                              },\n                              \"registry_name\": {\n                                \"description\": \"The name of the container registry.\",\n                                \"example\": \"example\",\n                                \"type\": \"string\"\n                              },\n                              \"tag_count\": {\n                                \"description\": \"The number of tags in the repository.\",\n                                \"example\": 1,\n                                \"type\": \"integer\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"meta\": {\n                      \"total\": 1\n                    },\n                    \"repositories\": [\n                      {\n                        \"latest_tag\": {\n                          \"compressed_size_bytes\": 2803255,\n                          \"manifest_digest\": \"sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221\",\n                          \"registry_name\": \"example\",\n                          \"repository\": \"repo-1\",\n                          \"size_bytes\": 5861888,\n                          \"tag\": \"latest\",\n                          \"updated_at\": \"2020-04-09T23:54:25Z\"\n                        },\n                        \"name\": \"repo-1\",\n                        \"registry_name\": \"example\",\n                        \"tag_count\": 1\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"The response body will be a JSON object with a key of `repositories`. This will be set to an array containing objects each representing a repository.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Container Registry Repositories\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/example/repositories\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/{registry_name}/repositoriesV2\": {\n      \"get\": {\n        \"description\": \"To list all repositories in your container registry, send a GET request to `/v2/registry/$REGISTRY_NAME/repositoriesV2`.\",\n        \"operationId\": \"registry_list_repositoriesV2\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return. Ignored when 'page_token' is provided.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Token to retrieve of the next or previous set of results more quickly than using 'page'.\",\n            \"example\": \"eyJUb2tlbiI6IkNnZGpiMjlz\",\n            \"in\": \"query\",\n            \"name\": \"page_token\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of a container registry.\",\n            \"example\": \"example\",\n            \"in\": \"path\",\n            \"name\": \"registry_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"repositories\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"latest_manifest\": {\n                                \"properties\": {\n                                  \"blobs\": {\n                                    \"description\": \"All blobs associated with this manifest\",\n                                    \"items\": {\n                                      \"properties\": {\n                                        \"compressed_size_bytes\": {\n                                          \"description\": \"The compressed size of the blob in bytes.\",\n                                          \"example\": 2803255,\n                                          \"type\": \"integer\"\n                                        },\n                                        \"digest\": {\n                                          \"description\": \"The digest of the blob\",\n                                          \"example\": \"sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"compressed_size_bytes\": {\n                                    \"description\": \"The compressed size of the manifest in bytes.\",\n                                    \"example\": 2803255,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"digest\": {\n                                    \"description\": \"The manifest digest\",\n                                    \"example\": \"sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"registry_name\": {\n                                    \"description\": \"The name of the container registry.\",\n                                    \"example\": \"example\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"repository\": {\n                                    \"description\": \"The name of the repository.\",\n                                    \"example\": \"repo-1\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"size_bytes\": {\n                                    \"description\": \"The uncompressed size of the manifest in bytes (this size is calculated asynchronously so it may not be immediately available).\",\n                                    \"example\": 5861888,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"tags\": {\n                                    \"description\": \"All tags associated with this manifest\",\n                                    \"example\": [\n                                      \"latest\",\n                                      \"v1\",\n                                      \"v2\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"updated_at\": {\n                                    \"description\": \"The time the manifest was last updated.\",\n                                    \"example\": \"2020-04-09T23:54:25Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              \"manifest_count\": {\n                                \"description\": \"The number of manifests in the repository.\",\n                                \"example\": 1,\n                                \"type\": \"integer\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the repository.\",\n                                \"example\": \"repo-1\",\n                                \"type\": \"string\"\n                              },\n                              \"registry_name\": {\n                                \"description\": \"The name of the container registry.\",\n                                \"example\": \"example\",\n                                \"type\": \"string\"\n                              },\n                              \"tag_count\": {\n                                \"description\": \"The number of tags in the repository.\",\n                                \"example\": 1,\n                                \"type\": \"integer\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {\n                      \"pages\": {\n                        \"last\": \"https://api.digitalocean.com/v2/registry/example/repositoriesV2?page=5&per_page=1\",\n                        \"next\": \"https://api.digitalocean.com/v2/registry/example/repositoriesV2?page=2&page_token=JPZmZzZXQiOjB9&per_page=1\"\n                      }\n                    },\n                    \"meta\": {\n                      \"total\": 5\n                    },\n                    \"repositories\": [\n                      {\n                        \"latest_manifest\": {\n                          \"blobs\": [\n                            {\n                              \"compressed_size_bytes\": 1471,\n                              \"digest\": \"sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab\"\n                            },\n                            {\n                              \"compressed_size_byte\": 2814446,\n                              \"digest\": \"sha256:a0d0a0d46f8b52473982a3c466318f479767577551a53ffc9074c9fa7035982e\"\n                            },\n                            {\n                              \"compressed_size_bytes\": 528,\n                              \"digest\": \"sha256:69704ef328d05a9f806b6b8502915e6a0a4faa4d72018dc42343f511490daf8a\"\n                            }\n                          ],\n                          \"compressed_size_bytes\": 1972332,\n                          \"digest\": \"sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221\",\n                          \"registry_name\": \"example\",\n                          \"repository\": \"repo-1\",\n                          \"size_bytes\": 2816445,\n                          \"tags\": [\n                            \"v1\",\n                            \"v2\"\n                          ],\n                          \"updated_at\": \"2021-04-09T23:54:25Z\"\n                        },\n                        \"manifest_count\": 82,\n                        \"name\": \"repo-1\",\n                        \"registry_name\": \"example\",\n                        \"tag_count\": 57\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"The response body will be a JSON object with a key of `repositories`. This will be set to an array containing objects each representing a repository.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"error parsing request body\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Container Registry Repositories (V2)\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/example/repositoriesV2?page_size=1\\\"\"\n          },\n          {\n            \"lang\": \"cURL (next page)\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/example/repositoriesV2?page=2&page_token=JPZmZzZXQiOjB9&per_page=1\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/{registry_name}/{repository_name}/digests\": {\n      \"get\": {\n        \"description\": \"To list all manifests in your container registry repository, send a GET\\nrequest to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests`.\\n\\nNote that if your repository name contains `/` characters, it must be\\nURL-encoded in the request URL. For example, to list manifests for\\n`registry.digitalocean.com/example/my/repo`, the path would be\\n`/v2/registry/example/repositories/my%2Frepo/digests`.\\n\",\n        \"operationId\": \"registry_list_repositoryManifests\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"The name of a container registry.\",\n            \"example\": \"example\",\n            \"in\": \"path\",\n            \"name\": \"registry_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.\",\n            \"example\": \"repo-1\",\n            \"in\": \"path\",\n            \"name\": \"repository_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"manifests\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"blobs\": {\n                                \"description\": \"All blobs associated with this manifest\",\n                                \"items\": {\n                                  \"properties\": {\n                                    \"compressed_size_bytes\": {\n                                      \"description\": \"The compressed size of the blob in bytes.\",\n                                      \"example\": 2803255,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"digest\": {\n                                      \"description\": \"The digest of the blob\",\n                                      \"example\": \"sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"compressed_size_bytes\": {\n                                \"description\": \"The compressed size of the manifest in bytes.\",\n                                \"example\": 2803255,\n                                \"type\": \"integer\"\n                              },\n                              \"digest\": {\n                                \"description\": \"The manifest digest\",\n                                \"example\": \"sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221\",\n                                \"type\": \"string\"\n                              },\n                              \"registry_name\": {\n                                \"description\": \"The name of the container registry.\",\n                                \"example\": \"example\",\n                                \"type\": \"string\"\n                              },\n                              \"repository\": {\n                                \"description\": \"The name of the repository.\",\n                                \"example\": \"repo-1\",\n                                \"type\": \"string\"\n                              },\n                              \"size_bytes\": {\n                                \"description\": \"The uncompressed size of the manifest in bytes (this size is calculated asynchronously so it may not be immediately available).\",\n                                \"example\": 5861888,\n                                \"type\": \"integer\"\n                              },\n                              \"tags\": {\n                                \"description\": \"All tags associated with this manifest\",\n                                \"example\": [\n                                  \"latest\",\n                                  \"v1\",\n                                  \"v2\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"updated_at\": {\n                                \"description\": \"The time the manifest was last updated.\",\n                                \"example\": \"2020-04-09T23:54:25Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {\n                      \"pages\": {\n                        \"first\": \"https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=1&per_page=1\",\n                        \"last\": \"https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=3&per_page=1\",\n                        \"next\": \"https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=3&per_page=1\",\n                        \"prev\": \"https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=1&per_page=1\"\n                      }\n                    },\n                    \"manifests\": [\n                      {\n                        \"blobs\": [\n                          {\n                            \"compressed_size_bytes\": 1471,\n                            \"digest\": \"sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab\"\n                          },\n                          {\n                            \"compressed_size_byte\": 2814446,\n                            \"digest\": \"sha256:a0d0a0d46f8b52473982a3c466318f479767577551a53ffc9074c9fa7035982e\"\n                          },\n                          {\n                            \"compressed_size_bytes\": 528,\n                            \"digest\": \"sha256:69704ef328d05a9f806b6b8502915e6a0a4faa4d72018dc42343f511490daf8a\"\n                          }\n                        ],\n                        \"compressed_size_bytes\": 1972332,\n                        \"digest\": \"sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221\",\n                        \"registry_name\": \"example\",\n                        \"repository\": \"repo-1\",\n                        \"size_bytes\": 2816445,\n                        \"tags\": [\n                          \"v1\",\n                          \"v2\"\n                        ],\n                        \"updated_at\": \"2021-04-09T23:54:25Z\"\n                      }\n                    ],\n                    \"meta\": {\n                      \"total\": 3\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response body will be a JSON object with a key of `manifests`. This will be set to an array containing objects each representing a manifest.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Container Registry Repository Manifests\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/{registry_name}/{repository_name}/digests/{manifest_digest}\": {\n      \"delete\": {\n        \"description\": \"To delete a container repository manifest by digest, send a DELETE request to\\n`/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST`.\\n\\nNote that if your repository name contains `/` characters, it must be\\nURL-encoded in the request URL. For example, to delete\\n`registry.digitalocean.com/example/my/repo@sha256:abcd`, the path would be\\n`/v2/registry/example/repositories/my%2Frepo/digests/sha256:abcd`.\\n\\nA successful request will receive a 204 status code with no body in response.\\nThis indicates that the request was processed successfully.\\n\",\n        \"operationId\": \"registry_delete_repositoryManifest\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of a container registry.\",\n            \"example\": \"example\",\n            \"in\": \"path\",\n            \"name\": \"registry_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.\",\n            \"example\": \"repo-1\",\n            \"in\": \"path\",\n            \"name\": \"repository_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The manifest digest of a container registry repository tag.\",\n            \"example\": \"sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221\",\n            \"in\": \"path\",\n            \"name\": \"manifest_digest\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete Container Registry Repository Manifest\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests/sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/{registry_name}/{repository_name}/tags\": {\n      \"get\": {\n        \"description\": \"To list all tags in your container registry repository, send a GET\\nrequest to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags`.\\n\\nNote that if your repository name contains `/` characters, it must be\\nURL-encoded in the request URL. For example, to list tags for\\n`registry.digitalocean.com/example/my/repo`, the path would be\\n`/v2/registry/example/repositories/my%2Frepo/tags`.\\n\",\n        \"operationId\": \"registry_list_repositoryTags\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"The name of a container registry.\",\n            \"example\": \"example\",\n            \"in\": \"path\",\n            \"name\": \"registry_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.\",\n            \"example\": \"repo-1\",\n            \"in\": \"path\",\n            \"name\": \"repository_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"tags\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"compressed_size_bytes\": {\n                                \"description\": \"The compressed size of the tag in bytes.\",\n                                \"example\": 2803255,\n                                \"type\": \"integer\"\n                              },\n                              \"manifest_digest\": {\n                                \"description\": \"The digest of the manifest associated with the tag.\",\n                                \"example\": \"sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221\",\n                                \"type\": \"string\"\n                              },\n                              \"registry_name\": {\n                                \"description\": \"The name of the container registry.\",\n                                \"example\": \"example\",\n                                \"type\": \"string\"\n                              },\n                              \"repository\": {\n                                \"description\": \"The name of the repository.\",\n                                \"example\": \"repo-1\",\n                                \"type\": \"string\"\n                              },\n                              \"size_bytes\": {\n                                \"description\": \"The uncompressed size of the tag in bytes (this size is calculated asynchronously so it may not be immediately available).\",\n                                \"example\": 5861888,\n                                \"type\": \"integer\"\n                              },\n                              \"tag\": {\n                                \"description\": \"The name of the tag.\",\n                                \"example\": \"latest\",\n                                \"type\": \"string\"\n                              },\n                              \"updated_at\": {\n                                \"description\": \"The time the tag was last updated.\",\n                                \"example\": \"2020-04-09T23:54:25Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"meta\": {\n                      \"total\": 1\n                    },\n                    \"tags\": [\n                      {\n                        \"compressed_size_bytes\": 2803255,\n                        \"manifest_digest\": \"sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221\",\n                        \"registry_name\": \"example\",\n                        \"repository\": \"repo-1\",\n                        \"size_bytes\": 5861888,\n                        \"tag\": \"latest\",\n                        \"updated_at\": \"2020-04-09T23:54:25Z\"\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"The response body will be a JSON object with a key of `tags`. This will be set to an array containing objects each representing a tag.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Container Registry Repository Tags\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/example/repositories/repo-1/tags\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/registry/{registry_name}/{repository_name}/tags/{repository_tag}\": {\n      \"delete\": {\n        \"description\": \"To delete a container repository tag, send a DELETE request to\\n`/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG`.\\n\\nNote that if your repository name contains `/` characters, it must be\\nURL-encoded in the request URL. For example, to delete\\n`registry.digitalocean.com/example/my/repo:mytag`, the path would be\\n`/v2/registry/example/repositories/my%2Frepo/tags/mytag`.\\n\\nA successful request will receive a 204 status code with no body in response.\\nThis indicates that the request was processed successfully.\\n\",\n        \"operationId\": \"registry_delete_repositoryTag\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of a container registry.\",\n            \"example\": \"example\",\n            \"in\": \"path\",\n            \"name\": \"registry_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.\",\n            \"example\": \"repo-1\",\n            \"in\": \"path\",\n            \"name\": \"repository_name\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The name of a container registry repository tag.\",\n            \"example\": \"06a447a\",\n            \"in\": \"path\",\n            \"name\": \"repository_tag\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete Container Registry Repository Tag\",\n        \"tags\": [\n          \"Container Registry\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/registry/example/repositories/repo-1/tags/mytag\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/reports/droplet_neighbors_ids\": {\n      \"get\": {\n        \"description\": \"To retrieve a list of all Droplets that are co-located on the same physical\\nhardware, send a GET request to `/v2/reports/droplet_neighbors_ids`.\\n\\nThe results will be returned as a JSON object with a key of `neighbor_ids`.\\nThis will be set to an array of arrays. Each array will contain a set of\\nDroplet IDs for Droplets that share a physical server. An empty array\\nindicates that all Droplets associated with your account are located on\\nseparate physical hardware.\\n\",\n        \"operationId\": \"droplets_list_neighborsIds\",\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"neighbor_ids\": {\n                      \"description\": \"An array of arrays. Each array will contain a set of Droplet IDs for Droplets that share a physical server.\",\n                      \"example\": [\n                        [\n                          168671828,\n                          168663509,\n                          168671815\n                        ],\n                        [\n                          168671883,\n                          168671750\n                        ]\n                      ],\n                      \"items\": {\n                        \"items\": {\n                          \"type\": \"integer\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"A JSON object with an `neighbor_ids` key.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Droplet Neighbors\",\n        \"tags\": [\n          \"Droplets\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/reports/droplet_neighbors_ids\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/reserved_ips\": {\n      \"get\": {\n        \"description\": \"To list all of the reserved IPs available on your account, send a GET request to `/v2/reserved_ips`.\",\n        \"operationId\": \"reservedIPs_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"reserved_ips\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"droplet\": {\n                                \"anyOf\": [\n                                  {\n                                    \"description\": \"If the reserved IP is not assigned to a Droplet, the value will be null.\",\n                                    \"nullable\": true,\n                                    \"title\": \"null\",\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"backup_ids\": {\n                                        \"description\": \"An array of backup IDs of any backups that have been taken of the Droplet instance.  Droplet backups are enabled at the time of the instance creation.\",\n                                        \"example\": [\n                                          53893572\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"created_at\": {\n                                        \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Droplet was created.\",\n                                        \"example\": \"2020-07-21T18:37:44Z\",\n                                        \"format\": \"date-time\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"disk\": {\n                                        \"description\": \"The size of the Droplet's disk in gigabytes.\",\n                                        \"example\": 25,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"features\": {\n                                        \"description\": \"An array of features enabled on this Droplet.\",\n                                        \"example\": [\n                                          \"backups\",\n                                          \"private_networking\",\n                                          \"ipv6\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"id\": {\n                                        \"description\": \"A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.\",\n                                        \"example\": 3164444,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"image\": {\n                                        \"properties\": {\n                                          \"created_at\": {\n                                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                                            \"example\": \"2020-05-04T22:23:02Z\",\n                                            \"format\": \"date-time\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"description\": {\n                                            \"description\": \"An optional free-form text field to describe an image.\",\n                                            \"example\": \" \",\n                                            \"type\": \"string\"\n                                          },\n                                          \"distribution\": {\n                                            \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                                            \"enum\": [\n                                              \"Arch Linux\",\n                                              \"CentOS\",\n                                              \"CoreOS\",\n                                              \"Debian\",\n                                              \"Fedora\",\n                                              \"Fedora Atomic\",\n                                              \"FreeBSD\",\n                                              \"Gentoo\",\n                                              \"openSUSE\",\n                                              \"RancherOS\",\n                                              \"Rocky Linux\",\n                                              \"Ubuntu\",\n                                              \"Unknown\"\n                                            ],\n                                            \"example\": \"Ubuntu\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"error_message\": {\n                                            \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                                            \"example\": \" \",\n                                            \"type\": \"string\"\n                                          },\n                                          \"id\": {\n                                            \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                                            \"example\": 7555620,\n                                            \"readOnly\": true,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"min_disk_size\": {\n                                            \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                                            \"example\": 20,\n                                            \"minimum\": 0,\n                                            \"nullable\": true,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                                            \"example\": \"Nifty New Snapshot\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"public\": {\n                                            \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"regions\": {\n                                            \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                                            \"example\": [\n                                              \"nyc1\",\n                                              \"nyc2\"\n                                            ],\n                                            \"items\": {\n                                              \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                                              \"enum\": [\n                                                \"ams1\",\n                                                \"ams2\",\n                                                \"ams3\",\n                                                \"blr1\",\n                                                \"fra1\",\n                                                \"lon1\",\n                                                \"nyc1\",\n                                                \"nyc2\",\n                                                \"nyc3\",\n                                                \"sfo1\",\n                                                \"sfo2\",\n                                                \"sfo3\",\n                                                \"sgp1\",\n                                                \"tor1\"\n                                              ],\n                                              \"example\": \"nyc3\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"size_gigabytes\": {\n                                            \"description\": \"The size of the image in gigabytes.\",\n                                            \"example\": 2.34,\n                                            \"format\": \"float\",\n                                            \"nullable\": true,\n                                            \"type\": \"number\"\n                                          },\n                                          \"slug\": {\n                                            \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                                            \"example\": \"nifty1\",\n                                            \"nullable\": true,\n                                            \"type\": \"string\"\n                                          },\n                                          \"status\": {\n                                            \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                                            \"enum\": [\n                                              \"NEW\",\n                                              \"available\",\n                                              \"pending\",\n                                              \"deleted\",\n                                              \"retired\"\n                                            ],\n                                            \"example\": \"NEW\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"tags\": {\n                                            \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                            \"example\": [\n                                              \"base-image\",\n                                              \"prod\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"nullable\": true,\n                                            \"type\": \"array\"\n                                          },\n                                          \"type\": {\n                                            \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                                            \"enum\": [\n                                              \"base\",\n                                              \"snapshot\",\n                                              \"backup\",\n                                              \"custom\",\n                                              \"admin\"\n                                            ],\n                                            \"example\": \"snapshot\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"kernel\": {\n                                        \"deprecated\": true,\n                                        \"description\": \"**Note**: All Droplets created after March 2017 use internal kernels by default.\\nThese Droplets will have this attribute set to `null`.\\n\\nThe current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/)\\nfor Droplets with externally managed kernels. This will initially be set to\\nthe kernel of the base image when the Droplet is created.\\n\",\n                                        \"nullable\": true,\n                                        \"properties\": {\n                                          \"id\": {\n                                            \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                                            \"example\": 7515,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question.\",\n                                            \"example\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"version\": {\n                                            \"description\": \"A standard kernel version string representing the version, patch, and release information.\",\n                                            \"example\": \"2016.07.13-DigitalOcean_loader_Ubuntu\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"locked\": {\n                                        \"description\": \"A boolean value indicating whether the Droplet has been locked, preventing actions by users.\",\n                                        \"example\": false,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"memory\": {\n                                        \"description\": \"Memory of the Droplet in megabytes.\",\n                                        \"example\": 1024,\n                                        \"multipleOf\": 8,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The human-readable name set for the Droplet instance.\",\n                                        \"example\": \"example.com\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"networks\": {\n                                        \"description\": \"The details of the network that are configured for the Droplet instance.  This is an object that contains keys for IPv4 and IPv6.  The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet.  These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.\",\n                                        \"properties\": {\n                                          \"v4\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"gateway\": {\n                                                  \"description\": \"The gateway of the specified IPv4 network interface.\\n\\nFor private interfaces, a gateway is not provided. This is denoted by\\nreturning `nil` as its value.\\n\",\n                                                  \"example\": \"104.236.0.1\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"ip_address\": {\n                                                  \"description\": \"The IP address of the IPv4 network interface.\",\n                                                  \"example\": \"104.236.32.182\",\n                                                  \"format\": \"ipv4\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"netmask\": {\n                                                  \"description\": \"The netmask of the IPv4 network interface.\",\n                                                  \"example\": \"255.255.192.0\",\n                                                  \"format\": \"ipv4\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"type\": {\n                                                  \"description\": \"The type of the IPv4 network interface.\",\n                                                  \"enum\": [\n                                                    \"public\",\n                                                    \"private\"\n                                                  ],\n                                                  \"example\": \"public\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"v6\": {\n                                            \"items\": {\n                                              \"properties\": {\n                                                \"gateway\": {\n                                                  \"description\": \"The gateway of the specified IPv6 network interface.\",\n                                                  \"example\": \"2604:a880:0:1010::1\",\n                                                  \"format\": \"ipv6\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"ip_address\": {\n                                                  \"description\": \"The IP address of the IPv6 network interface.\",\n                                                  \"example\": \"2604:a880:0:1010::18a:a001\",\n                                                  \"format\": \"ipv6\",\n                                                  \"type\": \"string\"\n                                                },\n                                                \"netmask\": {\n                                                  \"description\": \"The netmask of the IPv6 network interface.\",\n                                                  \"example\": 64,\n                                                  \"type\": \"integer\"\n                                                },\n                                                \"type\": {\n                                                  \"description\": \"The type of the IPv6 network interface.\\n\\n**Note**: IPv6 private  networking is not currently supported.\\n\",\n                                                  \"enum\": [\n                                                    \"public\"\n                                                  ],\n                                                  \"example\": \"public\",\n                                                  \"type\": \"string\"\n                                                }\n                                              },\n                                              \"type\": \"object\"\n                                            },\n                                            \"type\": \"array\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"next_backup_window\": {\n                                        \"description\": \"The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.\",\n                                        \"nullable\": true,\n                                        \"properties\": {\n                                          \"end\": {\n                                            \"description\": \"A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window.\",\n                                            \"example\": \"2019-12-04T23:00:00Z\",\n                                            \"format\": \"date-time\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"start\": {\n                                            \"description\": \"A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window.\",\n                                            \"example\": \"2019-12-04T00:00:00Z\",\n                                            \"format\": \"date-time\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"region\": {\n                                        \"properties\": {\n                                          \"available\": {\n                                            \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"features\": {\n                                            \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                            \"example\": [\n                                              \"private_networking\",\n                                              \"backups\",\n                                              \"ipv6\",\n                                              \"metadata\",\n                                              \"install_agent\",\n                                              \"storage\",\n                                              \"image_transfer\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                            \"example\": \"New York 3\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"sizes\": {\n                                            \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                            \"example\": [\n                                              \"s-1vcpu-1gb\",\n                                              \"s-1vcpu-2gb\",\n                                              \"s-1vcpu-3gb\",\n                                              \"s-2vcpu-2gb\",\n                                              \"s-3vcpu-1gb\",\n                                              \"s-2vcpu-4gb\",\n                                              \"s-4vcpu-8gb\",\n                                              \"s-6vcpu-16gb\",\n                                              \"s-8vcpu-32gb\",\n                                              \"s-12vcpu-48gb\",\n                                              \"s-16vcpu-64gb\",\n                                              \"s-20vcpu-96gb\",\n                                              \"s-24vcpu-128gb\",\n                                              \"s-32vcpu-192g\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"slug\": {\n                                            \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                            \"example\": \"nyc3\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"available\",\n                                          \"features\",\n                                          \"name\",\n                                          \"sizes\",\n                                          \"slug\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"size\": {\n                                        \"properties\": {\n                                          \"available\": {\n                                            \"default\": true,\n                                            \"description\": \"This is a boolean value that represents whether new Droplets can be created with this size.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"description\": {\n                                            \"description\": \"A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.\",\n                                            \"example\": \"Basic\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"disk\": {\n                                            \"description\": \"The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes.\",\n                                            \"example\": 25,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"memory\": {\n                                            \"description\": \"The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes.\",\n                                            \"example\": 1024,\n                                            \"minimum\": 8,\n                                            \"multipleOf\": 8,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"price_hourly\": {\n                                            \"description\": \"This describes the price of the Droplet size as measured hourly. The value is measured in US dollars.\",\n                                            \"example\": 0.00743999984115362,\n                                            \"format\": \"float\",\n                                            \"type\": \"number\"\n                                          },\n                                          \"price_monthly\": {\n                                            \"description\": \"This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars.\",\n                                            \"example\": 5,\n                                            \"format\": \"float\",\n                                            \"type\": \"number\"\n                                          },\n                                          \"regions\": {\n                                            \"description\": \"An array containing the region slugs where this size is available for Droplet creates.\",\n                                            \"example\": [\n                                              \"ams2\",\n                                              \"ams3\",\n                                              \"blr1\",\n                                              \"fra1\",\n                                              \"lon1\",\n                                              \"nyc1\",\n                                              \"nyc2\",\n                                              \"nyc3\",\n                                              \"sfo1\",\n                                              \"sfo2\",\n                                              \"sfo3\",\n                                              \"sgp1\",\n                                              \"tor1\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            },\n                                            \"type\": \"array\"\n                                          },\n                                          \"slug\": {\n                                            \"description\": \"A human-readable string that is used to uniquely identify each size.\",\n                                            \"example\": \"s-1vcpu-1gb\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"transfer\": {\n                                            \"description\": \"The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes.\",\n                                            \"example\": 1,\n                                            \"format\": \"float\",\n                                            \"type\": \"number\"\n                                          },\n                                          \"vcpus\": {\n                                            \"description\": \"The integer of number CPUs allocated to Droplets of this size.\",\n                                            \"example\": 1,\n                                            \"type\": \"integer\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"available\",\n                                          \"disk\",\n                                          \"memory\",\n                                          \"price_hourly\",\n                                          \"price_monthly\",\n                                          \"regions\",\n                                          \"slug\",\n                                          \"transfer\",\n                                          \"vcpus\",\n                                          \"description\"\n                                        ],\n                                        \"type\": \"object\"\n                                      },\n                                      \"size_slug\": {\n                                        \"description\": \"The unique slug identifier for the size of this Droplet.\",\n                                        \"example\": \"s-1vcpu-1gb\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"snapshot_ids\": {\n                                        \"description\": \"An array of snapshot IDs of any snapshots created from the Droplet instance.\",\n                                        \"example\": [\n                                          67512819\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"integer\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"status\": {\n                                        \"description\": \"A status string indicating the state of the Droplet instance. This may be \\\"new\\\", \\\"active\\\", \\\"off\\\", or \\\"archive\\\".\",\n                                        \"enum\": [\n                                          \"new\",\n                                          \"active\",\n                                          \"off\",\n                                          \"archive\"\n                                        ],\n                                        \"example\": \"active\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"tags\": {\n                                        \"description\": \"An array of Tags the Droplet has been tagged with.\",\n                                        \"example\": [\n                                          \"web\",\n                                          \"env:prod\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"vcpus\": {\n                                        \"description\": \"The number of virtual CPUs.\",\n                                        \"example\": 1,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"volume_ids\": {\n                                        \"description\": \"A flat array including the unique identifier for each Block Storage volume attached to the Droplet.\",\n                                        \"example\": [\n                                          \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"vpc_uuid\": {\n                                        \"description\": \"A string specifying the UUID of the VPC to which the Droplet is assigned.\",\n                                        \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"id\",\n                                      \"name\",\n                                      \"memory\",\n                                      \"vcpus\",\n                                      \"disk\",\n                                      \"locked\",\n                                      \"status\",\n                                      \"created_at\",\n                                      \"features\",\n                                      \"backup_ids\",\n                                      \"next_backup_window\",\n                                      \"snapshot_ids\",\n                                      \"image\",\n                                      \"volume_ids\",\n                                      \"size\",\n                                      \"size_slug\",\n                                      \"networks\",\n                                      \"region\",\n                                      \"tags\"\n                                    ],\n                                    \"type\": \"object\"\n                                  }\n                                ],\n                                \"description\": \"The Droplet that the reserved IP has been assigned to. When you query a reserved IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.\",\n                                \"example\": null\n                              },\n                              \"ip\": {\n                                \"description\": \"The public IP address of the reserved IP. It also serves as its identifier.\",\n                                \"example\": \"45.55.96.47\",\n                                \"format\": \"ipv4\",\n                                \"type\": \"string\"\n                              },\n                              \"locked\": {\n                                \"description\": \"A boolean value indicating whether or not the reserved IP has pending actions preventing new ones from being submitted.\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"project_id\": {\n                                \"description\": \"The UUID of the project to which the reserved IP currently belongs.\",\n                                \"example\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                                \"format\": \"uuid\",\n                                \"type\": \"string\"\n                              },\n                              \"region\": {\n                                \"allOf\": [\n                                  {\n                                    \"properties\": {\n                                      \"available\": {\n                                        \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"features\": {\n                                        \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                        \"example\": [\n                                          \"private_networking\",\n                                          \"backups\",\n                                          \"ipv6\",\n                                          \"metadata\",\n                                          \"install_agent\",\n                                          \"storage\",\n                                          \"image_transfer\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                        \"example\": \"New York 3\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"sizes\": {\n                                        \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                        \"example\": [\n                                          \"s-1vcpu-1gb\",\n                                          \"s-1vcpu-2gb\",\n                                          \"s-1vcpu-3gb\",\n                                          \"s-2vcpu-2gb\",\n                                          \"s-3vcpu-1gb\",\n                                          \"s-2vcpu-4gb\",\n                                          \"s-4vcpu-8gb\",\n                                          \"s-6vcpu-16gb\",\n                                          \"s-8vcpu-32gb\",\n                                          \"s-12vcpu-48gb\",\n                                          \"s-16vcpu-64gb\",\n                                          \"s-20vcpu-96gb\",\n                                          \"s-24vcpu-128gb\",\n                                          \"s-32vcpu-192g\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"slug\": {\n                                        \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                        \"example\": \"nyc3\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"available\",\n                                      \"features\",\n                                      \"name\",\n                                      \"sizes\",\n                                      \"slug\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"description\": \"The region that the reserved IP is reserved to. When you query a reserved IP, the entire region object will be returned.\",\n                                    \"type\": \"object\"\n                                  }\n                                ]\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {},\n                    \"meta\": {\n                      \"total\": 1\n                    },\n                    \"reserved_ips\": [\n                      {\n                        \"droplet\": null,\n                        \"ip\": \"45.55.96.47\",\n                        \"locked\": false,\n                        \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        }\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `reserved_ips`. This will be set to an array of reserved IP objects, each of which will contain the standard reserved IP attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Reserved IPs\",\n        \"tags\": [\n          \"Reserved IPs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/reserved_ips?page=1&per_page=20\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    reservedIPs, _, err := client.ReservedIPs.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nreserved_ips = client.reserved_ips.all\\nreserved_ips.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"On creation, a reserved IP must be either assigned to a Droplet or reserved to a region.\\n* To create a new reserved IP assigned to a Droplet, send a POST\\n  request to `/v2/reserved_ips` with the `droplet_id` attribute.\\n\\n* To create a new reserved IP reserved to a region, send a POST request to\\n  `/v2/reserved_ips` with the `region` attribute.\\n\\n**Note**:  In addition to the standard rate limiting, only 12 reserved IPs may be created per 60 seconds.\",\n        \"operationId\": \"reservedIPs_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"oneOf\": [\n                  {\n                    \"properties\": {\n                      \"droplet_id\": {\n                        \"description\": \"The ID of the Droplet that the reserved IP will be assigned to.\",\n                        \"example\": 2457247,\n                        \"type\": \"integer\"\n                      }\n                    },\n                    \"required\": [\n                      \"droplet_id\"\n                    ],\n                    \"title\": \"Assign to Droplet\",\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"properties\": {\n                      \"project_id\": {\n                        \"description\": \"The UUID of the project to which the reserved IP will be assigned.\",\n                        \"example\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                        \"format\": \"uuid\",\n                        \"type\": \"string\"\n                      },\n                      \"region\": {\n                        \"description\": \"The slug identifier for the region the reserved IP will be reserved to.\",\n                        \"example\": \"nyc3\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"required\": [\n                      \"region\"\n                    ],\n                    \"title\": \"Reserve to Region\",\n                    \"type\": \"object\"\n                  }\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"202\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"reserved_ip_assigning\": {\n                    \"summary\": \"Assigning to Droplet\",\n                    \"value\": {\n                      \"links\": {\n                        \"actions\": [\n                          {\n                            \"href\": \"https://api.digitalocean.com/v2/actions/1088924622\",\n                            \"id\": 1088924622,\n                            \"rel\": \"assign_ip\"\n                          }\n                        ],\n                        \"droplets\": [\n                          {\n                            \"href\": \"https://api.digitalocean.com/v2/droplets/213939433\",\n                            \"id\": 213939433,\n                            \"rel\": \"droplet\"\n                          }\n                        ]\n                      },\n                      \"reserved_ip\": {\n                        \"droplet\": null,\n                        \"ip\": \"45.55.96.47\",\n                        \"locked\": true,\n                        \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        }\n                      }\n                    }\n                  },\n                  \"reserved_ip_reserving\": {\n                    \"summary\": \"Reserving to Region\",\n                    \"value\": {\n                      \"links\": {},\n                      \"reserved_ip\": {\n                        \"droplet\": null,\n                        \"ip\": \"45.55.96.47\",\n                        \"locked\": false,\n                        \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        }\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"links\": {\n                      \"properties\": {\n                        \"actions\": {\n                          \"items\": {\n                            \"description\": \"The linked actions can be used to check the status of a Droplet's create event.\",\n                            \"properties\": {\n                              \"href\": {\n                                \"description\": \"A URL that can be used to access the action.\",\n                                \"example\": \"https://api.digitalocean.com/v2/actions/7515\",\n                                \"format\": \"uri\",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                                \"example\": 7515,\n                                \"type\": \"integer\"\n                              },\n                              \"rel\": {\n                                \"description\": \"A string specifying the type of the related action.\",\n                                \"example\": \"create\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        },\n                        \"droplets\": {\n                          \"items\": {\n                            \"description\": \"The linked actions can be used to check the status of a Droplet's create event.\",\n                            \"properties\": {\n                              \"href\": {\n                                \"description\": \"A URL that can be used to access the action.\",\n                                \"example\": \"https://api.digitalocean.com/v2/actions/7515\",\n                                \"format\": \"uri\",\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                                \"example\": 7515,\n                                \"type\": \"integer\"\n                              },\n                              \"rel\": {\n                                \"description\": \"A string specifying the type of the related action.\",\n                                \"example\": \"create\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    \"reserved_ip\": {\n                      \"properties\": {\n                        \"droplet\": {\n                          \"anyOf\": [\n                            {\n                              \"description\": \"If the reserved IP is not assigned to a Droplet, the value will be null.\",\n                              \"nullable\": true,\n                              \"title\": \"null\",\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"backup_ids\": {\n                                  \"description\": \"An array of backup IDs of any backups that have been taken of the Droplet instance.  Droplet backups are enabled at the time of the instance creation.\",\n                                  \"example\": [\n                                    53893572\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"created_at\": {\n                                  \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Droplet was created.\",\n                                  \"example\": \"2020-07-21T18:37:44Z\",\n                                  \"format\": \"date-time\",\n                                  \"type\": \"string\"\n                                },\n                                \"disk\": {\n                                  \"description\": \"The size of the Droplet's disk in gigabytes.\",\n                                  \"example\": 25,\n                                  \"type\": \"integer\"\n                                },\n                                \"features\": {\n                                  \"description\": \"An array of features enabled on this Droplet.\",\n                                  \"example\": [\n                                    \"backups\",\n                                    \"private_networking\",\n                                    \"ipv6\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"id\": {\n                                  \"description\": \"A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.\",\n                                  \"example\": 3164444,\n                                  \"type\": \"integer\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"created_at\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                                      \"example\": \"2020-05-04T22:23:02Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"description\": {\n                                      \"description\": \"An optional free-form text field to describe an image.\",\n                                      \"example\": \" \",\n                                      \"type\": \"string\"\n                                    },\n                                    \"distribution\": {\n                                      \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                                      \"enum\": [\n                                        \"Arch Linux\",\n                                        \"CentOS\",\n                                        \"CoreOS\",\n                                        \"Debian\",\n                                        \"Fedora\",\n                                        \"Fedora Atomic\",\n                                        \"FreeBSD\",\n                                        \"Gentoo\",\n                                        \"openSUSE\",\n                                        \"RancherOS\",\n                                        \"Rocky Linux\",\n                                        \"Ubuntu\",\n                                        \"Unknown\"\n                                      ],\n                                      \"example\": \"Ubuntu\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"error_message\": {\n                                      \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                                      \"example\": \" \",\n                                      \"type\": \"string\"\n                                    },\n                                    \"id\": {\n                                      \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                                      \"example\": 7555620,\n                                      \"readOnly\": true,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"min_disk_size\": {\n                                      \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                                      \"example\": 20,\n                                      \"minimum\": 0,\n                                      \"nullable\": true,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                                      \"example\": \"Nifty New Snapshot\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"public\": {\n                                      \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"regions\": {\n                                      \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                                      \"example\": [\n                                        \"nyc1\",\n                                        \"nyc2\"\n                                      ],\n                                      \"items\": {\n                                        \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                                        \"enum\": [\n                                          \"ams1\",\n                                          \"ams2\",\n                                          \"ams3\",\n                                          \"blr1\",\n                                          \"fra1\",\n                                          \"lon1\",\n                                          \"nyc1\",\n                                          \"nyc2\",\n                                          \"nyc3\",\n                                          \"sfo1\",\n                                          \"sfo2\",\n                                          \"sfo3\",\n                                          \"sgp1\",\n                                          \"tor1\"\n                                        ],\n                                        \"example\": \"nyc3\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"size_gigabytes\": {\n                                      \"description\": \"The size of the image in gigabytes.\",\n                                      \"example\": 2.34,\n                                      \"format\": \"float\",\n                                      \"nullable\": true,\n                                      \"type\": \"number\"\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                                      \"example\": \"nifty1\",\n                                      \"nullable\": true,\n                                      \"type\": \"string\"\n                                    },\n                                    \"status\": {\n                                      \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                                      \"enum\": [\n                                        \"NEW\",\n                                        \"available\",\n                                        \"pending\",\n                                        \"deleted\",\n                                        \"retired\"\n                                      ],\n                                      \"example\": \"NEW\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tags\": {\n                                      \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                      \"example\": [\n                                        \"base-image\",\n                                        \"prod\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"nullable\": true,\n                                      \"type\": \"array\"\n                                    },\n                                    \"type\": {\n                                      \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                                      \"enum\": [\n                                        \"base\",\n                                        \"snapshot\",\n                                        \"backup\",\n                                        \"custom\",\n                                        \"admin\"\n                                      ],\n                                      \"example\": \"snapshot\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"kernel\": {\n                                  \"deprecated\": true,\n                                  \"description\": \"**Note**: All Droplets created after March 2017 use internal kernels by default.\\nThese Droplets will have this attribute set to `null`.\\n\\nThe current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/)\\nfor Droplets with externally managed kernels. This will initially be set to\\nthe kernel of the base image when the Droplet is created.\\n\",\n                                  \"nullable\": true,\n                                  \"properties\": {\n                                    \"id\": {\n                                      \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                                      \"example\": 7515,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question.\",\n                                      \"example\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"version\": {\n                                      \"description\": \"A standard kernel version string representing the version, patch, and release information.\",\n                                      \"example\": \"2016.07.13-DigitalOcean_loader_Ubuntu\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"locked\": {\n                                  \"description\": \"A boolean value indicating whether the Droplet has been locked, preventing actions by users.\",\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                },\n                                \"memory\": {\n                                  \"description\": \"Memory of the Droplet in megabytes.\",\n                                  \"example\": 1024,\n                                  \"multipleOf\": 8,\n                                  \"type\": \"integer\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The human-readable name set for the Droplet instance.\",\n                                  \"example\": \"example.com\",\n                                  \"type\": \"string\"\n                                },\n                                \"networks\": {\n                                  \"description\": \"The details of the network that are configured for the Droplet instance.  This is an object that contains keys for IPv4 and IPv6.  The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet.  These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.\",\n                                  \"properties\": {\n                                    \"v4\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"gateway\": {\n                                            \"description\": \"The gateway of the specified IPv4 network interface.\\n\\nFor private interfaces, a gateway is not provided. This is denoted by\\nreturning `nil` as its value.\\n\",\n                                            \"example\": \"104.236.0.1\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ip_address\": {\n                                            \"description\": \"The IP address of the IPv4 network interface.\",\n                                            \"example\": \"104.236.32.182\",\n                                            \"format\": \"ipv4\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"netmask\": {\n                                            \"description\": \"The netmask of the IPv4 network interface.\",\n                                            \"example\": \"255.255.192.0\",\n                                            \"format\": \"ipv4\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": {\n                                            \"description\": \"The type of the IPv4 network interface.\",\n                                            \"enum\": [\n                                              \"public\",\n                                              \"private\"\n                                            ],\n                                            \"example\": \"public\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"v6\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"gateway\": {\n                                            \"description\": \"The gateway of the specified IPv6 network interface.\",\n                                            \"example\": \"2604:a880:0:1010::1\",\n                                            \"format\": \"ipv6\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ip_address\": {\n                                            \"description\": \"The IP address of the IPv6 network interface.\",\n                                            \"example\": \"2604:a880:0:1010::18a:a001\",\n                                            \"format\": \"ipv6\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"netmask\": {\n                                            \"description\": \"The netmask of the IPv6 network interface.\",\n                                            \"example\": 64,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"type\": {\n                                            \"description\": \"The type of the IPv6 network interface.\\n\\n**Note**: IPv6 private  networking is not currently supported.\\n\",\n                                            \"enum\": [\n                                              \"public\"\n                                            ],\n                                            \"example\": \"public\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"next_backup_window\": {\n                                  \"description\": \"The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.\",\n                                  \"nullable\": true,\n                                  \"properties\": {\n                                    \"end\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window.\",\n                                      \"example\": \"2019-12-04T23:00:00Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"start\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window.\",\n                                      \"example\": \"2019-12-04T00:00:00Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"region\": {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"features\": {\n                                      \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                      \"example\": [\n                                        \"private_networking\",\n                                        \"backups\",\n                                        \"ipv6\",\n                                        \"metadata\",\n                                        \"install_agent\",\n                                        \"storage\",\n                                        \"image_transfer\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                      \"example\": \"New York 3\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"sizes\": {\n                                      \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                      \"example\": [\n                                        \"s-1vcpu-1gb\",\n                                        \"s-1vcpu-2gb\",\n                                        \"s-1vcpu-3gb\",\n                                        \"s-2vcpu-2gb\",\n                                        \"s-3vcpu-1gb\",\n                                        \"s-2vcpu-4gb\",\n                                        \"s-4vcpu-8gb\",\n                                        \"s-6vcpu-16gb\",\n                                        \"s-8vcpu-32gb\",\n                                        \"s-12vcpu-48gb\",\n                                        \"s-16vcpu-64gb\",\n                                        \"s-20vcpu-96gb\",\n                                        \"s-24vcpu-128gb\",\n                                        \"s-32vcpu-192g\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                      \"example\": \"nyc3\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"features\",\n                                    \"name\",\n                                    \"sizes\",\n                                    \"slug\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"size\": {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"default\": true,\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created with this size.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"description\": {\n                                      \"description\": \"A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.\",\n                                      \"example\": \"Basic\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"disk\": {\n                                      \"description\": \"The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes.\",\n                                      \"example\": 25,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"memory\": {\n                                      \"description\": \"The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes.\",\n                                      \"example\": 1024,\n                                      \"minimum\": 8,\n                                      \"multipleOf\": 8,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"price_hourly\": {\n                                      \"description\": \"This describes the price of the Droplet size as measured hourly. The value is measured in US dollars.\",\n                                      \"example\": 0.00743999984115362,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"price_monthly\": {\n                                      \"description\": \"This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars.\",\n                                      \"example\": 5,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"regions\": {\n                                      \"description\": \"An array containing the region slugs where this size is available for Droplet creates.\",\n                                      \"example\": [\n                                        \"ams2\",\n                                        \"ams3\",\n                                        \"blr1\",\n                                        \"fra1\",\n                                        \"lon1\",\n                                        \"nyc1\",\n                                        \"nyc2\",\n                                        \"nyc3\",\n                                        \"sfo1\",\n                                        \"sfo2\",\n                                        \"sfo3\",\n                                        \"sgp1\",\n                                        \"tor1\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used to uniquely identify each size.\",\n                                      \"example\": \"s-1vcpu-1gb\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"transfer\": {\n                                      \"description\": \"The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes.\",\n                                      \"example\": 1,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"vcpus\": {\n                                      \"description\": \"The integer of number CPUs allocated to Droplets of this size.\",\n                                      \"example\": 1,\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"disk\",\n                                    \"memory\",\n                                    \"price_hourly\",\n                                    \"price_monthly\",\n                                    \"regions\",\n                                    \"slug\",\n                                    \"transfer\",\n                                    \"vcpus\",\n                                    \"description\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"size_slug\": {\n                                  \"description\": \"The unique slug identifier for the size of this Droplet.\",\n                                  \"example\": \"s-1vcpu-1gb\",\n                                  \"type\": \"string\"\n                                },\n                                \"snapshot_ids\": {\n                                  \"description\": \"An array of snapshot IDs of any snapshots created from the Droplet instance.\",\n                                  \"example\": [\n                                    67512819\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"status\": {\n                                  \"description\": \"A status string indicating the state of the Droplet instance. This may be \\\"new\\\", \\\"active\\\", \\\"off\\\", or \\\"archive\\\".\",\n                                  \"enum\": [\n                                    \"new\",\n                                    \"active\",\n                                    \"off\",\n                                    \"archive\"\n                                  ],\n                                  \"example\": \"active\",\n                                  \"type\": \"string\"\n                                },\n                                \"tags\": {\n                                  \"description\": \"An array of Tags the Droplet has been tagged with.\",\n                                  \"example\": [\n                                    \"web\",\n                                    \"env:prod\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"vcpus\": {\n                                  \"description\": \"The number of virtual CPUs.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"volume_ids\": {\n                                  \"description\": \"A flat array including the unique identifier for each Block Storage volume attached to the Droplet.\",\n                                  \"example\": [\n                                    \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"vpc_uuid\": {\n                                  \"description\": \"A string specifying the UUID of the VPC to which the Droplet is assigned.\",\n                                  \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"id\",\n                                \"name\",\n                                \"memory\",\n                                \"vcpus\",\n                                \"disk\",\n                                \"locked\",\n                                \"status\",\n                                \"created_at\",\n                                \"features\",\n                                \"backup_ids\",\n                                \"next_backup_window\",\n                                \"snapshot_ids\",\n                                \"image\",\n                                \"volume_ids\",\n                                \"size\",\n                                \"size_slug\",\n                                \"networks\",\n                                \"region\",\n                                \"tags\"\n                              ],\n                              \"type\": \"object\"\n                            }\n                          ],\n                          \"description\": \"The Droplet that the reserved IP has been assigned to. When you query a reserved IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.\",\n                          \"example\": null\n                        },\n                        \"ip\": {\n                          \"description\": \"The public IP address of the reserved IP. It also serves as its identifier.\",\n                          \"example\": \"45.55.96.47\",\n                          \"format\": \"ipv4\",\n                          \"type\": \"string\"\n                        },\n                        \"locked\": {\n                          \"description\": \"A boolean value indicating whether or not the reserved IP has pending actions preventing new ones from being submitted.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"project_id\": {\n                          \"description\": \"The UUID of the project to which the reserved IP currently belongs.\",\n                          \"example\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                          \"format\": \"uuid\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"available\": {\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"features\": {\n                                  \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                  \"example\": [\n                                    \"private_networking\",\n                                    \"backups\",\n                                    \"ipv6\",\n                                    \"metadata\",\n                                    \"install_agent\",\n                                    \"storage\",\n                                    \"image_transfer\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                  \"example\": \"New York 3\",\n                                  \"type\": \"string\"\n                                },\n                                \"sizes\": {\n                                  \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                  \"example\": [\n                                    \"s-1vcpu-1gb\",\n                                    \"s-1vcpu-2gb\",\n                                    \"s-1vcpu-3gb\",\n                                    \"s-2vcpu-2gb\",\n                                    \"s-3vcpu-1gb\",\n                                    \"s-2vcpu-4gb\",\n                                    \"s-4vcpu-8gb\",\n                                    \"s-6vcpu-16gb\",\n                                    \"s-8vcpu-32gb\",\n                                    \"s-12vcpu-48gb\",\n                                    \"s-16vcpu-64gb\",\n                                    \"s-20vcpu-96gb\",\n                                    \"s-24vcpu-128gb\",\n                                    \"s-32vcpu-192g\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"features\",\n                                \"name\",\n                                \"sizes\",\n                                \"slug\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"description\": \"The region that the reserved IP is reserved to. When you query a reserved IP, the entire region object will be returned.\",\n                              \"type\": \"object\"\n                            }\n                          ]\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `reserved_ip`. The value of this will be an object that contains the standard attributes associated with a reserved IP.\\nWhen assigning a reserved IP to a Droplet at same time as it created, the response's `links` object will contain links to both the Droplet and the assignment action. The latter can be used to check the status of the action.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Reserved IP\",\n        \"tags\": [\n          \"Reserved IPs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"droplet_id\\\": 123456}' \\\\\\n  \\\"https://api.digitalocean.com/v2/reserved_ips\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &godo.ReservedIPCreateRequest{\\n        DropletID: 123456,\\n\\n    }\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nreserved_ip = DropletKit::ReservedIp.new(droplet_id: 123456)\\nclient.reserved_ips.create(reserved_ip) \"\n          }\n        ]\n      }\n    },\n    \"/v2/reserved_ips/{reserved_ip}\": {\n      \"delete\": {\n        \"description\": \"To delete a reserved IP and remove it from your account, send a DELETE request\\nto `/v2/reserved_ips/$RESERVED_IP_ADDR`.\\n\\nA successful request will receive a 204 status code with no body in response.\\nThis indicates that the request was processed successfully.\\n\",\n        \"operationId\": \"reservedIPs_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"A reserved IP address.\",\n            \"example\": \"45.55.96.47\",\n            \"in\": \"path\",\n            \"name\": \"reserved_ip\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"ipv4\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Reserved IP\",\n        \"tags\": [\n          \"Reserved IPs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/reserved_ips/45.55.96.47\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.ReservedIPs.Delete(ctx, \\\"45.55.96.34\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.reserved_ips.delete(ip: '45.55.96.47') \"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`.\",\n        \"operationId\": \"reservedIPs_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A reserved IP address.\",\n            \"example\": \"45.55.96.47\",\n            \"in\": \"path\",\n            \"name\": \"reserved_ip\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"ipv4\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"reserved_ip_assigned\": {\n                    \"summary\": \"Assigned to Droplet\",\n                    \"value\": {\n                      \"reserved_ip\": {\n                        \"droplet\": {\n                          \"backup_ids\": [\n                            53893572\n                          ],\n                          \"created_at\": \"2020-07-21T18:37:44Z\",\n                          \"disk\": 25,\n                          \"features\": [\n                            \"backups\",\n                            \"private_networking\",\n                            \"ipv6\"\n                          ],\n                          \"id\": 3164444,\n                          \"image\": {\n                            \"created_at\": \"2020-05-15T05:47:50Z\",\n                            \"description\": \"\",\n                            \"distribution\": \"Ubuntu\",\n                            \"error_message\": \"\",\n                            \"id\": 63663980,\n                            \"min_disk_size\": 20,\n                            \"name\": \"20.04 (LTS) x64\",\n                            \"public\": true,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"size_gigabytes\": 2.36,\n                            \"slug\": \"ubuntu-20-04-x64\",\n                            \"status\": \"available\",\n                            \"tags\": [],\n                            \"type\": \"base\"\n                          },\n                          \"kernel\": null,\n                          \"locked\": false,\n                          \"memory\": 1024,\n                          \"name\": \"example.com\",\n                          \"networks\": {\n                            \"v4\": [\n                              {\n                                \"gateway\": \"nil\",\n                                \"ip_address\": \"10.128.192.124\",\n                                \"netmask\": \"255.255.0.0\",\n                                \"type\": \"private\"\n                              },\n                              {\n                                \"gateway\": \"192.241.165.1\",\n                                \"ip_address\": \"192.241.165.154\",\n                                \"netmask\": \"255.255.255.0\",\n                                \"type\": \"public\"\n                              }\n                            ],\n                            \"v6\": [\n                              {\n                                \"gateway\": \"2604:a880:0:1010::1\",\n                                \"ip_address\": \"2604:a880:0:1010::18a:a001\",\n                                \"netmask\": 64,\n                                \"type\": \"public\"\n                              }\n                            ]\n                          },\n                          \"next_backup_window\": {\n                            \"end\": \"2020-07-30T23:00:00Z\",\n                            \"start\": \"2020-07-30T00:00:00Z\"\n                          },\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\",\n                              \"install_agent\",\n                              \"storage\",\n                              \"image_transfer\"\n                            ],\n                            \"name\": \"New York 3\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192g\"\n                            ],\n                            \"slug\": \"nyc3\"\n                          },\n                          \"size\": {\n                            \"available\": true,\n                            \"description\": \"Basic\",\n                            \"disk\": 25,\n                            \"memory\": 1024,\n                            \"price_hourly\": 0.00743999984115362,\n                            \"price_monthly\": 5,\n                            \"regions\": [\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"slug\": \"s-1vcpu-1gb\",\n                            \"transfer\": 1,\n                            \"vcpus\": 1\n                          },\n                          \"size_slug\": \"s-1vcpu-1gb\",\n                          \"snapshot_ids\": [\n                            67512819\n                          ],\n                          \"status\": \"active\",\n                          \"tags\": [\n                            \"web\",\n                            \"env:prod\"\n                          ],\n                          \"vcpus\": 1,\n                          \"volume_ids\": [],\n                          \"vpc_uuid\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\"\n                        },\n                        \"ip\": \"45.55.96.47\",\n                        \"locked\": false,\n                        \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        }\n                      }\n                    }\n                  },\n                  \"reserved_ip_reserved\": {\n                    \"summary\": \"Reserved to Region\",\n                    \"value\": {\n                      \"reserved_ip\": {\n                        \"droplet\": null,\n                        \"ip\": \"45.55.96.47\",\n                        \"locked\": false,\n                        \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\",\n                            \"install_agent\",\n                            \"storage\",\n                            \"image_transfer\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192g\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        }\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"reserved_ip\": {\n                      \"properties\": {\n                        \"droplet\": {\n                          \"anyOf\": [\n                            {\n                              \"description\": \"If the reserved IP is not assigned to a Droplet, the value will be null.\",\n                              \"nullable\": true,\n                              \"title\": \"null\",\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"backup_ids\": {\n                                  \"description\": \"An array of backup IDs of any backups that have been taken of the Droplet instance.  Droplet backups are enabled at the time of the instance creation.\",\n                                  \"example\": [\n                                    53893572\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"created_at\": {\n                                  \"description\": \"A time value given in ISO8601 combined date and time format that represents when the Droplet was created.\",\n                                  \"example\": \"2020-07-21T18:37:44Z\",\n                                  \"format\": \"date-time\",\n                                  \"type\": \"string\"\n                                },\n                                \"disk\": {\n                                  \"description\": \"The size of the Droplet's disk in gigabytes.\",\n                                  \"example\": 25,\n                                  \"type\": \"integer\"\n                                },\n                                \"features\": {\n                                  \"description\": \"An array of features enabled on this Droplet.\",\n                                  \"example\": [\n                                    \"backups\",\n                                    \"private_networking\",\n                                    \"ipv6\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"id\": {\n                                  \"description\": \"A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.\",\n                                  \"example\": 3164444,\n                                  \"type\": \"integer\"\n                                },\n                                \"image\": {\n                                  \"properties\": {\n                                    \"created_at\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format that represents when the image was created.\",\n                                      \"example\": \"2020-05-04T22:23:02Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"description\": {\n                                      \"description\": \"An optional free-form text field to describe an image.\",\n                                      \"example\": \" \",\n                                      \"type\": \"string\"\n                                    },\n                                    \"distribution\": {\n                                      \"description\": \"The name of a custom image's distribution. Currently, the valid values are  `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`,  `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`.  Any other value will be accepted but ignored, and `Unknown` will be used in its place.\",\n                                      \"enum\": [\n                                        \"Arch Linux\",\n                                        \"CentOS\",\n                                        \"CoreOS\",\n                                        \"Debian\",\n                                        \"Fedora\",\n                                        \"Fedora Atomic\",\n                                        \"FreeBSD\",\n                                        \"Gentoo\",\n                                        \"openSUSE\",\n                                        \"RancherOS\",\n                                        \"Rocky Linux\",\n                                        \"Ubuntu\",\n                                        \"Unknown\"\n                                      ],\n                                      \"example\": \"Ubuntu\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"error_message\": {\n                                      \"description\": \"A string containing information about errors that may occur when importing\\n a custom image.\",\n                                      \"example\": \" \",\n                                      \"type\": \"string\"\n                                    },\n                                    \"id\": {\n                                      \"description\": \"A unique number that can be used to identify and reference a specific image.\",\n                                      \"example\": 7555620,\n                                      \"readOnly\": true,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"min_disk_size\": {\n                                      \"description\": \"The minimum disk size in GB required for a Droplet to use this image.\",\n                                      \"example\": 20,\n                                      \"minimum\": 0,\n                                      \"nullable\": true,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name that has been given to an image.  This is what is shown in the control panel and is generally a descriptive title for the image in question.\",\n                                      \"example\": \"Nifty New Snapshot\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"public\": {\n                                      \"description\": \"This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"regions\": {\n                                      \"description\": \"This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.\",\n                                      \"example\": [\n                                        \"nyc1\",\n                                        \"nyc2\"\n                                      ],\n                                      \"items\": {\n                                        \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                                        \"enum\": [\n                                          \"ams1\",\n                                          \"ams2\",\n                                          \"ams3\",\n                                          \"blr1\",\n                                          \"fra1\",\n                                          \"lon1\",\n                                          \"nyc1\",\n                                          \"nyc2\",\n                                          \"nyc3\",\n                                          \"sfo1\",\n                                          \"sfo2\",\n                                          \"sfo3\",\n                                          \"sgp1\",\n                                          \"tor1\"\n                                        ],\n                                        \"example\": \"nyc3\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"size_gigabytes\": {\n                                      \"description\": \"The size of the image in gigabytes.\",\n                                      \"example\": 2.34,\n                                      \"format\": \"float\",\n                                      \"nullable\": true,\n                                      \"type\": \"number\"\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.\",\n                                      \"example\": \"nifty1\",\n                                      \"nullable\": true,\n                                      \"type\": \"string\"\n                                    },\n                                    \"status\": {\n                                      \"description\": \"A status string indicating the state of a custom image. This may be `NEW`,\\n `available`, `pending`, `deleted`, or `retired`.\",\n                                      \"enum\": [\n                                        \"NEW\",\n                                        \"available\",\n                                        \"pending\",\n                                        \"deleted\",\n                                        \"retired\"\n                                      ],\n                                      \"example\": \"NEW\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"tags\": {\n                                      \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                      \"example\": [\n                                        \"base-image\",\n                                        \"prod\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"nullable\": true,\n                                      \"type\": \"array\"\n                                    },\n                                    \"type\": {\n                                      \"description\": \"Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).\",\n                                      \"enum\": [\n                                        \"base\",\n                                        \"snapshot\",\n                                        \"backup\",\n                                        \"custom\",\n                                        \"admin\"\n                                      ],\n                                      \"example\": \"snapshot\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"kernel\": {\n                                  \"deprecated\": true,\n                                  \"description\": \"**Note**: All Droplets created after March 2017 use internal kernels by default.\\nThese Droplets will have this attribute set to `null`.\\n\\nThe current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/)\\nfor Droplets with externally managed kernels. This will initially be set to\\nthe kernel of the base image when the Droplet is created.\\n\",\n                                  \"nullable\": true,\n                                  \"properties\": {\n                                    \"id\": {\n                                      \"description\": \"A unique number used to identify and reference a specific kernel.\",\n                                      \"example\": 7515,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question.\",\n                                      \"example\": \"DigitalOcean GrubLoader v0.2 (20160714)\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"version\": {\n                                      \"description\": \"A standard kernel version string representing the version, patch, and release information.\",\n                                      \"example\": \"2016.07.13-DigitalOcean_loader_Ubuntu\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"locked\": {\n                                  \"description\": \"A boolean value indicating whether the Droplet has been locked, preventing actions by users.\",\n                                  \"example\": false,\n                                  \"type\": \"boolean\"\n                                },\n                                \"memory\": {\n                                  \"description\": \"Memory of the Droplet in megabytes.\",\n                                  \"example\": 1024,\n                                  \"multipleOf\": 8,\n                                  \"type\": \"integer\"\n                                },\n                                \"name\": {\n                                  \"description\": \"The human-readable name set for the Droplet instance.\",\n                                  \"example\": \"example.com\",\n                                  \"type\": \"string\"\n                                },\n                                \"networks\": {\n                                  \"description\": \"The details of the network that are configured for the Droplet instance.  This is an object that contains keys for IPv4 and IPv6.  The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet.  These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.\",\n                                  \"properties\": {\n                                    \"v4\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"gateway\": {\n                                            \"description\": \"The gateway of the specified IPv4 network interface.\\n\\nFor private interfaces, a gateway is not provided. This is denoted by\\nreturning `nil` as its value.\\n\",\n                                            \"example\": \"104.236.0.1\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ip_address\": {\n                                            \"description\": \"The IP address of the IPv4 network interface.\",\n                                            \"example\": \"104.236.32.182\",\n                                            \"format\": \"ipv4\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"netmask\": {\n                                            \"description\": \"The netmask of the IPv4 network interface.\",\n                                            \"example\": \"255.255.192.0\",\n                                            \"format\": \"ipv4\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"type\": {\n                                            \"description\": \"The type of the IPv4 network interface.\",\n                                            \"enum\": [\n                                              \"public\",\n                                              \"private\"\n                                            ],\n                                            \"example\": \"public\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"v6\": {\n                                      \"items\": {\n                                        \"properties\": {\n                                          \"gateway\": {\n                                            \"description\": \"The gateway of the specified IPv6 network interface.\",\n                                            \"example\": \"2604:a880:0:1010::1\",\n                                            \"format\": \"ipv6\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"ip_address\": {\n                                            \"description\": \"The IP address of the IPv6 network interface.\",\n                                            \"example\": \"2604:a880:0:1010::18a:a001\",\n                                            \"format\": \"ipv6\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"netmask\": {\n                                            \"description\": \"The netmask of the IPv6 network interface.\",\n                                            \"example\": 64,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"type\": {\n                                            \"description\": \"The type of the IPv6 network interface.\\n\\n**Note**: IPv6 private  networking is not currently supported.\\n\",\n                                            \"enum\": [\n                                              \"public\"\n                                            ],\n                                            \"example\": \"public\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"type\": \"array\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"next_backup_window\": {\n                                  \"description\": \"The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.\",\n                                  \"nullable\": true,\n                                  \"properties\": {\n                                    \"end\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window.\",\n                                      \"example\": \"2019-12-04T23:00:00Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"start\": {\n                                      \"description\": \"A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window.\",\n                                      \"example\": \"2019-12-04T00:00:00Z\",\n                                      \"format\": \"date-time\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"region\": {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"features\": {\n                                      \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                      \"example\": [\n                                        \"private_networking\",\n                                        \"backups\",\n                                        \"ipv6\",\n                                        \"metadata\",\n                                        \"install_agent\",\n                                        \"storage\",\n                                        \"image_transfer\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                      \"example\": \"New York 3\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"sizes\": {\n                                      \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                      \"example\": [\n                                        \"s-1vcpu-1gb\",\n                                        \"s-1vcpu-2gb\",\n                                        \"s-1vcpu-3gb\",\n                                        \"s-2vcpu-2gb\",\n                                        \"s-3vcpu-1gb\",\n                                        \"s-2vcpu-4gb\",\n                                        \"s-4vcpu-8gb\",\n                                        \"s-6vcpu-16gb\",\n                                        \"s-8vcpu-32gb\",\n                                        \"s-12vcpu-48gb\",\n                                        \"s-16vcpu-64gb\",\n                                        \"s-20vcpu-96gb\",\n                                        \"s-24vcpu-128gb\",\n                                        \"s-32vcpu-192g\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                      \"example\": \"nyc3\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"features\",\n                                    \"name\",\n                                    \"sizes\",\n                                    \"slug\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"size\": {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"default\": true,\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created with this size.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"description\": {\n                                      \"description\": \"A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.\",\n                                      \"example\": \"Basic\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"disk\": {\n                                      \"description\": \"The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes.\",\n                                      \"example\": 25,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"memory\": {\n                                      \"description\": \"The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes.\",\n                                      \"example\": 1024,\n                                      \"minimum\": 8,\n                                      \"multipleOf\": 8,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"price_hourly\": {\n                                      \"description\": \"This describes the price of the Droplet size as measured hourly. The value is measured in US dollars.\",\n                                      \"example\": 0.00743999984115362,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"price_monthly\": {\n                                      \"description\": \"This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars.\",\n                                      \"example\": 5,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"regions\": {\n                                      \"description\": \"An array containing the region slugs where this size is available for Droplet creates.\",\n                                      \"example\": [\n                                        \"ams2\",\n                                        \"ams3\",\n                                        \"blr1\",\n                                        \"fra1\",\n                                        \"lon1\",\n                                        \"nyc1\",\n                                        \"nyc2\",\n                                        \"nyc3\",\n                                        \"sfo1\",\n                                        \"sfo2\",\n                                        \"sfo3\",\n                                        \"sgp1\",\n                                        \"tor1\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      },\n                                      \"type\": \"array\"\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used to uniquely identify each size.\",\n                                      \"example\": \"s-1vcpu-1gb\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"transfer\": {\n                                      \"description\": \"The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes.\",\n                                      \"example\": 1,\n                                      \"format\": \"float\",\n                                      \"type\": \"number\"\n                                    },\n                                    \"vcpus\": {\n                                      \"description\": \"The integer of number CPUs allocated to Droplets of this size.\",\n                                      \"example\": 1,\n                                      \"type\": \"integer\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"disk\",\n                                    \"memory\",\n                                    \"price_hourly\",\n                                    \"price_monthly\",\n                                    \"regions\",\n                                    \"slug\",\n                                    \"transfer\",\n                                    \"vcpus\",\n                                    \"description\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"size_slug\": {\n                                  \"description\": \"The unique slug identifier for the size of this Droplet.\",\n                                  \"example\": \"s-1vcpu-1gb\",\n                                  \"type\": \"string\"\n                                },\n                                \"snapshot_ids\": {\n                                  \"description\": \"An array of snapshot IDs of any snapshots created from the Droplet instance.\",\n                                  \"example\": [\n                                    67512819\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"status\": {\n                                  \"description\": \"A status string indicating the state of the Droplet instance. This may be \\\"new\\\", \\\"active\\\", \\\"off\\\", or \\\"archive\\\".\",\n                                  \"enum\": [\n                                    \"new\",\n                                    \"active\",\n                                    \"off\",\n                                    \"archive\"\n                                  ],\n                                  \"example\": \"active\",\n                                  \"type\": \"string\"\n                                },\n                                \"tags\": {\n                                  \"description\": \"An array of Tags the Droplet has been tagged with.\",\n                                  \"example\": [\n                                    \"web\",\n                                    \"env:prod\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"vcpus\": {\n                                  \"description\": \"The number of virtual CPUs.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                },\n                                \"volume_ids\": {\n                                  \"description\": \"A flat array including the unique identifier for each Block Storage volume attached to the Droplet.\",\n                                  \"example\": [\n                                    \"506f78a4-e098-11e5-ad9f-000f53306ae1\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"vpc_uuid\": {\n                                  \"description\": \"A string specifying the UUID of the VPC to which the Droplet is assigned.\",\n                                  \"example\": \"760e09ef-dc84-11e8-981e-3cfdfeaae000\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"id\",\n                                \"name\",\n                                \"memory\",\n                                \"vcpus\",\n                                \"disk\",\n                                \"locked\",\n                                \"status\",\n                                \"created_at\",\n                                \"features\",\n                                \"backup_ids\",\n                                \"next_backup_window\",\n                                \"snapshot_ids\",\n                                \"image\",\n                                \"volume_ids\",\n                                \"size\",\n                                \"size_slug\",\n                                \"networks\",\n                                \"region\",\n                                \"tags\"\n                              ],\n                              \"type\": \"object\"\n                            }\n                          ],\n                          \"description\": \"The Droplet that the reserved IP has been assigned to. When you query a reserved IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.\",\n                          \"example\": null\n                        },\n                        \"ip\": {\n                          \"description\": \"The public IP address of the reserved IP. It also serves as its identifier.\",\n                          \"example\": \"45.55.96.47\",\n                          \"format\": \"ipv4\",\n                          \"type\": \"string\"\n                        },\n                        \"locked\": {\n                          \"description\": \"A boolean value indicating whether or not the reserved IP has pending actions preventing new ones from being submitted.\",\n                          \"example\": true,\n                          \"type\": \"boolean\"\n                        },\n                        \"project_id\": {\n                          \"description\": \"The UUID of the project to which the reserved IP currently belongs.\",\n                          \"example\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                          \"format\": \"uuid\",\n                          \"type\": \"string\"\n                        },\n                        \"region\": {\n                          \"allOf\": [\n                            {\n                              \"properties\": {\n                                \"available\": {\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"features\": {\n                                  \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                  \"example\": [\n                                    \"private_networking\",\n                                    \"backups\",\n                                    \"ipv6\",\n                                    \"metadata\",\n                                    \"install_agent\",\n                                    \"storage\",\n                                    \"image_transfer\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                  \"example\": \"New York 3\",\n                                  \"type\": \"string\"\n                                },\n                                \"sizes\": {\n                                  \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                  \"example\": [\n                                    \"s-1vcpu-1gb\",\n                                    \"s-1vcpu-2gb\",\n                                    \"s-1vcpu-3gb\",\n                                    \"s-2vcpu-2gb\",\n                                    \"s-3vcpu-1gb\",\n                                    \"s-2vcpu-4gb\",\n                                    \"s-4vcpu-8gb\",\n                                    \"s-6vcpu-16gb\",\n                                    \"s-8vcpu-32gb\",\n                                    \"s-12vcpu-48gb\",\n                                    \"s-16vcpu-64gb\",\n                                    \"s-20vcpu-96gb\",\n                                    \"s-24vcpu-128gb\",\n                                    \"s-32vcpu-192g\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"features\",\n                                \"name\",\n                                \"sizes\",\n                                \"slug\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"description\": \"The region that the reserved IP is reserved to. When you query a reserved IP, the entire region object will be returned.\",\n                              \"type\": \"object\"\n                            }\n                          ]\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `reserved_ip`. The value of this will be an object that contains the standard attributes associated with a reserved IP.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Reserved IP\",\n        \"tags\": [\n          \"Reserved IPs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/reserved_ips/45.55.96.47\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    reservedIP, _, err := client.ReservedIPs.Get(ctx, \\\"45.55.96.47\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.reserved_ips.find(ip: '45.55.96.47')\"\n          }\n        ]\n      }\n    },\n    \"/v2/reserved_ips/{reserved_ip}/actions\": {\n      \"get\": {\n        \"description\": \"To retrieve all actions that have been executed on a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions`.\",\n        \"operationId\": \"reservedIPsActions_list\",\n        \"parameters\": [\n          {\n            \"description\": \"A reserved IP address.\",\n            \"example\": \"45.55.96.47\",\n            \"in\": \"path\",\n            \"name\": \"reserved_ip\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"ipv4\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"actions\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"completed_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                                \"example\": \"2020-11-14T16:30:06Z\",\n                                \"format\": \"date-time\",\n                                \"nullable\": true,\n                                \"type\": \"string\"\n                              },\n                              \"id\": {\n                                \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                                \"example\": 36804636,\n                                \"type\": \"integer\"\n                              },\n                              \"region\": {\n                                \"properties\": {\n                                  \"available\": {\n                                    \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"features\": {\n                                    \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                    \"example\": [\n                                      \"private_networking\",\n                                      \"backups\",\n                                      \"ipv6\",\n                                      \"metadata\",\n                                      \"install_agent\",\n                                      \"storage\",\n                                      \"image_transfer\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                    \"example\": \"New York 3\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"sizes\": {\n                                    \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                    \"example\": [\n                                      \"s-1vcpu-1gb\",\n                                      \"s-1vcpu-2gb\",\n                                      \"s-1vcpu-3gb\",\n                                      \"s-2vcpu-2gb\",\n                                      \"s-3vcpu-1gb\",\n                                      \"s-2vcpu-4gb\",\n                                      \"s-4vcpu-8gb\",\n                                      \"s-6vcpu-16gb\",\n                                      \"s-8vcpu-32gb\",\n                                      \"s-12vcpu-48gb\",\n                                      \"s-16vcpu-64gb\",\n                                      \"s-20vcpu-96gb\",\n                                      \"s-24vcpu-128gb\",\n                                      \"s-32vcpu-192g\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"slug\": {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"available\",\n                                  \"features\",\n                                  \"name\",\n                                  \"sizes\",\n                                  \"slug\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              \"region_slug\": {\n                                \"allOf\": [\n                                  {\n                                    \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                    \"example\": \"nyc3\",\n                                    \"type\": \"string\"\n                                  },\n                                  {\n                                    \"nullable\": true,\n                                    \"type\": \"string\"\n                                  }\n                                ]\n                              },\n                              \"resource_id\": {\n                                \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                                \"example\": 3164444,\n                                \"nullable\": true,\n                                \"type\": \"integer\"\n                              },\n                              \"resource_type\": {\n                                \"description\": \"The type of resource that the action is associated with.\",\n                                \"example\": \"droplet\",\n                                \"type\": \"string\"\n                              },\n                              \"started_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                                \"example\": \"2020-11-14T16:29:21Z\",\n                                \"format\": \"date-time\",\n                                \"type\": \"string\"\n                              },\n                              \"status\": {\n                                \"default\": \"in-progress\",\n                                \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                                \"enum\": [\n                                  \"in-progress\",\n                                  \"completed\",\n                                  \"errored\"\n                                ],\n                                \"example\": \"completed\",\n                                \"type\": \"string\"\n                              },\n                              \"type\": {\n                                \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                                \"example\": \"create\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"actions\": [\n                      {\n                        \"completed_at\": \"2015-11-21T21:51:09Z\",\n                        \"id\": 72531856,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\"\n                          ],\n                          \"name\": \"New York 3\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc3\"\n                        },\n                        \"region_slug\": \"nyc3\",\n                        \"resource_id\": 758604197,\n                        \"resource_type\": \"reserved_ip\",\n                        \"started_at\": \"2015-11-21T21:51:09Z\",\n                        \"status\": \"completed\",\n                        \"type\": \"reserve_ip\"\n                      }\n                    ],\n                    \"links\": {},\n                    \"meta\": {\n                      \"total\": 1\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard reserved IP action attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Actions for a Reserved IP\",\n        \"tags\": [\n          \"Reserved IP Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/reserved_ips/45.55.96.47/actions?page=1&per_page=1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    actions, _, err := client.ReservedIPActions.List(ctx, '45.55.96.47', opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nactions = client.reserved_ip_actions.all(ip: '45.55.96.47')\\nactions.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To initiate an action on a reserved IP send a POST request to\\n`/v2/reserved_ips/$RESERVED_IP/actions`. In the JSON body to the request,\\nset the `type` attribute to on of the supported action types:\\n\\n| Action     | Details\\n|------------|--------\\n| `assign`   | Assigns a reserved IP to a Droplet\\n| `unassign` | Unassign a reserved IP from a Droplet\\n\",\n        \"operationId\": \"reservedIPsActions_post\",\n        \"parameters\": [\n          {\n            \"description\": \"A reserved IP address.\",\n            \"example\": \"45.55.96.47\",\n            \"in\": \"path\",\n            \"name\": \"reserved_ip\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"ipv4\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"anyOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"discriminator\": {\n                          \"mapping\": {\n                            \"assign\": \"#/reserved_ip_action_assign\",\n                            \"unassign\": \"#/reserved_ip_action_unassign\"\n                          },\n                          \"propertyName\": \"type\"\n                        },\n                        \"properties\": {\n                          \"type\": {\n                            \"description\": \"The type of action to initiate for the reserved IP.\",\n                            \"enum\": [\n                              \"assign\",\n                              \"unassign\"\n                            ],\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ]\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"discriminator\": {\n                          \"mapping\": {\n                            \"assign\": \"#/reserved_ip_action_assign\",\n                            \"unassign\": \"#/reserved_ip_action_unassign\"\n                          },\n                          \"propertyName\": \"type\"\n                        },\n                        \"properties\": {\n                          \"type\": {\n                            \"description\": \"The type of action to initiate for the reserved IP.\",\n                            \"enum\": [\n                              \"assign\",\n                              \"unassign\"\n                            ],\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"droplet_id\": {\n                            \"description\": \"The ID of the Droplet that the reserved IP will be assigned to.\",\n                            \"example\": 758604968,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\",\n                          \"droplet_id\"\n                        ],\n                        \"type\": \"object\"\n                      }\n                    ]\n                  }\n                ],\n                \"discriminator\": {\n                  \"mapping\": {\n                    \"assign\": \"models/reserved_ip_actions.yml#/reserved_ip_action_assign\",\n                    \"unassign\": \"models/reserved_ip_actions.yml#/reserved_ip_action_unassign\"\n                  },\n                  \"propertyName\": \"type\"\n                }\n              }\n            }\n          },\n          \"description\": \"The `type` attribute set in the request body will specify the action that\\nwill be taken on the reserved IP.\\n\"\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"action\": {\n                      \"completed_at\": \"2015-11-12T17:51:14Z\",\n                      \"id\": 72531856,\n                      \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                      \"region\": {\n                        \"available\": true,\n                        \"features\": [\n                          \"private_networking\",\n                          \"backups\",\n                          \"ipv6\",\n                          \"metadata\"\n                        ],\n                        \"name\": \"New York 3\",\n                        \"sizes\": [\n                          \"s-1vcpu-1gb\",\n                          \"s-1vcpu-2gb\",\n                          \"s-1vcpu-3gb\",\n                          \"s-2vcpu-2gb\",\n                          \"s-3vcpu-1gb\",\n                          \"s-2vcpu-4gb\",\n                          \"s-4vcpu-8gb\",\n                          \"s-6vcpu-16gb\",\n                          \"s-8vcpu-32gb\",\n                          \"s-12vcpu-48gb\",\n                          \"s-16vcpu-64gb\",\n                          \"s-20vcpu-96gb\",\n                          \"s-24vcpu-128gb\",\n                          \"s-32vcpu-192gb\"\n                        ],\n                        \"slug\": \"nyc3\"\n                      },\n                      \"region_slug\": \"nyc3\",\n                      \"resource_id\": 758604968,\n                      \"resource_type\": \"reserved_ip\",\n                      \"started_at\": \"2015-11-12T17:51:03Z\",\n                      \"status\": \"completed\",\n                      \"type\": \"assign_ip\"\n                    }\n                  },\n                  \"properties\": {\n                    \"action\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"completed_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                              \"example\": \"2020-11-14T16:30:06Z\",\n                              \"format\": \"date-time\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                              \"example\": 36804636,\n                              \"type\": \"integer\"\n                            },\n                            \"region\": {\n                              \"properties\": {\n                                \"available\": {\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"features\": {\n                                  \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                  \"example\": [\n                                    \"private_networking\",\n                                    \"backups\",\n                                    \"ipv6\",\n                                    \"metadata\",\n                                    \"install_agent\",\n                                    \"storage\",\n                                    \"image_transfer\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                  \"example\": \"New York 3\",\n                                  \"type\": \"string\"\n                                },\n                                \"sizes\": {\n                                  \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                  \"example\": [\n                                    \"s-1vcpu-1gb\",\n                                    \"s-1vcpu-2gb\",\n                                    \"s-1vcpu-3gb\",\n                                    \"s-2vcpu-2gb\",\n                                    \"s-3vcpu-1gb\",\n                                    \"s-2vcpu-4gb\",\n                                    \"s-4vcpu-8gb\",\n                                    \"s-6vcpu-16gb\",\n                                    \"s-8vcpu-32gb\",\n                                    \"s-12vcpu-48gb\",\n                                    \"s-16vcpu-64gb\",\n                                    \"s-20vcpu-96gb\",\n                                    \"s-24vcpu-128gb\",\n                                    \"s-32vcpu-192g\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"features\",\n                                \"name\",\n                                \"sizes\",\n                                \"slug\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"region_slug\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                },\n                                {\n                                  \"nullable\": true,\n                                  \"type\": \"string\"\n                                }\n                              ]\n                            },\n                            \"resource_id\": {\n                              \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                              \"example\": 3164444,\n                              \"nullable\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"resource_type\": {\n                              \"description\": \"The type of resource that the action is associated with.\",\n                              \"example\": \"droplet\",\n                              \"type\": \"string\"\n                            },\n                            \"started_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                              \"example\": \"2020-11-14T16:29:21Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"status\": {\n                              \"default\": \"in-progress\",\n                              \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                              \"enum\": [\n                                \"in-progress\",\n                                \"completed\",\n                                \"errored\"\n                              ],\n                              \"example\": \"completed\",\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                              \"example\": \"create\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"project_id\": {\n                              \"description\": \"The UUID of the project to which the reserved IP currently belongs.\",\n                              \"example\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                              \"format\": \"uuid\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be an object with a key called `action`. The value of this will be an object that contains the standard reserved IP action attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Initiate a Reserved IP Action\",\n        \"tags\": [\n          \"Reserved IP Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"# Assign a Reserved IP to a Droplet\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"assign\\\",\\\"droplet_id\\\":8219222}' \\\\\\n  \\\"https://api.digitalocean.com/v2/reserved_ips/45.55.96.47/actions\\\"\\n\\n# Unassign a Reserved IP\\n# curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"unassign\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/reserved_ips/45.55.96.47/actions\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n  // Assign a Reserved IP to a Droplet\\n    action, _, err := client.ReservedIPActions.Assign(ctx, \\\"45.55.96.47\\\", 8219222)\\n\\n  // Unassign a Reserved IP\\n  // action, _, err := client.ReservedIPActions.Unassign(ctx, \\\"45.55.96.47\\\")  \\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\n# Assign a Reserved IP to a Droplet\\nclient.reserved_ip_actions.assign(ip: '45.55.96.47', droplet_id: 8219222)\\n\\n# Unassign a Reserved IP\\n# client.reserved_ip_actions.unassign(ip: '45.55.96.47')\"\n          }\n        ]\n      }\n    },\n    \"/v2/reserved_ips/{reserved_ip}/actions/{action_id}\": {\n      \"get\": {\n        \"description\": \"To retrieve the status of a reserved IP action, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`.\",\n        \"operationId\": \"reservedIPsActions_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A reserved IP address.\",\n            \"example\": \"45.55.96.47\",\n            \"in\": \"path\",\n            \"name\": \"reserved_ip\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"ipv4\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n            \"example\": 36804636,\n            \"in\": \"path\",\n            \"name\": \"action_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"action\": {\n                      \"completed_at\": \"2015-11-12T17:51:14Z\",\n                      \"id\": 72531856,\n                      \"project_id\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                      \"region\": {\n                        \"available\": true,\n                        \"features\": [\n                          \"private_networking\",\n                          \"backups\",\n                          \"ipv6\",\n                          \"metadata\"\n                        ],\n                        \"name\": \"New York 3\",\n                        \"sizes\": [\n                          \"s-1vcpu-1gb\",\n                          \"s-1vcpu-2gb\",\n                          \"s-1vcpu-3gb\",\n                          \"s-2vcpu-2gb\",\n                          \"s-3vcpu-1gb\",\n                          \"s-2vcpu-4gb\",\n                          \"s-4vcpu-8gb\",\n                          \"s-6vcpu-16gb\",\n                          \"s-8vcpu-32gb\",\n                          \"s-12vcpu-48gb\",\n                          \"s-16vcpu-64gb\",\n                          \"s-20vcpu-96gb\",\n                          \"s-24vcpu-128gb\",\n                          \"s-32vcpu-192gb\"\n                        ],\n                        \"slug\": \"nyc3\"\n                      },\n                      \"region_slug\": \"nyc3\",\n                      \"resource_id\": 758604968,\n                      \"resource_type\": \"reserved_ip\",\n                      \"started_at\": \"2015-11-12T17:51:03Z\",\n                      \"status\": \"completed\",\n                      \"type\": \"assign_ip\"\n                    }\n                  },\n                  \"properties\": {\n                    \"action\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"completed_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                              \"example\": \"2020-11-14T16:30:06Z\",\n                              \"format\": \"date-time\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                              \"example\": 36804636,\n                              \"type\": \"integer\"\n                            },\n                            \"region\": {\n                              \"properties\": {\n                                \"available\": {\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"features\": {\n                                  \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                  \"example\": [\n                                    \"private_networking\",\n                                    \"backups\",\n                                    \"ipv6\",\n                                    \"metadata\",\n                                    \"install_agent\",\n                                    \"storage\",\n                                    \"image_transfer\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                  \"example\": \"New York 3\",\n                                  \"type\": \"string\"\n                                },\n                                \"sizes\": {\n                                  \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                  \"example\": [\n                                    \"s-1vcpu-1gb\",\n                                    \"s-1vcpu-2gb\",\n                                    \"s-1vcpu-3gb\",\n                                    \"s-2vcpu-2gb\",\n                                    \"s-3vcpu-1gb\",\n                                    \"s-2vcpu-4gb\",\n                                    \"s-4vcpu-8gb\",\n                                    \"s-6vcpu-16gb\",\n                                    \"s-8vcpu-32gb\",\n                                    \"s-12vcpu-48gb\",\n                                    \"s-16vcpu-64gb\",\n                                    \"s-20vcpu-96gb\",\n                                    \"s-24vcpu-128gb\",\n                                    \"s-32vcpu-192g\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"features\",\n                                \"name\",\n                                \"sizes\",\n                                \"slug\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"region_slug\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                },\n                                {\n                                  \"nullable\": true,\n                                  \"type\": \"string\"\n                                }\n                              ]\n                            },\n                            \"resource_id\": {\n                              \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                              \"example\": 3164444,\n                              \"nullable\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"resource_type\": {\n                              \"description\": \"The type of resource that the action is associated with.\",\n                              \"example\": \"droplet\",\n                              \"type\": \"string\"\n                            },\n                            \"started_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                              \"example\": \"2020-11-14T16:29:21Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"status\": {\n                              \"default\": \"in-progress\",\n                              \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                              \"enum\": [\n                                \"in-progress\",\n                                \"completed\",\n                                \"errored\"\n                              ],\n                              \"example\": \"completed\",\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                              \"example\": \"create\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"project_id\": {\n                              \"description\": \"The UUID of the project to which the reserved IP currently belongs.\",\n                              \"example\": \"746c6152-2fa2-11ed-92d3-27aaa54e4988\",\n                              \"format\": \"uuid\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be an object with a key called `action`. The value of this will be an object that contains the standard reserved IP action attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Reserved IP Action\",\n        \"tags\": [\n          \"Reserved IP Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/reserved_ips/45.55.96.47/actions/72531856\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    action, _, err := client.ReservedIPActions.Get(ctx, \\\"45.55.96.47\\\", 72531856)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.reserved_ip_actions.find(ip: '45.55.96.47', id: 72531856)\"\n          }\n        ]\n      }\n    },\n    \"/v2/sizes\": {\n      \"get\": {\n        \"description\": \"To list all of available Droplet sizes, send a GET request to `/v2/sizes`.\\nThe response will be a JSON object with a key called `sizes`. The value of this will be an array of `size` objects each of which contain the standard size attributes.\",\n        \"operationId\": \"sizes_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"sizes\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"available\": {\n                                \"default\": true,\n                                \"description\": \"This is a boolean value that represents whether new Droplets can be created with this size.\",\n                                \"example\": true,\n                                \"type\": \"boolean\"\n                              },\n                              \"description\": {\n                                \"description\": \"A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.\",\n                                \"example\": \"Basic\",\n                                \"type\": \"string\"\n                              },\n                              \"disk\": {\n                                \"description\": \"The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes.\",\n                                \"example\": 25,\n                                \"type\": \"integer\"\n                              },\n                              \"memory\": {\n                                \"description\": \"The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes.\",\n                                \"example\": 1024,\n                                \"minimum\": 8,\n                                \"multipleOf\": 8,\n                                \"type\": \"integer\"\n                              },\n                              \"price_hourly\": {\n                                \"description\": \"This describes the price of the Droplet size as measured hourly. The value is measured in US dollars.\",\n                                \"example\": 0.00743999984115362,\n                                \"format\": \"float\",\n                                \"type\": \"number\"\n                              },\n                              \"price_monthly\": {\n                                \"description\": \"This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars.\",\n                                \"example\": 5,\n                                \"format\": \"float\",\n                                \"type\": \"number\"\n                              },\n                              \"regions\": {\n                                \"description\": \"An array containing the region slugs where this size is available for Droplet creates.\",\n                                \"example\": [\n                                  \"ams2\",\n                                  \"ams3\",\n                                  \"blr1\",\n                                  \"fra1\",\n                                  \"lon1\",\n                                  \"nyc1\",\n                                  \"nyc2\",\n                                  \"nyc3\",\n                                  \"sfo1\",\n                                  \"sfo2\",\n                                  \"sfo3\",\n                                  \"sgp1\",\n                                  \"tor1\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"slug\": {\n                                \"description\": \"A human-readable string that is used to uniquely identify each size.\",\n                                \"example\": \"s-1vcpu-1gb\",\n                                \"type\": \"string\"\n                              },\n                              \"transfer\": {\n                                \"description\": \"The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes.\",\n                                \"example\": 1,\n                                \"format\": \"float\",\n                                \"type\": \"number\"\n                              },\n                              \"vcpus\": {\n                                \"description\": \"The integer of number CPUs allocated to Droplets of this size.\",\n                                \"example\": 1,\n                                \"type\": \"integer\"\n                              }\n                            },\n                            \"required\": [\n                              \"available\",\n                              \"disk\",\n                              \"memory\",\n                              \"price_hourly\",\n                              \"price_monthly\",\n                              \"regions\",\n                              \"slug\",\n                              \"transfer\",\n                              \"vcpus\",\n                              \"description\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"required\": [\n                        \"sizes\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {\n                      \"pages\": {\n                        \"last\": \"https://api.digitalocean.com/v2/sizes?page=64&per_page=1\",\n                        \"next\": \"https://api.digitalocean.com/v2/sizes?page=2&per_page=1\"\n                      }\n                    },\n                    \"meta\": {\n                      \"total\": 64\n                    },\n                    \"sizes\": [\n                      {\n                        \"available\": true,\n                        \"description\": \"Basic\",\n                        \"disk\": 25,\n                        \"memory\": 1024,\n                        \"price_hourly\": 0.00743999984115362,\n                        \"price_monthly\": 5,\n                        \"regions\": [\n                          \"ams2\",\n                          \"ams3\",\n                          \"blr1\",\n                          \"fra1\",\n                          \"lon1\",\n                          \"nyc1\",\n                          \"nyc2\",\n                          \"nyc3\",\n                          \"sfo1\",\n                          \"sfo2\",\n                          \"sfo3\",\n                          \"sgp1\",\n                          \"tor1\"\n                        ],\n                        \"slug\": \"s-1vcpu-1gb\",\n                        \"transfer\": 1,\n                        \"vcpus\": 1\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key called `sizes`. The value of this will be an array of `size` objects each of which contain the standard size attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Droplet Sizes\",\n        \"tags\": [\n          \"Sizes\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/sizes\\\" \"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    sizes, _, err := client.Sizes.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nsizes = client.sizes.all\\nsizes.each\"\n          }\n        ]\n      }\n    },\n    \"/v2/snapshots\": {\n      \"get\": {\n        \"description\": \"To list all of the snapshots available on your account, send a GET request to\\n`/v2/snapshots`.\\n\\nThe response will be a JSON object with a key called `snapshots`. This will be\\nset to an array of `snapshot` objects, each of which will contain the standard\\nsnapshot attributes.\\n\\n### Filtering Results by Resource Type\\n\\nIt's possible to request filtered results by including certain query parameters.\\n\\n#### List Droplet Snapshots\\n\\nTo retrieve only snapshots based on Droplets, include the `resource_type`\\nquery parameter set to `droplet`. For example, `/v2/snapshots?resource_type=droplet`.\\n\\n#### List Volume Snapshots\\n\\nTo retrieve only snapshots based on volumes, include the `resource_type`\\nquery parameter set to `volume`. For example, `/v2/snapshots?resource_type=volume`.\\n\",\n        \"operationId\": \"snapshots_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Used to filter snapshots by a resource type.\",\n            \"example\": \"droplet\",\n            \"in\": \"query\",\n            \"name\": \"resource_type\",\n            \"required\": false,\n            \"schema\": {\n              \"enum\": [\n                \"droplet\",\n                \"volume\"\n              ],\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"All Snapshots\": {\n                    \"value\": {\n                      \"links\": {},\n                      \"meta\": {\n                        \"total\": 2\n                      },\n                      \"snapshots\": [\n                        {\n                          \"created_at\": \"2020-07-28T16:47:44Z\",\n                          \"id\": \"6372321\",\n                          \"min_disk_size\": 25,\n                          \"name\": \"web-01-1595954862243\",\n                          \"regions\": [\n                            \"nyc3\",\n                            \"sfo3\"\n                          ],\n                          \"resource_id\": \"200776916\",\n                          \"resource_type\": \"droplet\",\n                          \"size_gigabytes\": 2.34,\n                          \"tags\": [\n                            \"web\",\n                            \"env:prod\"\n                          ]\n                        },\n                        {\n                          \"created_at\": \"2019-09-28T23:14:30Z\",\n                          \"id\": \"fbe805e8-866b-11e6-96bf-000f53315a41\",\n                          \"min_disk_size\": 2,\n                          \"name\": \"pvc-01-1595954862243\",\n                          \"regions\": [\n                            \"nyc1\"\n                          ],\n                          \"resource_id\": \"89bcc42f-85cf-11e6-a004-000f53315871\",\n                          \"resource_type\": \"volume\",\n                          \"size_gigabytes\": 0.1008,\n                          \"tags\": [\n                            \"k8s\"\n                          ]\n                        }\n                      ]\n                    }\n                  },\n                  \"Droplets Snapshots\": {\n                    \"value\": {\n                      \"links\": {},\n                      \"meta\": {\n                        \"total\": 1\n                      },\n                      \"snapshots\": [\n                        {\n                          \"created_at\": \"2020-07-28T16:47:44Z\",\n                          \"id\": \"6372321\",\n                          \"min_disk_size\": 25,\n                          \"name\": \"web-01-1595954862243\",\n                          \"regions\": [\n                            \"nyc3\",\n                            \"sfo3\"\n                          ],\n                          \"resource_id\": \"200776916\",\n                          \"resource_type\": \"droplet\",\n                          \"size_gigabytes\": 2.34,\n                          \"tags\": [\n                            \"web\",\n                            \"env:prod\"\n                          ]\n                        }\n                      ]\n                    }\n                  },\n                  \"Volume Snapshots\": {\n                    \"value\": {\n                      \"links\": {},\n                      \"meta\": {\n                        \"total\": 1\n                      },\n                      \"snapshots\": [\n                        {\n                          \"created_at\": \"2019-09-28T23:14:30Z\",\n                          \"id\": \"fbe805e8-866b-11e6-96bf-000f53315a41\",\n                          \"min_disk_size\": 2,\n                          \"name\": \"pvc-01-1595954862243\",\n                          \"regions\": [\n                            \"nyc1\"\n                          ],\n                          \"resource_id\": \"89bcc42f-85cf-11e6-a004-000f53315871\",\n                          \"resource_type\": \"volume\",\n                          \"size_gigabytes\": 0.1008,\n                          \"tags\": [\n                            \"k8s\"\n                          ]\n                        }\n                      ]\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"snapshots\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"id\": {\n                                    \"description\": \"The unique identifier for the snapshot.\",\n                                    \"example\": \"6372321\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"id\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the snapshot was created.\",\n                                    \"example\": \"2020-07-28T16:47:44Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"min_disk_size\": {\n                                    \"description\": \"The minimum size in GB required for a volume or Droplet to use this snapshot.\",\n                                    \"example\": 25,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-readable name for the snapshot.\",\n                                    \"example\": \"web-01-1595954862243\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"regions\": {\n                                    \"description\": \"An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values.\",\n                                    \"example\": [\n                                      \"nyc3\",\n                                      \"sfo3\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"size_gigabytes\": {\n                                    \"description\": \"The billable size of the snapshot in gigabytes.\",\n                                    \"example\": 2.34,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\",\n                                  \"created_at\",\n                                  \"regions\",\n                                  \"min_disk_size\",\n                                  \"size_gigabytes\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"resource_id\": {\n                                    \"description\": \"The unique identifier for the resource that the snapshot originated from.\",\n                                    \"example\": \"200776916\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"resource_type\": {\n                                    \"description\": \"The type of resource that the snapshot originated from.\",\n                                    \"enum\": [\n                                      \"droplet\",\n                                      \"volume\"\n                                    ],\n                                    \"example\": \"droplet\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"tags\": {\n                                    \"description\": \"An array of Tags the snapshot has been tagged with.\",\n                                    \"example\": [\n                                      \"web\",\n                                      \"env:prod\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"nullable\": true,\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"resource_id\",\n                                  \"resource_type\",\n                                  \"tags\"\n                                ],\n                                \"type\": \"object\"\n                              }\n                            ]\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key of `snapshots`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Snapshots\",\n        \"tags\": [\n          \"Snapshots\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"# List all snapshots\\ncurl -X GET \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/snapshots?page=1&per_page=1\\\"\\n\\n# List all Droplet snapshots\\ncurl -X GET \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/snapshots?page=1&per_page=1&resource_type=droplet\\\"\\n\\n# List volume snapshots\\ncurl -X GET \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/snapshots?page=1&per_page=1&resource_type=volume\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n// List all snapshots\\n    snapshots, _, err := client.Snapshots.List(ctx, opt)\\n\\n// List all Droplet snapshots\\n//  snapshots, _, err := client.Snapshots.ListDroplet(ctx, opt)\\n\\n// List all volume snapshots\\n//  snapshots, _, err := client.Snapshots.ListVolume(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\n# List all snapshots\\nsnapshots = client.snapshots.all\\nsnapshots.each\\n\\n# List all Droplet snapshots\\n# snapshots = client.snapshots.all(resource_type: 'droplet')\\n# snapshots.each\\n\\n# List volume snapshots\\n# snapshots = client.snapshots.all(resource_type: 'volume')\\n# snapshots.each\"\n          }\n        ]\n      }\n    },\n    \"/v2/snapshots/{snapshot_id}\": {\n      \"delete\": {\n        \"description\": \"Both Droplet and volume snapshots are managed through the `/v2/snapshots/`\\nendpoint. To delete a snapshot, send a DELETE request to\\n`/v2/snapshots/$SNAPSHOT_ID`.\\n\\nA status of 204 will be given. This indicates that the request was processed\\nsuccessfully, but that no response body is needed.\\n\",\n        \"operationId\": \"snapshots_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"Either the ID of an existing snapshot. This will be an integer for a Droplet snapshot or a string for a volume snapshot.\",\n            \"example\": 6372321,\n            \"in\": \"path\",\n            \"name\": \"snapshot_id\",\n            \"required\": true,\n            \"schema\": {\n              \"anyOf\": [\n                {\n                  \"description\": \"The ID of a Droplet snapshot.\",\n                  \"example\": 6372321,\n                  \"type\": \"integer\"\n                },\n                {\n                  \"description\": \"The ID of a volume snapshot.\",\n                  \"example\": \"fbe805e8-866b-11e6-96bf-000f53315a41\",\n                  \"type\": \"string\"\n                }\n              ]\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Snapshot\",\n        \"tags\": [\n          \"Snapshots\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/snapshots/fbe805e8-866b-11e6-96bf-000f53315a41\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Snapshots.Delete(ctx, 'fbe805e8-866b-11e6-96bf-000f53315a41')\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.snapshots.delete(id: 'fbe805e8-866b-11e6-96bf-000f53315a41')\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To retrieve information about a snapshot, send a GET request to\\n`/v2/snapshots/$SNAPSHOT_ID`.\\n\\nThe response will be a JSON object with a key called `snapshot`. The value of\\nthis will be an snapshot object containing the standard snapshot attributes.\\n\",\n        \"operationId\": \"snapshots_get\",\n        \"parameters\": [\n          {\n            \"description\": \"Either the ID of an existing snapshot. This will be an integer for a Droplet snapshot or a string for a volume snapshot.\",\n            \"example\": 6372321,\n            \"in\": \"path\",\n            \"name\": \"snapshot_id\",\n            \"required\": true,\n            \"schema\": {\n              \"anyOf\": [\n                {\n                  \"description\": \"The ID of a Droplet snapshot.\",\n                  \"example\": 6372321,\n                  \"type\": \"integer\"\n                },\n                {\n                  \"description\": \"The ID of a volume snapshot.\",\n                  \"example\": \"fbe805e8-866b-11e6-96bf-000f53315a41\",\n                  \"type\": \"string\"\n                }\n              ]\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"snapshot\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"id\": {\n                              \"description\": \"The unique identifier for the snapshot.\",\n                              \"example\": \"6372321\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"id\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the snapshot was created.\",\n                              \"example\": \"2020-07-28T16:47:44Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"min_disk_size\": {\n                              \"description\": \"The minimum size in GB required for a volume or Droplet to use this snapshot.\",\n                              \"example\": 25,\n                              \"type\": \"integer\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for the snapshot.\",\n                              \"example\": \"web-01-1595954862243\",\n                              \"type\": \"string\"\n                            },\n                            \"regions\": {\n                              \"description\": \"An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values.\",\n                              \"example\": [\n                                \"nyc3\",\n                                \"sfo3\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"size_gigabytes\": {\n                              \"description\": \"The billable size of the snapshot in gigabytes.\",\n                              \"example\": 2.34,\n                              \"format\": \"float\",\n                              \"type\": \"number\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\",\n                            \"created_at\",\n                            \"regions\",\n                            \"min_disk_size\",\n                            \"size_gigabytes\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"resource_id\": {\n                              \"description\": \"The unique identifier for the resource that the snapshot originated from.\",\n                              \"example\": \"200776916\",\n                              \"type\": \"string\"\n                            },\n                            \"resource_type\": {\n                              \"description\": \"The type of resource that the snapshot originated from.\",\n                              \"enum\": [\n                                \"droplet\",\n                                \"volume\"\n                              ],\n                              \"example\": \"droplet\",\n                              \"type\": \"string\"\n                            },\n                            \"tags\": {\n                              \"description\": \"An array of Tags the snapshot has been tagged with.\",\n                              \"example\": [\n                                \"web\",\n                                \"env:prod\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"resource_id\",\n                            \"resource_type\",\n                            \"tags\"\n                          ],\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"A JSON object with a key called `snapshot`.\\n\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Snapshot\",\n        \"tags\": [\n          \"Snapshots\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/snapshots/fbe805e8-866b-11e6-96bf-000f53315a41\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    snapshot, _, err := client.Snapshots.Get(ctx, 'fbe805e8-866b-11e6-96bf-000f53315a41')\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nsnapshot = client.snapshots.find(id: 'fbe805e8-866b-11e6-96bf-000f53315a41')\"\n          }\n        ]\n      }\n    },\n    \"/v2/tags\": {\n      \"get\": {\n        \"description\": \"To list all of your tags, you can send a GET request to `/v2/tags`.\",\n        \"operationId\": \"tags_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"tags\": {\n                          \"items\": {\n                            \"description\": \"A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it.\\nTags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged.\",\n                            \"properties\": {\n                              \"name\": {\n                                \"description\": \"The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores.\\nThere is a limit of 255 characters per tag.\\n\\n**Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical.\\n\\nWhen working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named \\\"PROD\\\", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`).\\n\\nTagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named \\\"PROD\\\", you can tag resources in the control panel by entering \\\"prod\\\". The tag will still display with its canonical capitalization, \\\"PROD\\\".\\n\",\n                                \"example\": \"extra-awesome\",\n                                \"maxLength\": 255,\n                                \"pattern\": \"^[a-zA-Z0-9_\\\\-\\\\:]+$\",\n                                \"type\": \"string\"\n                              },\n                              \"resources\": {\n                                \"allOf\": [\n                                  {\n                                    \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                    \"properties\": {\n                                      \"count\": {\n                                        \"description\": \"The number of tagged objects for this type of resource.\",\n                                        \"example\": 5,\n                                        \"minimum\": 0,\n                                        \"type\": \"integer\"\n                                      },\n                                      \"last_tagged_uri\": {\n                                        \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                        \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"type\": \"object\"\n                                  },\n                                  {\n                                    \"properties\": {\n                                      \"databases\": {\n                                        \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                        \"properties\": {\n                                          \"count\": {\n                                            \"description\": \"The number of tagged objects for this type of resource.\",\n                                            \"example\": 5,\n                                            \"minimum\": 0,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"last_tagged_uri\": {\n                                            \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                            \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"droplets\": {\n                                        \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                        \"properties\": {\n                                          \"count\": {\n                                            \"description\": \"The number of tagged objects for this type of resource.\",\n                                            \"example\": 5,\n                                            \"minimum\": 0,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"last_tagged_uri\": {\n                                            \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                            \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"imgages\": {\n                                        \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                        \"properties\": {\n                                          \"count\": {\n                                            \"description\": \"The number of tagged objects for this type of resource.\",\n                                            \"example\": 5,\n                                            \"minimum\": 0,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"last_tagged_uri\": {\n                                            \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                            \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"volume_snapshots\": {\n                                        \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                        \"properties\": {\n                                          \"count\": {\n                                            \"description\": \"The number of tagged objects for this type of resource.\",\n                                            \"example\": 5,\n                                            \"minimum\": 0,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"last_tagged_uri\": {\n                                            \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                            \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      },\n                                      \"volumes\": {\n                                        \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                        \"properties\": {\n                                          \"count\": {\n                                            \"description\": \"The number of tagged objects for this type of resource.\",\n                                            \"example\": 5,\n                                            \"minimum\": 0,\n                                            \"type\": \"integer\"\n                                          },\n                                          \"last_tagged_uri\": {\n                                            \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                            \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"type\": \"object\"\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"description\": \"An embedded object containing key value pairs of resource type and resource statistics. It also includes a count of the total number of resources tagged with the current tag as well as a `last_tagged_uri` attribute set to the last resource tagged with the current tag.\",\n                                \"example\": {\n                                  \"count\": 5,\n                                  \"databases\": {\n                                    \"count\": 1,\n                                    \"last_tagged_uri\": \"https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976\"\n                                  },\n                                  \"droplets\": {\n                                    \"count\": 1,\n                                    \"last_tagged_uri\": \"https://api.digitalocean.com/v2/droplets/3164444\"\n                                  },\n                                  \"images\": {\n                                    \"count\": 1,\n                                    \"last_tagged_uri\": \"https://api.digitalocean.com/v2/images/7555620\"\n                                  },\n                                  \"last_tagged_uri\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                  \"volume_snapshots\": {\n                                    \"count\": 1,\n                                    \"last_tagged_uri\": \"https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519\"\n                                  },\n                                  \"volumes\": {\n                                    \"count\": 1,\n                                    \"last_tagged_uri\": \"https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933\"\n                                  }\n                                },\n                                \"readOnly\": true,\n                                \"type\": \"object\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {},\n                    \"meta\": {\n                      \"total\": 1\n                    },\n                    \"tags\": [\n                      {\n                        \"name\": \"extra-awesome\",\n                        \"resources\": {\n                          \"count\": 5,\n                          \"databases\": {\n                            \"count\": 1,\n                            \"last_tagged_uri\": \"https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976\"\n                          },\n                          \"droplets\": {\n                            \"count\": 1,\n                            \"last_tagged_uri\": \"https://api.digitalocean.com/v2/droplets/3164444\"\n                          },\n                          \"images\": {\n                            \"count\": 1,\n                            \"last_tagged_uri\": \"https://api.digitalocean.com/v2/images/7555620\"\n                          },\n                          \"last_tagged_uri\": \"https://api.digitalocean.com/v2/images/7555620\",\n                          \"volume_snapshots\": {\n                            \"count\": 1,\n                            \"last_tagged_uri\": \"https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519\"\n                          },\n                          \"volumes\": {\n                            \"count\": 1,\n                            \"last_tagged_uri\": \"https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933\"\n                          }\n                        }\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"To list all of your tags, you can send a `GET` request to `/v2/tags`.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Tags\",\n        \"tags\": [\n          \"Tags\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/tags\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n    tags, _, err := client.Tags.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ntags = client.tags.all\\ntags.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a tag you can send a POST request to `/v2/tags` with a `name` attribute.\",\n        \"operationId\": \"tags_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it.\\nTags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged.\",\n                \"properties\": {\n                  \"name\": {\n                    \"description\": \"The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores.\\nThere is a limit of 255 characters per tag.\\n\\n**Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical.\\n\\nWhen working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named \\\"PROD\\\", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`).\\n\\nTagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named \\\"PROD\\\", you can tag resources in the control panel by entering \\\"prod\\\". The tag will still display with its canonical capitalization, \\\"PROD\\\".\\n\",\n                    \"example\": \"extra-awesome\",\n                    \"maxLength\": 255,\n                    \"pattern\": \"^[a-zA-Z0-9_\\\\-\\\\:]+$\",\n                    \"type\": \"string\"\n                  },\n                  \"resources\": {\n                    \"allOf\": [\n                      {\n                        \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                        \"properties\": {\n                          \"count\": {\n                            \"description\": \"The number of tagged objects for this type of resource.\",\n                            \"example\": 5,\n                            \"minimum\": 0,\n                            \"type\": \"integer\"\n                          },\n                          \"last_tagged_uri\": {\n                            \"description\": \"The URI for the last tagged object for this type of resource.\",\n                            \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"databases\": {\n                            \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                            \"properties\": {\n                              \"count\": {\n                                \"description\": \"The number of tagged objects for this type of resource.\",\n                                \"example\": 5,\n                                \"minimum\": 0,\n                                \"type\": \"integer\"\n                              },\n                              \"last_tagged_uri\": {\n                                \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"droplets\": {\n                            \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                            \"properties\": {\n                              \"count\": {\n                                \"description\": \"The number of tagged objects for this type of resource.\",\n                                \"example\": 5,\n                                \"minimum\": 0,\n                                \"type\": \"integer\"\n                              },\n                              \"last_tagged_uri\": {\n                                \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"imgages\": {\n                            \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                            \"properties\": {\n                              \"count\": {\n                                \"description\": \"The number of tagged objects for this type of resource.\",\n                                \"example\": 5,\n                                \"minimum\": 0,\n                                \"type\": \"integer\"\n                              },\n                              \"last_tagged_uri\": {\n                                \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"volume_snapshots\": {\n                            \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                            \"properties\": {\n                              \"count\": {\n                                \"description\": \"The number of tagged objects for this type of resource.\",\n                                \"example\": 5,\n                                \"minimum\": 0,\n                                \"type\": \"integer\"\n                              },\n                              \"last_tagged_uri\": {\n                                \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"volumes\": {\n                            \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                            \"properties\": {\n                              \"count\": {\n                                \"description\": \"The number of tagged objects for this type of resource.\",\n                                \"example\": 5,\n                                \"minimum\": 0,\n                                \"type\": \"integer\"\n                              },\n                              \"last_tagged_uri\": {\n                                \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          }\n                        }\n                      }\n                    ],\n                    \"description\": \"An embedded object containing key value pairs of resource type and resource statistics. It also includes a count of the total number of resources tagged with the current tag as well as a `last_tagged_uri` attribute set to the last resource tagged with the current tag.\",\n                    \"example\": {\n                      \"count\": 5,\n                      \"databases\": {\n                        \"count\": 1,\n                        \"last_tagged_uri\": \"https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976\"\n                      },\n                      \"droplets\": {\n                        \"count\": 1,\n                        \"last_tagged_uri\": \"https://api.digitalocean.com/v2/droplets/3164444\"\n                      },\n                      \"images\": {\n                        \"count\": 1,\n                        \"last_tagged_uri\": \"https://api.digitalocean.com/v2/images/7555620\"\n                      },\n                      \"last_tagged_uri\": \"https://api.digitalocean.com/v2/images/7555620\",\n                      \"volume_snapshots\": {\n                        \"count\": 1,\n                        \"last_tagged_uri\": \"https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519\"\n                      },\n                      \"volumes\": {\n                        \"count\": 1,\n                        \"last_tagged_uri\": \"https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933\"\n                      }\n                    },\n                    \"readOnly\": true,\n                    \"type\": \"object\"\n                  }\n                },\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"tag\": {\n                      \"name\": \"extra-awesome\",\n                      \"resources\": {\n                        \"count\": 0,\n                        \"databases\": {\n                          \"count\": 0\n                        },\n                        \"droplets\": {\n                          \"count\": 0\n                        },\n                        \"images\": {\n                          \"count\": 0\n                        },\n                        \"volume_snapshots\": {\n                          \"count\": 0\n                        },\n                        \"volumes\": {\n                          \"count\": 0\n                        }\n                      }\n                    }\n                  },\n                  \"properties\": {\n                    \"tag\": {\n                      \"description\": \"A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it.\\nTags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged.\",\n                      \"properties\": {\n                        \"name\": {\n                          \"description\": \"The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores.\\nThere is a limit of 255 characters per tag.\\n\\n**Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical.\\n\\nWhen working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named \\\"PROD\\\", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`).\\n\\nTagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named \\\"PROD\\\", you can tag resources in the control panel by entering \\\"prod\\\". The tag will still display with its canonical capitalization, \\\"PROD\\\".\\n\",\n                          \"example\": \"extra-awesome\",\n                          \"maxLength\": 255,\n                          \"pattern\": \"^[a-zA-Z0-9_\\\\-\\\\:]+$\",\n                          \"type\": \"string\"\n                        },\n                        \"resources\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                              \"properties\": {\n                                \"count\": {\n                                  \"description\": \"The number of tagged objects for this type of resource.\",\n                                  \"example\": 5,\n                                  \"minimum\": 0,\n                                  \"type\": \"integer\"\n                                },\n                                \"last_tagged_uri\": {\n                                  \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                  \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"databases\": {\n                                  \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                  \"properties\": {\n                                    \"count\": {\n                                      \"description\": \"The number of tagged objects for this type of resource.\",\n                                      \"example\": 5,\n                                      \"minimum\": 0,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"last_tagged_uri\": {\n                                      \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                      \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"droplets\": {\n                                  \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                  \"properties\": {\n                                    \"count\": {\n                                      \"description\": \"The number of tagged objects for this type of resource.\",\n                                      \"example\": 5,\n                                      \"minimum\": 0,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"last_tagged_uri\": {\n                                      \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                      \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"imgages\": {\n                                  \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                  \"properties\": {\n                                    \"count\": {\n                                      \"description\": \"The number of tagged objects for this type of resource.\",\n                                      \"example\": 5,\n                                      \"minimum\": 0,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"last_tagged_uri\": {\n                                      \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                      \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"volume_snapshots\": {\n                                  \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                  \"properties\": {\n                                    \"count\": {\n                                      \"description\": \"The number of tagged objects for this type of resource.\",\n                                      \"example\": 5,\n                                      \"minimum\": 0,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"last_tagged_uri\": {\n                                      \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                      \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"volumes\": {\n                                  \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                  \"properties\": {\n                                    \"count\": {\n                                      \"description\": \"The number of tagged objects for this type of resource.\",\n                                      \"example\": 5,\n                                      \"minimum\": 0,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"last_tagged_uri\": {\n                                      \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                      \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                }\n                              }\n                            }\n                          ],\n                          \"description\": \"An embedded object containing key value pairs of resource type and resource statistics. It also includes a count of the total number of resources tagged with the current tag as well as a `last_tagged_uri` attribute set to the last resource tagged with the current tag.\",\n                          \"example\": {\n                            \"count\": 5,\n                            \"databases\": {\n                              \"count\": 1,\n                              \"last_tagged_uri\": \"https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976\"\n                            },\n                            \"droplets\": {\n                              \"count\": 1,\n                              \"last_tagged_uri\": \"https://api.digitalocean.com/v2/droplets/3164444\"\n                            },\n                            \"images\": {\n                              \"count\": 1,\n                              \"last_tagged_uri\": \"https://api.digitalocean.com/v2/images/7555620\"\n                            },\n                            \"last_tagged_uri\": \"https://api.digitalocean.com/v2/images/7555620\",\n                            \"volume_snapshots\": {\n                              \"count\": 1,\n                              \"last_tagged_uri\": \"https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519\"\n                            },\n                            \"volumes\": {\n                              \"count\": 1,\n                              \"last_tagged_uri\": \"https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933\"\n                            }\n                          },\n                          \"readOnly\": true,\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called tag.  The value of this will be a tag object containing the standard tag attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"InvalidCharacters\": {\n                    \"value\": {\n                      \"error\": \"Error validating resource tag: \\\\\\\"tag-name \\\\\\\\\\\\\\\"здорово\\\\\\\\\\\\\\\" contains invalid characters\\\\\\\"\",\n                      \"messages\": null,\n                      \"root_causes\": [\n                        \"rpc error: code = InvalidArgument desc = Error validating resource tag: \\\\\\\"tag-name \\\\\\\\\\\\\\\"здорово\\\\\\\\\\\\\\\" contains invalid characters\\\\\\\"\"\n                      ]\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"error\": {\n                      \"description\": \"A message providing information about the error.\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"messages\": {\n                      \"description\": \"A list of error messages.\",\n                      \"example\": null,\n                      \"items\": {\n                        \"type\": \"string\"\n                      },\n                      \"nullable\": true,\n                      \"type\": \"array\"\n                    },\n                    \"root_causes\": {\n                      \"description\": \"A list of underlying causes for the error, including details to help  resolve it when possible.\",\n                      \"example\": [],\n                      \"items\": {\n                        \"type\": \"string\"\n                      },\n                      \"type\": \"array\"\n                    }\n                  },\n                  \"required\": [\n                    \"error\",\n                    \"root_causes\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"x-request-id\": {\n                \"description\": \"Optionally, some endpoints may include a request ID that should be provided  when reporting bugs or opening support tickets to help identify the issue.\",\n                \"example\": \"515850a0-a812-50bf-aa3c-d0d21d287e40\",\n                \"schema\": {\n                  \"format\": \"uuid\",\n                  \"type\": \"string\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Tag\",\n        \"tags\": [\n          \"Tags\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"awesome\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/tags\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &TagCreateRequest{\\n        Name: \\\"testing-1\\\",\\n    }\\n    client.Tags.Create(ctx, request)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\ntag = DropletKit::Tag.new(name: 'awesome')\\nclient.tags.create(tag)\"\n          }\n        ]\n      }\n    },\n    \"/v2/tags/{tag_id}\": {\n      \"delete\": {\n        \"description\": \"A tag can be deleted by sending a `DELETE` request to `/v2/tags/$TAG_NAME`. Deleting a tag also untags all the resources that have previously been tagged by the Tag\",\n        \"operationId\": \"tags_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.\",\n            \"example\": \"awesome\",\n            \"in\": \"path\",\n            \"name\": \"tag_id\",\n            \"required\": true,\n            \"schema\": {\n              \"maxLength\": 255,\n              \"pattern\": \"^[a-zA-Z0-9_\\\\-\\\\:]+$\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Tag\",\n        \"tags\": [\n          \"Tags\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/tags/awesome\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    client.Tags.Delete(ctx, \\\"awesome\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.tags.delete(name: 'awesome')\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To retrieve an individual tag, you can send a `GET` request to `/v2/tags/$TAG_NAME`.\",\n        \"operationId\": \"tags_get\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.\",\n            \"example\": \"awesome\",\n            \"in\": \"path\",\n            \"name\": \"tag_id\",\n            \"required\": true,\n            \"schema\": {\n              \"maxLength\": 255,\n              \"pattern\": \"^[a-zA-Z0-9_\\\\-\\\\:]+$\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"tag\": {\n                      \"tag\": {\n                        \"name\": \"extra-awesome\",\n                        \"resources\": {\n                          \"count\": 5,\n                          \"databases\": {\n                            \"count\": 1,\n                            \"last_tagged_uri\": \"https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976\"\n                          },\n                          \"droplets\": {\n                            \"count\": 1,\n                            \"last_tagged_uri\": \"https://api.digitalocean.com/v2/droplets/3164444\"\n                          },\n                          \"images\": {\n                            \"count\": 1,\n                            \"last_tagged_uri\": \"https://api.digitalocean.com/v2/images/7555620\"\n                          },\n                          \"last_tagged_uri\": \"https://api.digitalocean.com/v2/images/7555620\",\n                          \"volume_snapshots\": {\n                            \"count\": 1,\n                            \"last_tagged_uri\": \"https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519\"\n                          },\n                          \"volumes\": {\n                            \"count\": 1,\n                            \"last_tagged_uri\": \"https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933\"\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"properties\": {\n                    \"tag\": {\n                      \"description\": \"A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it.\\nTags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged.\",\n                      \"properties\": {\n                        \"name\": {\n                          \"description\": \"The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores.\\nThere is a limit of 255 characters per tag.\\n\\n**Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical.\\n\\nWhen working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named \\\"PROD\\\", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`).\\n\\nTagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named \\\"PROD\\\", you can tag resources in the control panel by entering \\\"prod\\\". The tag will still display with its canonical capitalization, \\\"PROD\\\".\\n\",\n                          \"example\": \"extra-awesome\",\n                          \"maxLength\": 255,\n                          \"pattern\": \"^[a-zA-Z0-9_\\\\-\\\\:]+$\",\n                          \"type\": \"string\"\n                        },\n                        \"resources\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                              \"properties\": {\n                                \"count\": {\n                                  \"description\": \"The number of tagged objects for this type of resource.\",\n                                  \"example\": 5,\n                                  \"minimum\": 0,\n                                  \"type\": \"integer\"\n                                },\n                                \"last_tagged_uri\": {\n                                  \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                  \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"properties\": {\n                                \"databases\": {\n                                  \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                  \"properties\": {\n                                    \"count\": {\n                                      \"description\": \"The number of tagged objects for this type of resource.\",\n                                      \"example\": 5,\n                                      \"minimum\": 0,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"last_tagged_uri\": {\n                                      \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                      \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"droplets\": {\n                                  \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                  \"properties\": {\n                                    \"count\": {\n                                      \"description\": \"The number of tagged objects for this type of resource.\",\n                                      \"example\": 5,\n                                      \"minimum\": 0,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"last_tagged_uri\": {\n                                      \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                      \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"imgages\": {\n                                  \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                  \"properties\": {\n                                    \"count\": {\n                                      \"description\": \"The number of tagged objects for this type of resource.\",\n                                      \"example\": 5,\n                                      \"minimum\": 0,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"last_tagged_uri\": {\n                                      \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                      \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"volume_snapshots\": {\n                                  \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                  \"properties\": {\n                                    \"count\": {\n                                      \"description\": \"The number of tagged objects for this type of resource.\",\n                                      \"example\": 5,\n                                      \"minimum\": 0,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"last_tagged_uri\": {\n                                      \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                      \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                },\n                                \"volumes\": {\n                                  \"description\": \"Tagged Resource Statistics include metadata regarding the resource type that has been tagged.\",\n                                  \"properties\": {\n                                    \"count\": {\n                                      \"description\": \"The number of tagged objects for this type of resource.\",\n                                      \"example\": 5,\n                                      \"minimum\": 0,\n                                      \"type\": \"integer\"\n                                    },\n                                    \"last_tagged_uri\": {\n                                      \"description\": \"The URI for the last tagged object for this type of resource.\",\n                                      \"example\": \"https://api.digitalocean.com/v2/images/7555620\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"type\": \"object\"\n                                }\n                              }\n                            }\n                          ],\n                          \"description\": \"An embedded object containing key value pairs of resource type and resource statistics. It also includes a count of the total number of resources tagged with the current tag as well as a `last_tagged_uri` attribute set to the last resource tagged with the current tag.\",\n                          \"example\": {\n                            \"count\": 5,\n                            \"databases\": {\n                              \"count\": 1,\n                              \"last_tagged_uri\": \"https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976\"\n                            },\n                            \"droplets\": {\n                              \"count\": 1,\n                              \"last_tagged_uri\": \"https://api.digitalocean.com/v2/droplets/3164444\"\n                            },\n                            \"images\": {\n                              \"count\": 1,\n                              \"last_tagged_uri\": \"https://api.digitalocean.com/v2/images/7555620\"\n                            },\n                            \"last_tagged_uri\": \"https://api.digitalocean.com/v2/images/7555620\",\n                            \"volume_snapshots\": {\n                              \"count\": 1,\n                              \"last_tagged_uri\": \"https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519\"\n                            },\n                            \"volumes\": {\n                              \"count\": 1,\n                              \"last_tagged_uri\": \"https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933\"\n                            }\n                          },\n                          \"readOnly\": true,\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `tag`.  The value of this will be a tag object containing the standard tag attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve a Tag\",\n        \"tags\": [\n          \"Tags\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/tags/awesome\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    tag, _, err := client.Tags.Get(ctx, \\\"awesome\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.tags.find(name: 'awesome')\"\n          }\n        ]\n      }\n    },\n    \"/v2/tags/{tag_id}/resources\": {\n      \"delete\": {\n        \"description\": \"Resources can be untagged by sending a DELETE request to `/v2/tags/$TAG_NAME/resources` with an array of json objects containing `resource_id` and `resource_type` attributes.\\nCurrently only untagging of Droplets, Databases, Images, Volumes, and Volume Snapshots is supported. `resource_type` is expected to be the string `droplet`, `database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected to be the ID of the resource as a string.\",\n        \"operationId\": \"tags_unassign_resources\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.\",\n            \"example\": \"awesome\",\n            \"in\": \"path\",\n            \"name\": \"tag_id\",\n            \"required\": true,\n            \"schema\": {\n              \"maxLength\": 255,\n              \"pattern\": \"^[a-zA-Z0-9_\\\\-\\\\:]+$\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"resources\": {\n                    \"description\": \"An array of objects containing resource_id and resource_type  attributes.\",\n                    \"example\": [\n                      {\n                        \"resource_id\": \"9569411\",\n                        \"resource_type\": \"droplet\"\n                      },\n                      {\n                        \"resource_id\": \"7555620\",\n                        \"resource_type\": \"image\"\n                      },\n                      {\n                        \"resource_id\": \"3d80cb72-342b-4aaa-b92e-4e4abb24a933\",\n                        \"resource_type\": \"volume\"\n                      }\n                    ],\n                    \"items\": {\n                      \"properties\": {\n                        \"resource_id\": {\n                          \"description\": \"The identifier of a resource.\",\n                          \"example\": \"3d80cb72-342b-4aaa-b92e-4e4abb24a933\",\n                          \"type\": \"string\"\n                        },\n                        \"resource_type\": {\n                          \"description\": \"The type of the resource.\",\n                          \"enum\": [\n                            \"droplet\",\n                            \"image\",\n                            \"volume\",\n                            \"volume_snapshot\"\n                          ],\n                          \"example\": \"volume\",\n                          \"type\": \"string\"\n                        }\n                      }\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"required\": [\n                  \"resources\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Untag a Resource\",\n        \"tags\": [\n          \"Tags\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"resources\\\":[{\\\"resource_id\\\":\\\"9569411\\\",\\\"resource_type\\\":\\\"droplet\\\"},{\\\"resource_id\\\":\\\"7555620\\\",\\\"resource_type\\\":\\\"image\\\"},{\\\"resource_id\\\":\\\"3d80cb72-342b-4aaa-b92e-4e4abb24a933\\\",\\\"resource_type\\\":\\\"volume\\\"}]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/tags/awesome/resources\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    untagResourcesRequest := &godo.UntagResourcesRequest{\\n        Resources: []Resource{{ID: \\\"11457573\\\", Type: \\\"droplet\\\"},{ID: \\\"7555620\\\", Type: \\\"image\\\"},{ID: \\\"3d80cb72-342b-4aaa-b92e-4e4abb24a933\\\", Type: \\\"volume\\\"}},\\n    }\\n    client.Tags.UntagResources(ctx, \\\"awesome\\\", untagResourcesRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.tags.untag_resources(name: 'awesome', resources: [{ resource_id: '9569411', resource_type: 'droplet' },{ resource_id: '7555620', resource_type: 'image' },{ resource_id: '3d80cb72-342b-4aaa-b92e-4e4abb24a933', resource_type: 'volume' }])\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"Resources can be tagged by sending a POST request to `/v2/tags/$TAG_NAME/resources` with an array of json objects containing `resource_id` and `resource_type` attributes.\\nCurrently only tagging of Droplets, Databases, Images, Volumes, and Volume Snapshots is supported. `resource_type` is expected to be the string `droplet`, `database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected to be the ID of the resource as a string.\",\n        \"operationId\": \"tags_assign_resources\",\n        \"parameters\": [\n          {\n            \"description\": \"The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.\",\n            \"example\": \"awesome\",\n            \"in\": \"path\",\n            \"name\": \"tag_id\",\n            \"required\": true,\n            \"schema\": {\n              \"maxLength\": 255,\n              \"pattern\": \"^[a-zA-Z0-9_\\\\-\\\\:]+$\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"resources\": {\n                    \"description\": \"An array of objects containing resource_id and resource_type  attributes.\",\n                    \"example\": [\n                      {\n                        \"resource_id\": \"9569411\",\n                        \"resource_type\": \"droplet\"\n                      },\n                      {\n                        \"resource_id\": \"7555620\",\n                        \"resource_type\": \"image\"\n                      },\n                      {\n                        \"resource_id\": \"3d80cb72-342b-4aaa-b92e-4e4abb24a933\",\n                        \"resource_type\": \"volume\"\n                      }\n                    ],\n                    \"items\": {\n                      \"properties\": {\n                        \"resource_id\": {\n                          \"description\": \"The identifier of a resource.\",\n                          \"example\": \"3d80cb72-342b-4aaa-b92e-4e4abb24a933\",\n                          \"type\": \"string\"\n                        },\n                        \"resource_type\": {\n                          \"description\": \"The type of the resource.\",\n                          \"enum\": [\n                            \"droplet\",\n                            \"image\",\n                            \"volume\",\n                            \"volume_snapshot\"\n                          ],\n                          \"example\": \"volume\",\n                          \"type\": \"string\"\n                        }\n                      }\n                    },\n                    \"type\": \"array\"\n                  }\n                },\n                \"required\": [\n                  \"resources\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Tag a Resource\",\n        \"tags\": [\n          \"Tags\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"resources\\\":[{\\\"resource_id\\\":\\\"9569411\\\",\\\"resource_type\\\":\\\"droplet\\\"},{\\\"resource_id\\\":\\\"7555620\\\",\\\"resource_type\\\":\\\"image\\\"},{\\\"resource_id\\\":\\\"3d80cb72-342b-4aaa-b92e-4e4abb24a933\\\",\\\"resource_type\\\":\\\"volume\\\"}]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/tags/awesome/resources\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n    tags, _, err := client.Tags.List(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.tags.tag_resources(name: 'awesome', resources: [{ resource_id: '9569411', resource_type: 'droplet' },{ resource_id: '7555620', resource_type: 'image' },{ resource_id: '3d80cb72-342b-4aaa-b92e-4e4abb24a933', resource_type: 'volume'}])\"\n          }\n        ]\n      }\n    },\n    \"/v2/uptime/checks\": {\n      \"get\": {\n        \"description\": \"To list all of the Uptime checks on your account, send a GET request to `/v2/uptime/checks`.\",\n        \"operationId\": \"uptime_checks_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"checks\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference the check.\",\n                                    \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                                    \"format\": \"uuid\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"enabled\": {\n                                    \"default\": true,\n                                    \"description\": \"A boolean value indicating whether the check is enabled/disabled.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-friendly display name.\",\n                                    \"example\": \"Landing page check\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"regions\": {\n                                    \"description\": \"An array containing the selected regions to perform healthchecks from.\",\n                                    \"example\": [\n                                      \"us_east\",\n                                      \"eu_west\"\n                                    ],\n                                    \"items\": {\n                                      \"enum\": [\n                                        \"us_east\",\n                                        \"us_west\",\n                                        \"eu_west\",\n                                        \"se_asia\"\n                                      ],\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"target\": {\n                                    \"description\": \"The endpoint to perform healthchecks on.\",\n                                    \"example\": \"https://www.landingpage.com\",\n                                    \"format\": \"url\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"description\": \"The type of health check to perform.\",\n                                    \"enum\": [\n                                      \"ping\",\n                                      \"http\",\n                                      \"https\"\n                                    ],\n                                    \"example\": \"https\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `checks`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime check\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Checks\",\n        \"tags\": [\n          \"Uptime\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/uptime/checks\\\"\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create an Uptime check, send a POST request to `/v2/uptime/checks` specifying the attributes\\nin the table below in the JSON body.\\n\",\n        \"operationId\": \"uptime_check_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"enabled\": {\n                        \"default\": true,\n                        \"description\": \"A boolean value indicating whether the check is enabled/disabled.\",\n                        \"example\": true,\n                        \"type\": \"boolean\"\n                      },\n                      \"name\": {\n                        \"description\": \"A human-friendly display name.\",\n                        \"example\": \"Landing page check\",\n                        \"type\": \"string\"\n                      },\n                      \"regions\": {\n                        \"description\": \"An array containing the selected regions to perform healthchecks from.\",\n                        \"example\": [\n                          \"us_east\",\n                          \"eu_west\"\n                        ],\n                        \"items\": {\n                          \"enum\": [\n                            \"us_east\",\n                            \"us_west\",\n                            \"eu_west\",\n                            \"se_asia\"\n                          ],\n                          \"type\": \"string\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"target\": {\n                        \"description\": \"The endpoint to perform healthchecks on.\",\n                        \"example\": \"https://www.landingpage.com\",\n                        \"format\": \"url\",\n                        \"type\": \"string\"\n                      },\n                      \"type\": {\n                        \"description\": \"The type of health check to perform.\",\n                        \"enum\": [\n                          \"ping\",\n                          \"http\",\n                          \"https\"\n                        ],\n                        \"example\": \"https\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  }\n                ],\n                \"required\": [\n                  \"name\",\n                  \"method\",\n                  \"target\",\n                  \"regions\",\n                  \"type\",\n                  \"enabled\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"check\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference the check.\",\n                              \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"enabled\": {\n                              \"default\": true,\n                              \"description\": \"A boolean value indicating whether the check is enabled/disabled.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-friendly display name.\",\n                              \"example\": \"Landing page check\",\n                              \"type\": \"string\"\n                            },\n                            \"regions\": {\n                              \"description\": \"An array containing the selected regions to perform healthchecks from.\",\n                              \"example\": [\n                                \"us_east\",\n                                \"eu_west\"\n                              ],\n                              \"items\": {\n                                \"enum\": [\n                                  \"us_east\",\n                                  \"us_west\",\n                                  \"eu_west\",\n                                  \"se_asia\"\n                                ],\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"target\": {\n                              \"description\": \"The endpoint to perform healthchecks on.\",\n                              \"example\": \"https://www.landingpage.com\",\n                              \"format\": \"url\",\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"description\": \"The type of health check to perform.\",\n                              \"enum\": [\n                                \"ping\",\n                                \"http\",\n                                \"https\"\n                              ],\n                              \"example\": \"https\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `check`. The value of this will be an object that contains the standard attributes associated with an uptime check.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Check\",\n        \"tags\": [\n          \"Uptime\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"Landing page check\\\",\\\"type\\\":\\\"https\\\",\\\"target\\\":\\\"https://www.landingpage.com\\\",\\\"regions\\\":[\\\"us_east\\\",\\\"eu_west\\\"],\\\"enabled\\\":true}' \\\\\\n  \\\"https://api.digitalocean.com/v2/uptime/checks\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/uptime/checks/{check_id}\": {\n      \"delete\": {\n        \"description\": \"To delete an Uptime check, send a DELETE request to `/v2/uptime/checks/$CHECK_ID`. A 204 status\\ncode with no body will be returned in response to a successful request.\\n\\n\\nDeleting a check will also delete alerts associated with the check.\\n\",\n        \"operationId\": \"uptime_check_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a check.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"check_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Check\",\n        \"tags\": [\n          \"Uptime\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/uptime/checks/{check_id}\\\"\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an existing check, send a GET request to `/v2/uptime/checks/$CHECK_ID`.\",\n        \"operationId\": \"uptime_check_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a check.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"check_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"check\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference the check.\",\n                              \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"enabled\": {\n                              \"default\": true,\n                              \"description\": \"A boolean value indicating whether the check is enabled/disabled.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-friendly display name.\",\n                              \"example\": \"Landing page check\",\n                              \"type\": \"string\"\n                            },\n                            \"regions\": {\n                              \"description\": \"An array containing the selected regions to perform healthchecks from.\",\n                              \"example\": [\n                                \"us_east\",\n                                \"eu_west\"\n                              ],\n                              \"items\": {\n                                \"enum\": [\n                                  \"us_east\",\n                                  \"us_west\",\n                                  \"eu_west\",\n                                  \"se_asia\"\n                                ],\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"target\": {\n                              \"description\": \"The endpoint to perform healthchecks on.\",\n                              \"example\": \"https://www.landingpage.com\",\n                              \"format\": \"url\",\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"description\": \"The type of health check to perform.\",\n                              \"enum\": [\n                                \"ping\",\n                                \"http\",\n                                \"https\"\n                              ],\n                              \"example\": \"https\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `check`. The value of this will be an object that contains the standard attributes associated with an uptime check.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Check\",\n        \"tags\": [\n          \"Uptime\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/uptime/checks/{check_id}\\\"\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update the settings of an Uptime check, send a PUT request to `/v2/uptime/checks/$CHECK_ID`.\\n\",\n        \"operationId\": \"uptime_check_update\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a check.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"check_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"enabled\": {\n                        \"default\": true,\n                        \"description\": \"A boolean value indicating whether the check is enabled/disabled.\",\n                        \"example\": true,\n                        \"type\": \"boolean\"\n                      },\n                      \"name\": {\n                        \"description\": \"A human-friendly display name.\",\n                        \"example\": \"Landing page check\",\n                        \"type\": \"string\"\n                      },\n                      \"regions\": {\n                        \"description\": \"An array containing the selected regions to perform healthchecks from.\",\n                        \"example\": [\n                          \"us_east\",\n                          \"eu_west\"\n                        ],\n                        \"items\": {\n                          \"enum\": [\n                            \"us_east\",\n                            \"us_west\",\n                            \"eu_west\",\n                            \"se_asia\"\n                          ],\n                          \"type\": \"string\"\n                        },\n                        \"type\": \"array\"\n                      },\n                      \"target\": {\n                        \"description\": \"The endpoint to perform healthchecks on.\",\n                        \"example\": \"https://www.landingpage.com\",\n                        \"format\": \"url\",\n                        \"type\": \"string\"\n                      },\n                      \"type\": {\n                        \"description\": \"The type of health check to perform.\",\n                        \"enum\": [\n                          \"ping\",\n                          \"http\",\n                          \"https\"\n                        ],\n                        \"example\": \"https\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  }\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"check\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference the check.\",\n                              \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"enabled\": {\n                              \"default\": true,\n                              \"description\": \"A boolean value indicating whether the check is enabled/disabled.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-friendly display name.\",\n                              \"example\": \"Landing page check\",\n                              \"type\": \"string\"\n                            },\n                            \"regions\": {\n                              \"description\": \"An array containing the selected regions to perform healthchecks from.\",\n                              \"example\": [\n                                \"us_east\",\n                                \"eu_west\"\n                              ],\n                              \"items\": {\n                                \"enum\": [\n                                  \"us_east\",\n                                  \"us_west\",\n                                  \"eu_west\",\n                                  \"se_asia\"\n                                ],\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"target\": {\n                              \"description\": \"The endpoint to perform healthchecks on.\",\n                              \"example\": \"https://www.landingpage.com\",\n                              \"format\": \"url\",\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"description\": \"The type of health check to perform.\",\n                              \"enum\": [\n                                \"ping\",\n                                \"http\",\n                                \"https\"\n                              ],\n                              \"example\": \"https\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `check`. The value of this will be an object that contains the standard attributes associated with an uptime check.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update a Check\",\n        \"tags\": [\n          \"Uptime\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"Landing page check\\\",\\\"type\\\":\\\"https\\\",\\\"target\\\":\\\"https://www.newlandingpage.com\\\",\\\"regions\\\":[\\\"us_east\\\",\\\"eu_west\\\"],\\\"enabled\\\":true}' \\\\\\n  \\\"https://api.digitalocean.com/v2/uptime/checks/{check_id}\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/uptime/checks/{check_id}/alerts\": {\n      \"get\": {\n        \"description\": \"To list all of the alerts for an Uptime check, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts`.\",\n        \"operationId\": \"uptime_check_alerts_list\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a check.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"check_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"alerts\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference the alert.\",\n                                    \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                                    \"format\": \"uuid\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"comparison\": {\n                                    \"description\": \"The comparison operator used against the alert's threshold.\",\n                                    \"enum\": [\n                                      \"greater_than\",\n                                      \"less_than\"\n                                    ],\n                                    \"example\": \"greater_than\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-friendly display name.\",\n                                    \"example\": \"Landing page degraded performance\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"notifications\": {\n                                    \"description\": \"The notification settings for a trigger alert.\",\n                                    \"properties\": {\n                                      \"email\": {\n                                        \"description\": \"An email to notify on an alert trigger.\",\n                                        \"example\": [\n                                          \"bob@example.com\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        },\n                                        \"type\": \"array\"\n                                      },\n                                      \"slack\": {\n                                        \"description\": \"Slack integration details.\",\n                                        \"items\": {\n                                          \"properties\": {\n                                            \"channel\": {\n                                              \"description\": \"Slack channel to notify of an alert trigger.\",\n                                              \"example\": \"Production Alerts\",\n                                              \"format\": \"string\",\n                                              \"type\": \"string\"\n                                            },\n                                            \"url\": {\n                                              \"description\": \"Slack Webhook URL.\",\n                                              \"example\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\",\n                                              \"format\": \"string\",\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"required\": [\n                                            \"url\",\n                                            \"channel\"\n                                          ],\n                                          \"type\": \"object\"\n                                        },\n                                        \"type\": \"array\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"slack\",\n                                      \"email\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"period\": {\n                                    \"description\": \"Period of time the threshold must be exceeded to trigger the alert.\",\n                                    \"enum\": [\n                                      \"2m\",\n                                      \"3m\",\n                                      \"5m\",\n                                      \"10m\",\n                                      \"15m\",\n                                      \"30m\",\n                                      \"1h\"\n                                    ],\n                                    \"example\": \"2m\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"threshold\": {\n                                    \"description\": \"The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.\",\n                                    \"example\": 300,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": {\n                                    \"description\": \"The type of alert.\",\n                                    \"enum\": [\n                                      \"latency\",\n                                      \"down\",\n                                      \"down_global\",\n                                      \"ssl_expiry\"\n                                    ],\n                                    \"example\": \"latency\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `alerts`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime alert.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Alerts\",\n        \"tags\": [\n          \"Uptime\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts\\\"\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create an Uptime alert, send a POST request to `/v2/uptime/checks/$CHECK_ID/alerts` specifying the attributes\\nin the table below in the JSON body.\\n\",\n        \"operationId\": \"uptime_alert_create\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a check.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"check_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"id\": {\n                            \"description\": \"A unique ID that can be used to identify and reference the alert.\",\n                            \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"comparison\": {\n                            \"description\": \"The comparison operator used against the alert's threshold.\",\n                            \"enum\": [\n                              \"greater_than\",\n                              \"less_than\"\n                            ],\n                            \"example\": \"greater_than\",\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"A human-friendly display name.\",\n                            \"example\": \"Landing page degraded performance\",\n                            \"type\": \"string\"\n                          },\n                          \"notifications\": {\n                            \"description\": \"The notification settings for a trigger alert.\",\n                            \"properties\": {\n                              \"email\": {\n                                \"description\": \"An email to notify on an alert trigger.\",\n                                \"example\": [\n                                  \"bob@example.com\"\n                                ],\n                                \"items\": {\n                                  \"type\": \"string\"\n                                },\n                                \"type\": \"array\"\n                              },\n                              \"slack\": {\n                                \"description\": \"Slack integration details.\",\n                                \"items\": {\n                                  \"properties\": {\n                                    \"channel\": {\n                                      \"description\": \"Slack channel to notify of an alert trigger.\",\n                                      \"example\": \"Production Alerts\",\n                                      \"format\": \"string\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"url\": {\n                                      \"description\": \"Slack Webhook URL.\",\n                                      \"example\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\",\n                                      \"format\": \"string\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"url\",\n                                    \"channel\"\n                                  ],\n                                  \"type\": \"object\"\n                                },\n                                \"type\": \"array\"\n                              }\n                            },\n                            \"required\": [\n                              \"slack\",\n                              \"email\"\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"period\": {\n                            \"description\": \"Period of time the threshold must be exceeded to trigger the alert.\",\n                            \"enum\": [\n                              \"2m\",\n                              \"3m\",\n                              \"5m\",\n                              \"10m\",\n                              \"15m\",\n                              \"30m\",\n                              \"1h\"\n                            ],\n                            \"example\": \"2m\",\n                            \"type\": \"string\"\n                          },\n                          \"threshold\": {\n                            \"description\": \"The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.\",\n                            \"example\": 300,\n                            \"type\": \"integer\"\n                          },\n                          \"type\": {\n                            \"description\": \"The type of alert.\",\n                            \"enum\": [\n                              \"latency\",\n                              \"down\",\n                              \"down_global\",\n                              \"ssl_expiry\"\n                            ],\n                            \"example\": \"latency\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      }\n                    ],\n                    \"type\": \"object\"\n                  }\n                ],\n                \"required\": [\n                  \"name\",\n                  \"type\",\n                  \"notifications\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"description\": \"The ''type'' field dictates the type of alert, and hence what type of value to pass into the threshold property.\\nType | Description | Threshold Value\\n-----|-------------|--------------------\\n`latency` | alerts on the response latency | milliseconds\\n`down` | alerts on a target registering as down in any region | N/A (Not required)\\n`down_global` | alerts on a target registering as down globally | N/A (Not required)\\n`ssl_expiry` | alerts on a SSL certificate expiring within $threshold days | days\\n\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"alert\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference the alert.\",\n                              \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"comparison\": {\n                              \"description\": \"The comparison operator used against the alert's threshold.\",\n                              \"enum\": [\n                                \"greater_than\",\n                                \"less_than\"\n                              ],\n                              \"example\": \"greater_than\",\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-friendly display name.\",\n                              \"example\": \"Landing page degraded performance\",\n                              \"type\": \"string\"\n                            },\n                            \"notifications\": {\n                              \"description\": \"The notification settings for a trigger alert.\",\n                              \"properties\": {\n                                \"email\": {\n                                  \"description\": \"An email to notify on an alert trigger.\",\n                                  \"example\": [\n                                    \"bob@example.com\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"slack\": {\n                                  \"description\": \"Slack integration details.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"channel\": {\n                                        \"description\": \"Slack channel to notify of an alert trigger.\",\n                                        \"example\": \"Production Alerts\",\n                                        \"format\": \"string\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"url\": {\n                                        \"description\": \"Slack Webhook URL.\",\n                                        \"example\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\",\n                                        \"format\": \"string\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"url\",\n                                      \"channel\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"required\": [\n                                \"slack\",\n                                \"email\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"period\": {\n                              \"description\": \"Period of time the threshold must be exceeded to trigger the alert.\",\n                              \"enum\": [\n                                \"2m\",\n                                \"3m\",\n                                \"5m\",\n                                \"10m\",\n                                \"15m\",\n                                \"30m\",\n                                \"1h\"\n                              ],\n                              \"example\": \"2m\",\n                              \"type\": \"string\"\n                            },\n                            \"threshold\": {\n                              \"description\": \"The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.\",\n                              \"example\": 300,\n                              \"type\": \"integer\"\n                            },\n                            \"type\": {\n                              \"description\": \"The type of alert.\",\n                              \"enum\": [\n                                \"latency\",\n                                \"down\",\n                                \"down_global\",\n                                \"ssl_expiry\"\n                              ],\n                              \"example\": \"latency\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `alert`. The value of this will be an object that contains the standard attributes associated with an uptime alert.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Alert\",\n        \"tags\": [\n          \"Uptime\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"Landing page degraded performance\\\",\\\"type\\\":\\\"latency\\\",\\\"threshold\\\":300,\\\"comparison\\\":\\\"greater_than\\\",\\\"notifications\\\":{\\\"email\\\":[\\\"bob@example.com\\\"],\\\"slack\\\":[{\\\"channel\\\":\\\"Production Alerts\\\",\\\"url\\\":\\\"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\\\"}]},\\\"period\\\":\\\"2m\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/uptime/checks/{check_id}/alerts/{alert_id}\": {\n      \"delete\": {\n        \"description\": \"To delete an Uptime alert, send a DELETE request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. A 204 status\\ncode with no body will be returned in response to a successful request.\\n\",\n        \"operationId\": \"uptime_alert_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a check.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"check_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique identifier for an alert.\",\n            \"example\": \"17f0f0ae-b7e5-4ef6-86e3-aa569db58284\",\n            \"in\": \"path\",\n            \"name\": \"alert_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete an Alert\",\n        \"tags\": [\n          \"Uptime\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts/{alert_id}\\\"\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an existing alert, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`.\",\n        \"operationId\": \"uptime_alert_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a check.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"check_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique identifier for an alert.\",\n            \"example\": \"17f0f0ae-b7e5-4ef6-86e3-aa569db58284\",\n            \"in\": \"path\",\n            \"name\": \"alert_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"alert\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference the alert.\",\n                              \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"comparison\": {\n                              \"description\": \"The comparison operator used against the alert's threshold.\",\n                              \"enum\": [\n                                \"greater_than\",\n                                \"less_than\"\n                              ],\n                              \"example\": \"greater_than\",\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-friendly display name.\",\n                              \"example\": \"Landing page degraded performance\",\n                              \"type\": \"string\"\n                            },\n                            \"notifications\": {\n                              \"description\": \"The notification settings for a trigger alert.\",\n                              \"properties\": {\n                                \"email\": {\n                                  \"description\": \"An email to notify on an alert trigger.\",\n                                  \"example\": [\n                                    \"bob@example.com\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"slack\": {\n                                  \"description\": \"Slack integration details.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"channel\": {\n                                        \"description\": \"Slack channel to notify of an alert trigger.\",\n                                        \"example\": \"Production Alerts\",\n                                        \"format\": \"string\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"url\": {\n                                        \"description\": \"Slack Webhook URL.\",\n                                        \"example\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\",\n                                        \"format\": \"string\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"url\",\n                                      \"channel\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"required\": [\n                                \"slack\",\n                                \"email\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"period\": {\n                              \"description\": \"Period of time the threshold must be exceeded to trigger the alert.\",\n                              \"enum\": [\n                                \"2m\",\n                                \"3m\",\n                                \"5m\",\n                                \"10m\",\n                                \"15m\",\n                                \"30m\",\n                                \"1h\"\n                              ],\n                              \"example\": \"2m\",\n                              \"type\": \"string\"\n                            },\n                            \"threshold\": {\n                              \"description\": \"The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.\",\n                              \"example\": 300,\n                              \"type\": \"integer\"\n                            },\n                            \"type\": {\n                              \"description\": \"The type of alert.\",\n                              \"enum\": [\n                                \"latency\",\n                                \"down\",\n                                \"down_global\",\n                                \"ssl_expiry\"\n                              ],\n                              \"example\": \"latency\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `alert`. The value of this will be an object that contains the standard attributes associated with an uptime alert.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Alert\",\n        \"tags\": [\n          \"Uptime\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts/{alert_id}\\\"\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update the settings of an Uptime alert, send a PUT request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`.\\n\",\n        \"operationId\": \"uptime_alert_update\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a check.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"check_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique identifier for an alert.\",\n            \"example\": \"17f0f0ae-b7e5-4ef6-86e3-aa569db58284\",\n            \"in\": \"path\",\n            \"name\": \"alert_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"comparison\": {\n                        \"description\": \"The comparison operator used against the alert's threshold.\",\n                        \"enum\": [\n                          \"greater_than\",\n                          \"less_than\"\n                        ],\n                        \"example\": \"greater_than\",\n                        \"type\": \"string\"\n                      },\n                      \"name\": {\n                        \"description\": \"A human-friendly display name.\",\n                        \"example\": \"Landing page degraded performance\",\n                        \"type\": \"string\"\n                      },\n                      \"notifications\": {\n                        \"description\": \"The notification settings for a trigger alert.\",\n                        \"properties\": {\n                          \"email\": {\n                            \"description\": \"An email to notify on an alert trigger.\",\n                            \"example\": [\n                              \"bob@example.com\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"type\": \"array\"\n                          },\n                          \"slack\": {\n                            \"description\": \"Slack integration details.\",\n                            \"items\": {\n                              \"properties\": {\n                                \"channel\": {\n                                  \"description\": \"Slack channel to notify of an alert trigger.\",\n                                  \"example\": \"Production Alerts\",\n                                  \"format\": \"string\",\n                                  \"type\": \"string\"\n                                },\n                                \"url\": {\n                                  \"description\": \"Slack Webhook URL.\",\n                                  \"example\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\",\n                                  \"format\": \"string\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"url\",\n                                \"channel\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"required\": [\n                          \"slack\",\n                          \"email\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      \"period\": {\n                        \"description\": \"Period of time the threshold must be exceeded to trigger the alert.\",\n                        \"enum\": [\n                          \"2m\",\n                          \"3m\",\n                          \"5m\",\n                          \"10m\",\n                          \"15m\",\n                          \"30m\",\n                          \"1h\"\n                        ],\n                        \"example\": \"2m\",\n                        \"type\": \"string\"\n                      },\n                      \"threshold\": {\n                        \"description\": \"The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.\",\n                        \"example\": 300,\n                        \"type\": \"integer\"\n                      },\n                      \"type\": {\n                        \"description\": \"The type of alert.\",\n                        \"enum\": [\n                          \"latency\",\n                          \"down\",\n                          \"down_global\",\n                          \"ssl_expiry\"\n                        ],\n                        \"example\": \"latency\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  }\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"alert\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference the alert.\",\n                              \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"comparison\": {\n                              \"description\": \"The comparison operator used against the alert's threshold.\",\n                              \"enum\": [\n                                \"greater_than\",\n                                \"less_than\"\n                              ],\n                              \"example\": \"greater_than\",\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-friendly display name.\",\n                              \"example\": \"Landing page degraded performance\",\n                              \"type\": \"string\"\n                            },\n                            \"notifications\": {\n                              \"description\": \"The notification settings for a trigger alert.\",\n                              \"properties\": {\n                                \"email\": {\n                                  \"description\": \"An email to notify on an alert trigger.\",\n                                  \"example\": [\n                                    \"bob@example.com\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": \"array\"\n                                },\n                                \"slack\": {\n                                  \"description\": \"Slack integration details.\",\n                                  \"items\": {\n                                    \"properties\": {\n                                      \"channel\": {\n                                        \"description\": \"Slack channel to notify of an alert trigger.\",\n                                        \"example\": \"Production Alerts\",\n                                        \"format\": \"string\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"url\": {\n                                        \"description\": \"Slack Webhook URL.\",\n                                        \"example\": \"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\",\n                                        \"format\": \"string\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"url\",\n                                      \"channel\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"type\": \"array\"\n                                }\n                              },\n                              \"required\": [\n                                \"slack\",\n                                \"email\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"period\": {\n                              \"description\": \"Period of time the threshold must be exceeded to trigger the alert.\",\n                              \"enum\": [\n                                \"2m\",\n                                \"3m\",\n                                \"5m\",\n                                \"10m\",\n                                \"15m\",\n                                \"30m\",\n                                \"1h\"\n                              ],\n                              \"example\": \"2m\",\n                              \"type\": \"string\"\n                            },\n                            \"threshold\": {\n                              \"description\": \"The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.\",\n                              \"example\": 300,\n                              \"type\": \"integer\"\n                            },\n                            \"type\": {\n                              \"description\": \"The type of alert.\",\n                              \"enum\": [\n                                \"latency\",\n                                \"down\",\n                                \"down_global\",\n                                \"ssl_expiry\"\n                              ],\n                              \"example\": \"latency\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `alert`. The value of this will be an object that contains the standard attributes associated with an uptime alert.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update an Alert\",\n        \"tags\": [\n          \"Uptime\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"Landing page down globally\\\",\\\"type\\\":\\\"down_global\\\",\\\"notifications\\\":{\\\"email\\\":[\\\"bob@example.com\\\"],\\\"slack\\\":[{\\\"channel\\\":\\\"Production Alerts\\\",\\\"url\\\":\\\"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ\\\"}]},\\\"period\\\":\\\"2m\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts/{alert_id}\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/uptime/checks/{check_id}/state\": {\n      \"get\": {\n        \"description\": \"To show information about an existing check's state, send a GET request to `/v2/uptime/checks/$CHECK_ID/state`.\",\n        \"operationId\": \"uptime_check_state_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a check.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"check_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"state\": {\n                      \"properties\": {\n                        \"previous_outage\": {\n                          \"properties\": {\n                            \"duration_seconds\": {\n                              \"example\": 120,\n                              \"type\": \"integer\"\n                            },\n                            \"ended_at\": {\n                              \"example\": \"2022-03-17T18:06:55Z\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"example\": \"us_east\",\n                              \"type\": \"string\"\n                            },\n                            \"started_at\": {\n                              \"example\": \"2022-03-17T18:04:55Z\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        \"regions\": {\n                          \"description\": \"A map of region to regional state\",\n                          \"properties\": {\n                            \"eu_west\": {\n                              \"properties\": {\n                                \"status\": {\n                                  \"enum\": [\n                                    \"DOWN\",\n                                    \"UP\",\n                                    \"CHECKING\"\n                                  ],\n                                  \"example\": \"UP\",\n                                  \"type\": \"string\"\n                                },\n                                \"status_changed_at\": {\n                                  \"example\": \"2022-03-17T22:28:51Z\",\n                                  \"type\": \"string\"\n                                },\n                                \"thirty_day_uptime_percentage\": {\n                                  \"example\": 97.99,\n                                  \"type\": \"number\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            \"us_east\": {\n                              \"properties\": {\n                                \"status\": {\n                                  \"enum\": [\n                                    \"DOWN\",\n                                    \"UP\",\n                                    \"CHECKING\"\n                                  ],\n                                  \"example\": \"UP\",\n                                  \"type\": \"string\"\n                                },\n                                \"status_changed_at\": {\n                                  \"example\": \"2022-03-17T22:28:51Z\",\n                                  \"type\": \"string\"\n                                },\n                                \"thirty_day_uptime_percentage\": {\n                                  \"example\": 97.99,\n                                  \"type\": \"number\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `state`. The value of this will be an object that contains the standard attributes associated with an uptime check's state.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve Check State\",\n        \"tags\": [\n          \"Uptime\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/uptime/checks/{check_id}/state\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/volumes\": {\n      \"delete\": {\n        \"description\": \"Block storage volumes may also be deleted by name by sending a DELETE request with the volume's **name** and the **region slug** for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME&region=nyc1`.\\nNo response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data.\\n\\n\",\n        \"operationId\": \"volumes_delete_byName\",\n        \"parameters\": [\n          {\n            \"description\": \"The block storage volume's name.\",\n            \"example\": \"example\",\n            \"in\": \"query\",\n            \"name\": \"name\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The slug identifier for the region where the resource is available.\",\n            \"example\": \"nyc3\",\n            \"in\": \"query\",\n            \"name\": \"region\",\n            \"schema\": {\n              \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n              \"enum\": [\n                \"ams1\",\n                \"ams2\",\n                \"ams3\",\n                \"blr1\",\n                \"fra1\",\n                \"lon1\",\n                \"nyc1\",\n                \"nyc2\",\n                \"nyc3\",\n                \"sfo1\",\n                \"sfo2\",\n                \"sfo3\",\n                \"sgp1\",\n                \"tor1\"\n              ],\n              \"example\": \"nyc3\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Block Storage Volume by Name\",\n        \"tags\": [\n          \"Block Storage\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes?name=example&region=nyc1\\\" \"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To list all of the block storage volumes available on your account, send a GET request to `/v2/volumes`.\\n## Filtering Results\\n### By Region\\nThe `region` may be provided as query parameter in order to restrict results to volumes available in a specific region. For example: `/v2/volumes?region=nyc1`\\n### By Name\\nIt is also possible to list volumes on your account that match a specified name. To do so, send a GET request with the volume's name as a query parameter to `/v2/volumes?name=$VOLUME_NAME`.\\n**Note:** You can only create one volume per region with the same name.\\n### By Name and Region\\nIt is also possible to retrieve information about a block storage volume by name. To do so, send a GET request with the volume's name and the region slug for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME&region=nyc1`.\\n\\n\\n\",\n        \"operationId\": \"volumes_list\",\n        \"parameters\": [\n          {\n            \"description\": \"The block storage volume's name.\",\n            \"example\": \"example\",\n            \"in\": \"query\",\n            \"name\": \"name\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The slug identifier for the region where the resource is available.\",\n            \"example\": \"nyc3\",\n            \"in\": \"query\",\n            \"name\": \"region\",\n            \"schema\": {\n              \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n              \"enum\": [\n                \"ams1\",\n                \"ams2\",\n                \"ams3\",\n                \"blr1\",\n                \"fra1\",\n                \"lon1\",\n                \"nyc1\",\n                \"nyc2\",\n                \"nyc3\",\n                \"sfo1\",\n                \"sfo2\",\n                \"sfo3\",\n                \"sgp1\",\n                \"tor1\"\n              ],\n              \"example\": \"nyc3\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"All Volumes\": {\n                    \"value\": {\n                      \"links\": {},\n                      \"meta\": {\n                        \"total\": 2\n                      },\n                      \"volumes\": [\n                        {\n                          \"created_at\": \"2016-03-02T17:00:49Z\",\n                          \"description\": \"Block store for examples\",\n                          \"droplet_ids\": [],\n                          \"filesystem_label\": \"example\",\n                          \"filesystem_type\": \"ext4\",\n                          \"id\": \"506f78a4-e098-11e5-ad9f-000f53306ae1\",\n                          \"name\": \"example\",\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\"\n                            ],\n                            \"name\": \"New York 1\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192gb\"\n                            ],\n                            \"slug\": \"nyc1\"\n                          },\n                          \"size_gigabytes\": 10,\n                          \"tags\": [\n                            \"aninterestingtag\"\n                          ]\n                        },\n                        {\n                          \"created_at\": \"2016-03-02T17:01:49Z\",\n                          \"description\": \"Block store for examples\",\n                          \"droplet_ids\": [],\n                          \"filesystem_label\": \"example\",\n                          \"filesystem_type\": \"ext4\",\n                          \"id\": \"506f78a4-e098-11e5-ad9f-000f53305eb2\",\n                          \"name\": \"example\",\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\"\n                            ],\n                            \"name\": \"New York 3\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192gb\"\n                            ],\n                            \"slug\": \"nyc3\"\n                          },\n                          \"size_gigabytes\": 10,\n                          \"tags\": [\n                            \"aninterestingtag\"\n                          ]\n                        }\n                      ]\n                    }\n                  },\n                  \"Filtered by Name\": {\n                    \"value\": {\n                      \"links\": {},\n                      \"meta\": {\n                        \"total\": 1\n                      },\n                      \"volumes\": [\n                        {\n                          \"created_at\": \"2016-03-02T17:00:49Z\",\n                          \"description\": \"Block store for examples\",\n                          \"droplet_ids\": [],\n                          \"filesystem_label\": \"example\",\n                          \"filesystem_type\": \"ext4\",\n                          \"id\": \"506f78a4-e098-11e5-ad9f-000f53306ae1\",\n                          \"name\": \"example\",\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\"\n                            ],\n                            \"name\": \"New York 1\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192gb\"\n                            ],\n                            \"slug\": \"nyc1\"\n                          },\n                          \"size_gigabytes\": 10,\n                          \"tags\": [\n                            \"aninterestingtag\"\n                          ]\n                        }\n                      ]\n                    }\n                  },\n                  \"Filtered by Region\": {\n                    \"value\": {\n                      \"links\": {},\n                      \"meta\": {\n                        \"total\": 1\n                      },\n                      \"volumes\": [\n                        {\n                          \"created_at\": \"2016-03-02T17:00:49Z\",\n                          \"description\": \"Block store for examples\",\n                          \"droplet_ids\": [],\n                          \"filesystem_label\": \"example\",\n                          \"filesystem_type\": \"ext4\",\n                          \"id\": \"506f78a4-e098-11e5-ad9f-000f53306ae1\",\n                          \"name\": \"example\",\n                          \"region\": {\n                            \"available\": true,\n                            \"features\": [\n                              \"private_networking\",\n                              \"backups\",\n                              \"ipv6\",\n                              \"metadata\"\n                            ],\n                            \"name\": \"New York 1\",\n                            \"sizes\": [\n                              \"s-1vcpu-1gb\",\n                              \"s-1vcpu-2gb\",\n                              \"s-1vcpu-3gb\",\n                              \"s-2vcpu-2gb\",\n                              \"s-3vcpu-1gb\",\n                              \"s-2vcpu-4gb\",\n                              \"s-4vcpu-8gb\",\n                              \"s-6vcpu-16gb\",\n                              \"s-8vcpu-32gb\",\n                              \"s-12vcpu-48gb\",\n                              \"s-16vcpu-64gb\",\n                              \"s-20vcpu-96gb\",\n                              \"s-24vcpu-128gb\",\n                              \"s-32vcpu-192gb\"\n                            ],\n                            \"slug\": \"nyc1\"\n                          },\n                          \"size_gigabytes\": 10,\n                          \"tags\": [\n                            \"aninterestingtag\"\n                          ]\n                        }\n                      ]\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"volumes\": {\n                          \"description\": \"Array of volumes.\",\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the block storage volume was created.\",\n                                    \"example\": \"2020-03-02T17:00:49Z\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"description\": {\n                                    \"description\": \"An optional free-form text field to describe a block storage volume.\",\n                                    \"example\": \"Block store for examples\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"droplet_ids\": {\n                                    \"description\": \"An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet.\",\n                                    \"example\": [],\n                                    \"items\": {\n                                      \"type\": \"integer\"\n                                    },\n                                    \"nullable\": true,\n                                    \"readOnly\": true,\n                                    \"type\": \"array\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"The unique identifier for the block storage volume.\",\n                                    \"example\": \"506f78a4-e098-11e5-ad9f-000f53306ae1\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and \\\"-\\\", up to a limit of 64 characters. The name must begin with a letter.\",\n                                    \"example\": \"example\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"size_gigabytes\": {\n                                    \"description\": \"The size of the block storage volume in GiB (1024^3).\",\n                                    \"example\": 10,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"tags\": {\n                                    \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                                    \"example\": [\n                                      \"base-image\",\n                                      \"prod\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"nullable\": true,\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"filesystem_label\": {\n                                    \"description\": \"The label currently applied to the filesystem.\",\n                                    \"example\": \"example\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"filesystem_type\": {\n                                    \"description\": \"The type of filesystem currently in-use on the volume.\",\n                                    \"example\": \"ext4\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"region\": {\n                                    \"allOf\": [\n                                      {\n                                        \"description\": \"The region that the block storage volume is located in. When setting a region, the value should be the slug identifier for the region. When you query a block storage volume, the entire region object will be returned.\"\n                                      },\n                                      {\n                                        \"properties\": {\n                                          \"available\": {\n                                            \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                            \"example\": true,\n                                            \"type\": \"boolean\"\n                                          },\n                                          \"features\": {\n                                            \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                            \"example\": [\n                                              \"private_networking\",\n                                              \"backups\",\n                                              \"ipv6\",\n                                              \"metadata\",\n                                              \"install_agent\",\n                                              \"storage\",\n                                              \"image_transfer\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"name\": {\n                                            \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                            \"example\": \"New York 3\",\n                                            \"type\": \"string\"\n                                          },\n                                          \"sizes\": {\n                                            \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                            \"example\": [\n                                              \"s-1vcpu-1gb\",\n                                              \"s-1vcpu-2gb\",\n                                              \"s-1vcpu-3gb\",\n                                              \"s-2vcpu-2gb\",\n                                              \"s-3vcpu-1gb\",\n                                              \"s-2vcpu-4gb\",\n                                              \"s-4vcpu-8gb\",\n                                              \"s-6vcpu-16gb\",\n                                              \"s-8vcpu-32gb\",\n                                              \"s-12vcpu-48gb\",\n                                              \"s-16vcpu-64gb\",\n                                              \"s-20vcpu-96gb\",\n                                              \"s-24vcpu-128gb\",\n                                              \"s-32vcpu-192g\"\n                                            ],\n                                            \"items\": {\n                                              \"type\": \"string\"\n                                            }\n                                          },\n                                          \"slug\": {\n                                            \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                            \"example\": \"nyc3\",\n                                            \"type\": \"string\"\n                                          }\n                                        },\n                                        \"required\": [\n                                          \"available\",\n                                          \"features\",\n                                          \"name\",\n                                          \"sizes\",\n                                          \"slug\"\n                                        ],\n                                        \"type\": \"object\"\n                                      }\n                                    ],\n                                    \"example\": {\n                                      \"available\": true,\n                                      \"features\": [\n                                        \"private_networking\",\n                                        \"backups\",\n                                        \"ipv6\",\n                                        \"metadata\"\n                                      ],\n                                      \"name\": \"New York 1\",\n                                      \"sizes\": [\n                                        \"s-1vcpu-1gb\",\n                                        \"s-1vcpu-2gb\",\n                                        \"s-1vcpu-3gb\",\n                                        \"s-2vcpu-2gb\",\n                                        \"s-3vcpu-1gb\",\n                                        \"s-2vcpu-4gb\",\n                                        \"s-4vcpu-8gb\",\n                                        \"s-6vcpu-16gb\",\n                                        \"s-8vcpu-32gb\",\n                                        \"s-12vcpu-48gb\",\n                                        \"s-16vcpu-64gb\",\n                                        \"s-20vcpu-96gb\",\n                                        \"s-24vcpu-128gb\",\n                                        \"s-32vcpu-192gb\"\n                                      ],\n                                      \"slug\": \"nyc1\"\n                                    },\n                                    \"readOnly\": true\n                                  }\n                                }\n                              }\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"required\": [\n                        \"volumes\"\n                      ],\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ]\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `volumes`. This will be set to an array of volume objects, each of which will contain the standard volume attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Block Storage Volumes\",\n        \"tags\": [\n          \"Block Storage\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"# List all volumes\\ncurl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes?region=nyc1\\\"\\n\\n# List volumes filtered by name\\ncurl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes?name=example\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    volumes, _, err := client.Storage.ListVolumes(ctx, opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nvolumes = client.volumes.all\\nvolumes.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a new volume, send a POST request to `/v2/volumes`. Optionally, a `filesystem_type` attribute may be provided in order to automatically format the volume's filesystem. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to Droplets without support for auto-mounting is not recommended.\",\n        \"operationId\": \"volumes_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"examples\": {\n                \"Volume from a snapshot\": {\n                  \"value\": {\n                    \"description\": \"A new volume based on a snapshot\",\n                    \"filesystem_label\": \"ext4_volume_01\",\n                    \"filesystem_type\": \"ext4\",\n                    \"name\": \"snapshot_example\",\n                    \"region\": \"nyc1\",\n                    \"size_gigabytes\": 10,\n                    \"snapshot_id\": \"b0798135-fb76-11eb-946a-0a58ac146f33\"\n                  }\n                },\n                \"ext4 volume\": {\n                  \"value\": {\n                    \"description\": \"Block store for examples\",\n                    \"filesystem_label\": \"ext4_volume_01\",\n                    \"filesystem_type\": \"ext4\",\n                    \"name\": \"ext4-example\",\n                    \"region\": \"nyc1\",\n                    \"size_gigabytes\": 10\n                  }\n                },\n                \"xfs volume\": {\n                  \"value\": {\n                    \"description\": \"Block store for examples\",\n                    \"filesystem_label\": \"xfs_volume01\",\n                    \"filesystem_type\": \"xfs\",\n                    \"name\": \"xfs_example\",\n                    \"region\": \"nyc1\",\n                    \"size_gigabytes\": 10\n                  }\n                }\n              },\n              \"schema\": {\n                \"anyOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the block storage volume was created.\",\n                            \"example\": \"2020-03-02T17:00:49Z\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"description\": {\n                            \"description\": \"An optional free-form text field to describe a block storage volume.\",\n                            \"example\": \"Block store for examples\",\n                            \"type\": \"string\"\n                          },\n                          \"droplet_ids\": {\n                            \"description\": \"An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet.\",\n                            \"example\": [],\n                            \"items\": {\n                              \"type\": \"integer\"\n                            },\n                            \"nullable\": true,\n                            \"readOnly\": true,\n                            \"type\": \"array\"\n                          },\n                          \"id\": {\n                            \"description\": \"The unique identifier for the block storage volume.\",\n                            \"example\": \"506f78a4-e098-11e5-ad9f-000f53306ae1\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and \\\"-\\\", up to a limit of 64 characters. The name must begin with a letter.\",\n                            \"example\": \"example\",\n                            \"type\": \"string\"\n                          },\n                          \"size_gigabytes\": {\n                            \"description\": \"The size of the block storage volume in GiB (1024^3).\",\n                            \"example\": 10,\n                            \"type\": \"integer\"\n                          },\n                          \"tags\": {\n                            \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                            \"example\": [\n                              \"base-image\",\n                              \"prod\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"snapshot_id\": {\n                            \"description\": \"The unique identifier for the volume snapshot from which to create the volume.\",\n                            \"example\": \"b0798135-fb76-11eb-946a-0a58ac146f33\",\n                            \"type\": \"string\"\n                          }\n                        }\n                      },\n                      {\n                        \"properties\": {\n                          \"filesystem_type\": {\n                            \"description\": \"The name of the filesystem type to be used on the volume. When provided, the volume will automatically be formatted to the specified filesystem type. Currently, the available options are `ext4` and `xfs`. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to other Droplets is not recommended.\",\n                            \"example\": \"ext4\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"filesystem_label\": {\n                            \"allOf\": [\n                              {\n                                \"description\": \"The label applied to the filesystem. Labels for ext4 type filesystems may contain 16 characters while labels for xfs type filesystems are limited to 12 characters. May only be used in conjunction with filesystem_type.\",\n                                \"example\": \"example\",\n                                \"type\": \"string\"\n                              },\n                              {\n                                \"maxLength\": 16\n                              }\n                            ]\n                          },\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"name\",\n                          \"size_gigabytes\",\n                          \"region\"\n                        ]\n                      }\n                    ],\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"created_at\": {\n                            \"description\": \"A time value given in ISO8601 combined date and time format that represents when the block storage volume was created.\",\n                            \"example\": \"2020-03-02T17:00:49Z\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"description\": {\n                            \"description\": \"An optional free-form text field to describe a block storage volume.\",\n                            \"example\": \"Block store for examples\",\n                            \"type\": \"string\"\n                          },\n                          \"droplet_ids\": {\n                            \"description\": \"An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet.\",\n                            \"example\": [],\n                            \"items\": {\n                              \"type\": \"integer\"\n                            },\n                            \"nullable\": true,\n                            \"readOnly\": true,\n                            \"type\": \"array\"\n                          },\n                          \"id\": {\n                            \"description\": \"The unique identifier for the block storage volume.\",\n                            \"example\": \"506f78a4-e098-11e5-ad9f-000f53306ae1\",\n                            \"readOnly\": true,\n                            \"type\": \"string\"\n                          },\n                          \"name\": {\n                            \"description\": \"A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and \\\"-\\\", up to a limit of 64 characters. The name must begin with a letter.\",\n                            \"example\": \"example\",\n                            \"type\": \"string\"\n                          },\n                          \"size_gigabytes\": {\n                            \"description\": \"The size of the block storage volume in GiB (1024^3).\",\n                            \"example\": 10,\n                            \"type\": \"integer\"\n                          },\n                          \"tags\": {\n                            \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                            \"example\": [\n                              \"base-image\",\n                              \"prod\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"snapshot_id\": {\n                            \"description\": \"The unique identifier for the volume snapshot from which to create the volume.\",\n                            \"example\": \"b0798135-fb76-11eb-946a-0a58ac146f33\",\n                            \"type\": \"string\"\n                          }\n                        }\n                      },\n                      {\n                        \"properties\": {\n                          \"filesystem_type\": {\n                            \"description\": \"The name of the filesystem type to be used on the volume. When provided, the volume will automatically be formatted to the specified filesystem type. Currently, the available options are `ext4` and `xfs`. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to other Droplets is not recommended.\",\n                            \"example\": \"ext4\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"filesystem_label\": {\n                            \"allOf\": [\n                              {\n                                \"description\": \"The label applied to the filesystem. Labels for ext4 type filesystems may contain 16 characters while labels for xfs type filesystems are limited to 12 characters. May only be used in conjunction with filesystem_type.\",\n                                \"example\": \"example\",\n                                \"type\": \"string\"\n                              },\n                              {\n                                \"maxLength\": 12\n                              }\n                            ]\n                          },\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"name\",\n                          \"size_gigabytes\",\n                          \"region\"\n                        ]\n                      }\n                    ],\n                    \"type\": \"object\"\n                  }\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"volume\": {\n                      \"created_at\": \"2020-03-02T17:00:49Z\",\n                      \"description\": \"Block store for examples\",\n                      \"droplet_ids\": [],\n                      \"filesystem_label\": \"example\",\n                      \"filesystem_type\": \"ext4\",\n                      \"id\": \"506f78a4-e098-11e5-ad9f-000f53306ae1\",\n                      \"name\": \"example\",\n                      \"region\": {\n                        \"available\": true,\n                        \"features\": [\n                          \"private_networking\",\n                          \"backups\",\n                          \"ipv6\",\n                          \"metadata\"\n                        ],\n                        \"name\": \"New York 1\",\n                        \"sizes\": [\n                          \"s-1vcpu-1gb\",\n                          \"s-1vcpu-2gb\",\n                          \"s-1vcpu-3gb\",\n                          \"s-2vcpu-2gb\",\n                          \"s-3vcpu-1gb\",\n                          \"s-2vcpu-4gb\",\n                          \"s-4vcpu-8gb\",\n                          \"s-6vcpu-16gb\",\n                          \"s-8vcpu-32gb\",\n                          \"s-12vcpu-48gb\",\n                          \"s-16vcpu-64gb\",\n                          \"s-20vcpu-96gb\",\n                          \"s-24vcpu-128gb\",\n                          \"s-32vcpu-192gb\"\n                        ],\n                        \"slug\": \"nyc1\"\n                      },\n                      \"size_gigabytes\": 10\n                    }\n                  },\n                  \"properties\": {\n                    \"volume\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the block storage volume was created.\",\n                              \"example\": \"2020-03-02T17:00:49Z\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"description\": {\n                              \"description\": \"An optional free-form text field to describe a block storage volume.\",\n                              \"example\": \"Block store for examples\",\n                              \"type\": \"string\"\n                            },\n                            \"droplet_ids\": {\n                              \"description\": \"An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet.\",\n                              \"example\": [],\n                              \"items\": {\n                                \"type\": \"integer\"\n                              },\n                              \"nullable\": true,\n                              \"readOnly\": true,\n                              \"type\": \"array\"\n                            },\n                            \"id\": {\n                              \"description\": \"The unique identifier for the block storage volume.\",\n                              \"example\": \"506f78a4-e098-11e5-ad9f-000f53306ae1\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and \\\"-\\\", up to a limit of 64 characters. The name must begin with a letter.\",\n                              \"example\": \"example\",\n                              \"type\": \"string\"\n                            },\n                            \"size_gigabytes\": {\n                              \"description\": \"The size of the block storage volume in GiB (1024^3).\",\n                              \"example\": 10,\n                              \"type\": \"integer\"\n                            },\n                            \"tags\": {\n                              \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                              \"example\": [\n                                \"base-image\",\n                                \"prod\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"filesystem_label\": {\n                              \"description\": \"The label currently applied to the filesystem.\",\n                              \"example\": \"example\",\n                              \"type\": \"string\"\n                            },\n                            \"filesystem_type\": {\n                              \"description\": \"The type of filesystem currently in-use on the volume.\",\n                              \"example\": \"ext4\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"The region that the block storage volume is located in. When setting a region, the value should be the slug identifier for the region. When you query a block storage volume, the entire region object will be returned.\"\n                                },\n                                {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"features\": {\n                                      \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                      \"example\": [\n                                        \"private_networking\",\n                                        \"backups\",\n                                        \"ipv6\",\n                                        \"metadata\",\n                                        \"install_agent\",\n                                        \"storage\",\n                                        \"image_transfer\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                      \"example\": \"New York 3\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"sizes\": {\n                                      \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                      \"example\": [\n                                        \"s-1vcpu-1gb\",\n                                        \"s-1vcpu-2gb\",\n                                        \"s-1vcpu-3gb\",\n                                        \"s-2vcpu-2gb\",\n                                        \"s-3vcpu-1gb\",\n                                        \"s-2vcpu-4gb\",\n                                        \"s-4vcpu-8gb\",\n                                        \"s-6vcpu-16gb\",\n                                        \"s-8vcpu-32gb\",\n                                        \"s-12vcpu-48gb\",\n                                        \"s-16vcpu-64gb\",\n                                        \"s-20vcpu-96gb\",\n                                        \"s-24vcpu-128gb\",\n                                        \"s-32vcpu-192g\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                      \"example\": \"nyc3\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"features\",\n                                    \"name\",\n                                    \"sizes\",\n                                    \"slug\"\n                                  ],\n                                  \"type\": \"object\"\n                                }\n                              ],\n                              \"example\": {\n                                \"available\": true,\n                                \"features\": [\n                                  \"private_networking\",\n                                  \"backups\",\n                                  \"ipv6\",\n                                  \"metadata\"\n                                ],\n                                \"name\": \"New York 1\",\n                                \"sizes\": [\n                                  \"s-1vcpu-1gb\",\n                                  \"s-1vcpu-2gb\",\n                                  \"s-1vcpu-3gb\",\n                                  \"s-2vcpu-2gb\",\n                                  \"s-3vcpu-1gb\",\n                                  \"s-2vcpu-4gb\",\n                                  \"s-4vcpu-8gb\",\n                                  \"s-6vcpu-16gb\",\n                                  \"s-8vcpu-32gb\",\n                                  \"s-12vcpu-48gb\",\n                                  \"s-16vcpu-64gb\",\n                                  \"s-20vcpu-96gb\",\n                                  \"s-24vcpu-128gb\",\n                                  \"s-32vcpu-192gb\"\n                                ],\n                                \"slug\": \"nyc1\"\n                              },\n                              \"readOnly\": true\n                            }\n                          }\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `volume`. The value will be an object containing the standard attributes associated with a volume.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"error parsing request body\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New Block Storage Volume\",\n        \"tags\": [\n          \"Block Storage\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"size_gigabytes\\\":10, \\\"name\\\": \\\"example\\\", \\\"description\\\": \\\"Block store for examples\\\", \\\"region\\\": \\\"nyc1\\\", \\\"filesystem_type\\\": \\\"ext4\\\", \\\"filesystem_label\\\": \\\"example\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &VolumeCreateRequest{\\n        Region:        \\\"nyc1\\\",\\n        Name:          \\\"example\\\",\\n        Description:   \\\"Block store for examples\\\",\\n        SizeGigaBytes: 10,\\n    }\\n\\n    volume, _, err := client.Storage.CreateVolume(ctx, createRequest)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nvolume = DropletKit::Volume.new(\\n  size_gigabytes: 10,\\n  name: 'Example',\\n  description: 'Block store for examples',\\n  region: 'nyc1'\\n)\\nclient.volumes.create(volume)\"\n          }\n        ]\n      }\n    },\n    \"/v2/volumes/actions\": {\n      \"post\": {\n        \"description\": \"To initiate an action on a block storage volume by Name, send a POST request to\\n`~/v2/volumes/actions`. The body should contain the appropriate\\nattributes for the respective action.\\n\\n## Attach a Block Storage Volume to a Droplet\\n\\n| Attribute   | Details                                                             |\\n| ----------- | ------------------------------------------------------------------- |\\n| type        | This must be `attach`                                               |\\n| volume_name | The name of the block storage volume                                |\\n| droplet_id  | Set to the Droplet's ID                                             |\\n| region      | Set to the slug representing the region where the volume is located |\\n\\nEach volume may only be attached to a single Droplet. However, up to five\\nvolumes may be attached to a Droplet at a time. Pre-formatted volumes will be\\nautomatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS\\nDroplets created on or after April 26, 2018 when attached. On older Droplets,\\n[additional configuration](https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-digitalocean-block-storage-volumes-in-linux#mounting-the-filesystems)\\nis required.\\n\\n## Remove a Block Storage Volume from a Droplet\\n\\n| Attribute   | Details                                                             |\\n| ----------- | ------------------------------------------------------------------- |\\n| type        | This must be `detach`                                               |\\n| volume_name | The name of the block storage volume                                |\\n| droplet_id  | Set to the Droplet's ID                                             |\\n| region      | Set to the slug representing the region where the volume is located |\\n\",\n        \"operationId\": \"volumeActions_post\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"examples\": {\n                \"VolumeActionAttach\": {\n                  \"value\": {\n                    \"droplet_id\": 11612190,\n                    \"region\": \"nyc1\",\n                    \"tags\": [\n                      \"aninterestingtag\"\n                    ],\n                    \"type\": \"attach\",\n                    \"volume_name\": \"example\"\n                  }\n                },\n                \"VolumeActionDetach\": {\n                  \"value\": {\n                    \"droplet_id\": 11612190,\n                    \"region\": \"nyc1\",\n                    \"type\": \"detach\",\n                    \"volume_name\": \"example\"\n                  }\n                }\n              },\n              \"schema\": {\n                \"anyOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          },\n                          \"type\": {\n                            \"description\": \"The volume action to initiate.\",\n                            \"enum\": [\n                              \"attach\",\n                              \"detach\",\n                              \"resize\"\n                            ],\n                            \"example\": \"attach\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"droplet_id\": {\n                            \"description\": \"The unique identifier for the Droplet the volume will be attached or detached from.\",\n                            \"example\": 11612190,\n                            \"type\": \"integer\"\n                          },\n                          \"tags\": {\n                            \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                            \"example\": [\n                              \"base-image\",\n                              \"prod\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"required\": [\n                          \"droplet_id\"\n                        ]\n                      }\n                    ],\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          },\n                          \"type\": {\n                            \"description\": \"The volume action to initiate.\",\n                            \"enum\": [\n                              \"attach\",\n                              \"detach\",\n                              \"resize\"\n                            ],\n                            \"example\": \"attach\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"droplet_id\": {\n                            \"description\": \"The unique identifier for the Droplet the volume will be attached or detached from.\",\n                            \"example\": 11612190,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"droplet_id\"\n                        ]\n                      }\n                    ],\n                    \"type\": \"object\"\n                  }\n                ],\n                \"discriminator\": {\n                  \"mapping\": {\n                    \"attach\": \"models/volume_action_post_attach.yml\",\n                    \"detach\": \"models/volume_action_post_detach.yml\"\n                  },\n                  \"propertyName\": \"type\"\n                }\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"202\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"VolumeActionDetachResponse\": {\n                    \"value\": {\n                      \"action\": {\n                        \"completed_at\": null,\n                        \"id\": 68212773,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\"\n                          ],\n                          \"name\": \"New York 1\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc1\"\n                        },\n                        \"region_slug\": \"nyc1\",\n                        \"resource_id\": null,\n                        \"resource_type\": \"backend\",\n                        \"started_at\": \"2015-10-15T17:46:15Z\",\n                        \"status\": \"in-progress\",\n                        \"type\": \"detach_volume\"\n                      }\n                    }\n                  },\n                  \"volume_action_attach_response\": {\n                    \"value\": {\n                      \"action\": {\n                        \"completed_at\": \"2020-11-12T17:51:14Z\",\n                        \"id\": 72531856,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\"\n                          ],\n                          \"name\": \"New York 1\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc1\"\n                        },\n                        \"region_slug\": \"nyc1\",\n                        \"resource_type\": \"volume\",\n                        \"started_at\": \"2020-11-12T17:51:03Z\",\n                        \"status\": \"completed\",\n                        \"type\": \"attach_volume\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"action\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"resource_id\": {\n                              \"example\": null,\n                              \"nullable\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"type\": {\n                              \"description\": \"This is the type of action that the object represents. For example, this could be \\\"attach_volume\\\" to represent the state of a volume attach action.\",\n                              \"example\": \"attach_volume\",\n                              \"type\": \"string\"\n                            }\n                          }\n                        },\n                        {\n                          \"properties\": {\n                            \"completed_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                              \"example\": \"2020-11-14T16:30:06Z\",\n                              \"format\": \"date-time\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                              \"example\": 36804636,\n                              \"type\": \"integer\"\n                            },\n                            \"region\": {\n                              \"properties\": {\n                                \"available\": {\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"features\": {\n                                  \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                  \"example\": [\n                                    \"private_networking\",\n                                    \"backups\",\n                                    \"ipv6\",\n                                    \"metadata\",\n                                    \"install_agent\",\n                                    \"storage\",\n                                    \"image_transfer\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                  \"example\": \"New York 3\",\n                                  \"type\": \"string\"\n                                },\n                                \"sizes\": {\n                                  \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                  \"example\": [\n                                    \"s-1vcpu-1gb\",\n                                    \"s-1vcpu-2gb\",\n                                    \"s-1vcpu-3gb\",\n                                    \"s-2vcpu-2gb\",\n                                    \"s-3vcpu-1gb\",\n                                    \"s-2vcpu-4gb\",\n                                    \"s-4vcpu-8gb\",\n                                    \"s-6vcpu-16gb\",\n                                    \"s-8vcpu-32gb\",\n                                    \"s-12vcpu-48gb\",\n                                    \"s-16vcpu-64gb\",\n                                    \"s-20vcpu-96gb\",\n                                    \"s-24vcpu-128gb\",\n                                    \"s-32vcpu-192g\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"features\",\n                                \"name\",\n                                \"sizes\",\n                                \"slug\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"region_slug\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                },\n                                {\n                                  \"nullable\": true,\n                                  \"type\": \"string\"\n                                }\n                              ]\n                            },\n                            \"resource_id\": {\n                              \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                              \"example\": 3164444,\n                              \"nullable\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"resource_type\": {\n                              \"description\": \"The type of resource that the action is associated with.\",\n                              \"example\": \"droplet\",\n                              \"type\": \"string\"\n                            },\n                            \"started_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                              \"example\": \"2020-11-14T16:29:21Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"status\": {\n                              \"default\": \"in-progress\",\n                              \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                              \"enum\": [\n                                \"in-progress\",\n                                \"completed\",\n                                \"errored\"\n                              ],\n                              \"example\": \"completed\",\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                              \"example\": \"create\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Initiate A Block Storage Action By Volume Name\",\n        \"tags\": [\n          \"Block Storage Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"# Attach a volume to a Droplet by name\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\": \\\"attach\\\", \\\"volume_name\\\": \\\"example\\\", \\\"region\\\": \\\"nyc1\\\", \\\"droplet_id\\\": \\\"11612190\\\",\\\"tags\\\":[\\\"aninterestingtag\\\"] }' \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes/actions\\\"\\n\\n# Remove a volume from a Droplet by name\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\": \\\"detach\\\", \\\"droplet_id\\\": \\\"11612190\\\", \\\"volume_name\\\": \\\"example\\\", \\\"region\\\": \\\"nyc1\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes/actions\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/volumes/snapshots/{snapshot_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a volume snapshot, send a DELETE request to\\n`/v2/snapshots/$SNAPSHOT_ID`.\\n\\nA status of 204 will be given. This indicates that the request was processed\\nsuccessfully, but that no response body is needed.\\n\",\n        \"operationId\": \"volumeSnapshots_delete_byId\",\n        \"parameters\": [\n          {\n            \"description\": \"Either the ID of an existing snapshot. This will be an integer for a Droplet snapshot or a string for a volume snapshot.\",\n            \"example\": 6372321,\n            \"in\": \"path\",\n            \"name\": \"snapshot_id\",\n            \"required\": true,\n            \"schema\": {\n              \"anyOf\": [\n                {\n                  \"description\": \"The ID of a Droplet snapshot.\",\n                  \"example\": 6372321,\n                  \"type\": \"integer\"\n                },\n                {\n                  \"description\": \"The ID of a volume snapshot.\",\n                  \"example\": \"fbe805e8-866b-11e6-96bf-000f53315a41\",\n                  \"type\": \"string\"\n                }\n              ]\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Volume Snapshot\",\n        \"tags\": [\n          \"Block Storage\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/snapshots/fbe805e8-866b-11e6-96bf-000f53315a41\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Storage.DeleteSnapshot(ctx, \\\"82a48a18-873f-11e6-96bf-000f53315a41\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.snapshots.delete(id: \\\"fbe805e8-866b-11e6-96bf-000f53315a41\\\")\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To retrieve the details of a snapshot that has been created from a volume, send a GET request to `/v2/volumes/snapshots/$SNAPSHOT_ID`.\\n\\n\",\n        \"operationId\": \"volumeSnapshots_get_byId\",\n        \"parameters\": [\n          {\n            \"description\": \"Either the ID of an existing snapshot. This will be an integer for a Droplet snapshot or a string for a volume snapshot.\",\n            \"example\": 6372321,\n            \"in\": \"path\",\n            \"name\": \"snapshot_id\",\n            \"required\": true,\n            \"schema\": {\n              \"anyOf\": [\n                {\n                  \"description\": \"The ID of a Droplet snapshot.\",\n                  \"example\": 6372321,\n                  \"type\": \"integer\"\n                },\n                {\n                  \"description\": \"The ID of a volume snapshot.\",\n                  \"example\": \"fbe805e8-866b-11e6-96bf-000f53315a41\",\n                  \"type\": \"string\"\n                }\n              ]\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"snapshot\": {\n                      \"created_at\": \"2020-09-30T18:56:14Z\",\n                      \"id\": \"8fa70202-873f-11e6-8b68-000f533176b1\",\n                      \"min_disk_size\": 10,\n                      \"name\": \"big-data-snapshot1475261774\",\n                      \"regions\": [\n                        \"nyc1\"\n                      ],\n                      \"resource_id\": \"82a48a18-873f-11e6-96bf-000f53315a41\",\n                      \"resource_type\": \"volume\",\n                      \"size_gigabytes\": 10,\n                      \"tags\": [\n                        \"aninterestingtag\"\n                      ]\n                    }\n                  },\n                  \"properties\": {\n                    \"snapshot\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"id\": {\n                              \"description\": \"The unique identifier for the snapshot.\",\n                              \"example\": \"6372321\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"id\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the snapshot was created.\",\n                              \"example\": \"2020-07-28T16:47:44Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"min_disk_size\": {\n                              \"description\": \"The minimum size in GB required for a volume or Droplet to use this snapshot.\",\n                              \"example\": 25,\n                              \"type\": \"integer\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for the snapshot.\",\n                              \"example\": \"web-01-1595954862243\",\n                              \"type\": \"string\"\n                            },\n                            \"regions\": {\n                              \"description\": \"An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values.\",\n                              \"example\": [\n                                \"nyc3\",\n                                \"sfo3\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"size_gigabytes\": {\n                              \"description\": \"The billable size of the snapshot in gigabytes.\",\n                              \"example\": 2.34,\n                              \"format\": \"float\",\n                              \"type\": \"number\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\",\n                            \"created_at\",\n                            \"regions\",\n                            \"min_disk_size\",\n                            \"size_gigabytes\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"resource_id\": {\n                              \"description\": \"The unique identifier for the resource that the snapshot originated from.\",\n                              \"example\": \"200776916\",\n                              \"type\": \"string\"\n                            },\n                            \"resource_type\": {\n                              \"description\": \"The type of resource that the snapshot originated from.\",\n                              \"enum\": [\n                                \"droplet\",\n                                \"volume\"\n                              ],\n                              \"example\": \"droplet\",\n                              \"type\": \"string\"\n                            },\n                            \"tags\": {\n                              \"description\": \"An array of Tags the snapshot has been tagged with.\",\n                              \"example\": [\n                                \"web\",\n                                \"env:prod\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"resource_id\",\n                            \"resource_type\",\n                            \"tags\"\n                          ],\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"You will get back a JSON object that has a `snapshot` key. This will contain the standard snapshot attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Volume Snapshot\",\n        \"tags\": [\n          \"Block Storage\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes/snapshots/fbe805e8-866b-11e6-96bf-000f53315a41\\\"\"\n          }\n        ]\n      }\n    },\n    \"/v2/volumes/{volume_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a block storage volume, destroying all data and removing it from your account, send a DELETE request to `/v2/volumes/$VOLUME_ID`.\\nNo response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data.\\n\\n\",\n        \"operationId\": \"volumes_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the block storage volume.\",\n            \"example\": \"7724db7c-e098-11e5-b522-000f53304e51\",\n            \"in\": \"path\",\n            \"name\": \"volume_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a Block Storage Volume\",\n        \"tags\": [\n          \"Block Storage\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes/7724db7c-e098-11e5-b522-000f53304e51\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    _, err := client.Storage.DeleteVolume(ctx, \\\"7724db7c-e098-11e5-b522-000f53304e51\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.volumes.delete(id: '7724db7c-e098-11e5-b522-000f53304e51')\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about a block storage volume, send a GET request to `/v2/volumes/$VOLUME_ID`.\\n\\n\",\n        \"operationId\": \"volumes_get\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the block storage volume.\",\n            \"example\": \"7724db7c-e098-11e5-b522-000f53304e51\",\n            \"in\": \"path\",\n            \"name\": \"volume_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"volume\": {\n                      \"created_at\": \"2020-03-02T17:00:49Z\",\n                      \"description\": \"Block store for examples\",\n                      \"droplet_ids\": [],\n                      \"filesystem_label\": \"example\",\n                      \"filesystem_type\": \"ext4\",\n                      \"id\": \"506f78a4-e098-11e5-ad9f-000f53306ae1\",\n                      \"name\": \"example\",\n                      \"region\": {\n                        \"available\": true,\n                        \"features\": [\n                          \"private_networking\",\n                          \"backups\",\n                          \"ipv6\",\n                          \"metadata\"\n                        ],\n                        \"name\": \"New York 1\",\n                        \"sizes\": [\n                          \"s-1vcpu-1gb\",\n                          \"s-1vcpu-2gb\",\n                          \"s-1vcpu-3gb\",\n                          \"s-2vcpu-2gb\",\n                          \"s-3vcpu-1gb\",\n                          \"s-2vcpu-4gb\",\n                          \"s-4vcpu-8gb\",\n                          \"s-6vcpu-16gb\",\n                          \"s-8vcpu-32gb\",\n                          \"s-12vcpu-48gb\",\n                          \"s-16vcpu-64gb\",\n                          \"s-20vcpu-96gb\",\n                          \"s-24vcpu-128gb\",\n                          \"s-32vcpu-192gb\"\n                        ],\n                        \"slug\": \"nyc1\"\n                      },\n                      \"size_gigabytes\": 10\n                    }\n                  },\n                  \"properties\": {\n                    \"volume\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the block storage volume was created.\",\n                              \"example\": \"2020-03-02T17:00:49Z\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"description\": {\n                              \"description\": \"An optional free-form text field to describe a block storage volume.\",\n                              \"example\": \"Block store for examples\",\n                              \"type\": \"string\"\n                            },\n                            \"droplet_ids\": {\n                              \"description\": \"An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet.\",\n                              \"example\": [],\n                              \"items\": {\n                                \"type\": \"integer\"\n                              },\n                              \"nullable\": true,\n                              \"readOnly\": true,\n                              \"type\": \"array\"\n                            },\n                            \"id\": {\n                              \"description\": \"The unique identifier for the block storage volume.\",\n                              \"example\": \"506f78a4-e098-11e5-ad9f-000f53306ae1\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and \\\"-\\\", up to a limit of 64 characters. The name must begin with a letter.\",\n                              \"example\": \"example\",\n                              \"type\": \"string\"\n                            },\n                            \"size_gigabytes\": {\n                              \"description\": \"The size of the block storage volume in GiB (1024^3).\",\n                              \"example\": 10,\n                              \"type\": \"integer\"\n                            },\n                            \"tags\": {\n                              \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                              \"example\": [\n                                \"base-image\",\n                                \"prod\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"filesystem_label\": {\n                              \"description\": \"The label currently applied to the filesystem.\",\n                              \"example\": \"example\",\n                              \"type\": \"string\"\n                            },\n                            \"filesystem_type\": {\n                              \"description\": \"The type of filesystem currently in-use on the volume.\",\n                              \"example\": \"ext4\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"The region that the block storage volume is located in. When setting a region, the value should be the slug identifier for the region. When you query a block storage volume, the entire region object will be returned.\"\n                                },\n                                {\n                                  \"properties\": {\n                                    \"available\": {\n                                      \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                      \"example\": true,\n                                      \"type\": \"boolean\"\n                                    },\n                                    \"features\": {\n                                      \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                      \"example\": [\n                                        \"private_networking\",\n                                        \"backups\",\n                                        \"ipv6\",\n                                        \"metadata\",\n                                        \"install_agent\",\n                                        \"storage\",\n                                        \"image_transfer\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"name\": {\n                                      \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                      \"example\": \"New York 3\",\n                                      \"type\": \"string\"\n                                    },\n                                    \"sizes\": {\n                                      \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                      \"example\": [\n                                        \"s-1vcpu-1gb\",\n                                        \"s-1vcpu-2gb\",\n                                        \"s-1vcpu-3gb\",\n                                        \"s-2vcpu-2gb\",\n                                        \"s-3vcpu-1gb\",\n                                        \"s-2vcpu-4gb\",\n                                        \"s-4vcpu-8gb\",\n                                        \"s-6vcpu-16gb\",\n                                        \"s-8vcpu-32gb\",\n                                        \"s-12vcpu-48gb\",\n                                        \"s-16vcpu-64gb\",\n                                        \"s-20vcpu-96gb\",\n                                        \"s-24vcpu-128gb\",\n                                        \"s-32vcpu-192g\"\n                                      ],\n                                      \"items\": {\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"slug\": {\n                                      \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                      \"example\": \"nyc3\",\n                                      \"type\": \"string\"\n                                    }\n                                  },\n                                  \"required\": [\n                                    \"available\",\n                                    \"features\",\n                                    \"name\",\n                                    \"sizes\",\n                                    \"slug\"\n                                  ],\n                                  \"type\": \"object\"\n                                }\n                              ],\n                              \"example\": {\n                                \"available\": true,\n                                \"features\": [\n                                  \"private_networking\",\n                                  \"backups\",\n                                  \"ipv6\",\n                                  \"metadata\"\n                                ],\n                                \"name\": \"New York 1\",\n                                \"sizes\": [\n                                  \"s-1vcpu-1gb\",\n                                  \"s-1vcpu-2gb\",\n                                  \"s-1vcpu-3gb\",\n                                  \"s-2vcpu-2gb\",\n                                  \"s-3vcpu-1gb\",\n                                  \"s-2vcpu-4gb\",\n                                  \"s-4vcpu-8gb\",\n                                  \"s-6vcpu-16gb\",\n                                  \"s-8vcpu-32gb\",\n                                  \"s-12vcpu-48gb\",\n                                  \"s-16vcpu-64gb\",\n                                  \"s-20vcpu-96gb\",\n                                  \"s-24vcpu-128gb\",\n                                  \"s-32vcpu-192gb\"\n                                ],\n                                \"slug\": \"nyc1\"\n                              },\n                              \"readOnly\": true\n                            }\n                          }\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `volume`. The value will be an object containing the standard attributes associated with a volume.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Block Storage Volume\",\n        \"tags\": [\n          \"Block Storage\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"# Retrieve an existing volume\\ncurl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes/7724db7c-e098-11e5-b522-000f53304e51\\\"\\n\\n# Retrieve and existing volume by name\\ncurl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes?name=example&region=nyc1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    volume, _, err := client.Storage.GetVolume(ctx, \\\"7724db7c-e098-11e5-b522-000f53304e51\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.volumes.find(id: '7724db7c-e098-11e5-b522-000f53304e51')\"\n          }\n        ]\n      }\n    },\n    \"/v2/volumes/{volume_id}/actions\": {\n      \"get\": {\n        \"description\": \"To retrieve all actions that have been executed on a volume, send a GET request to `/v2/volumes/$VOLUME_ID/actions`.\\n\\n\",\n        \"operationId\": \"volumeActions_list\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the block storage volume.\",\n            \"example\": \"7724db7c-e098-11e5-b522-000f53304e51\",\n            \"in\": \"path\",\n            \"name\": \"volume_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"actions\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"resource_id\": {\n                                    \"example\": null,\n                                    \"nullable\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"type\": {\n                                    \"description\": \"This is the type of action that the object represents. For example, this could be \\\"attach_volume\\\" to represent the state of a volume attach action.\",\n                                    \"example\": \"attach_volume\",\n                                    \"type\": \"string\"\n                                  }\n                                }\n                              },\n                              {\n                                \"properties\": {\n                                  \"completed_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                                    \"example\": \"2020-11-14T16:30:06Z\",\n                                    \"format\": \"date-time\",\n                                    \"nullable\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                                    \"example\": 36804636,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"region\": {\n                                    \"properties\": {\n                                      \"available\": {\n                                        \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                        \"example\": true,\n                                        \"type\": \"boolean\"\n                                      },\n                                      \"features\": {\n                                        \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                        \"example\": [\n                                          \"private_networking\",\n                                          \"backups\",\n                                          \"ipv6\",\n                                          \"metadata\",\n                                          \"install_agent\",\n                                          \"storage\",\n                                          \"image_transfer\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"name\": {\n                                        \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                        \"example\": \"New York 3\",\n                                        \"type\": \"string\"\n                                      },\n                                      \"sizes\": {\n                                        \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                        \"example\": [\n                                          \"s-1vcpu-1gb\",\n                                          \"s-1vcpu-2gb\",\n                                          \"s-1vcpu-3gb\",\n                                          \"s-2vcpu-2gb\",\n                                          \"s-3vcpu-1gb\",\n                                          \"s-2vcpu-4gb\",\n                                          \"s-4vcpu-8gb\",\n                                          \"s-6vcpu-16gb\",\n                                          \"s-8vcpu-32gb\",\n                                          \"s-12vcpu-48gb\",\n                                          \"s-16vcpu-64gb\",\n                                          \"s-20vcpu-96gb\",\n                                          \"s-24vcpu-128gb\",\n                                          \"s-32vcpu-192g\"\n                                        ],\n                                        \"items\": {\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"slug\": {\n                                        \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                        \"example\": \"nyc3\",\n                                        \"type\": \"string\"\n                                      }\n                                    },\n                                    \"required\": [\n                                      \"available\",\n                                      \"features\",\n                                      \"name\",\n                                      \"sizes\",\n                                      \"slug\"\n                                    ],\n                                    \"type\": \"object\"\n                                  },\n                                  \"region_slug\": {\n                                    \"allOf\": [\n                                      {\n                                        \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                        \"example\": \"nyc3\",\n                                        \"type\": \"string\"\n                                      },\n                                      {\n                                        \"nullable\": true,\n                                        \"type\": \"string\"\n                                      }\n                                    ]\n                                  },\n                                  \"resource_id\": {\n                                    \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                                    \"example\": 3164444,\n                                    \"nullable\": true,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"resource_type\": {\n                                    \"description\": \"The type of resource that the action is associated with.\",\n                                    \"example\": \"droplet\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"started_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                                    \"example\": \"2020-11-14T16:29:21Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"status\": {\n                                    \"default\": \"in-progress\",\n                                    \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                                    \"enum\": [\n                                      \"in-progress\",\n                                      \"completed\",\n                                      \"errored\"\n                                    ],\n                                    \"example\": \"completed\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"type\": {\n                                    \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                                    \"example\": \"create\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"actions\": [\n                      {\n                        \"completed_at\": \"2020-11-21T21:51:09Z\",\n                        \"id\": 72531856,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\"\n                          ],\n                          \"name\": \"New York 1\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc1\"\n                        },\n                        \"region_slug\": \"nyc1\",\n                        \"resource_type\": \"volume\",\n                        \"started_at\": \"2020-11-21T21:51:09Z\",\n                        \"status\": \"completed\",\n                        \"type\": \"attach_volume\"\n                      }\n                    ],\n                    \"links\": {},\n                    \"meta\": {\n                      \"total\": 1\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All Actions for a Volume\",\n        \"tags\": [\n          \"Block Storage Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes/7724db7c-e098-11e5-b522-000f53304e51/actions?page=1&per_page=1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    actions, _, err := client.StorageActions(ctx, \\\"7724db7c-e098-11e5-b522-000f53304e51\\\", opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nactions = client.volume.actions(id: '7724db7c-e098-11e5-b522-000f53304e51')\\nactions.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To initiate an action on a block storage volume by Id, send a POST request to\\n`~/v2/volumes/$VOLUME_ID/actions`. The body should contain the appropriate\\nattributes for the respective action.\\n\\n## Attach a Block Storage Volume to a Droplet\\n\\n| Attribute  | Details                                                             |\\n| ---------- | ------------------------------------------------------------------- |\\n| type       | This must be `attach`                                               |\\n| droplet_id | Set to the Droplet's ID                                             |\\n| region     | Set to the slug representing the region where the volume is located |\\n\\nEach volume may only be attached to a single Droplet. However, up to seven\\nvolumes may be attached to a Droplet at a time. Pre-formatted volumes will be\\nautomatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS\\nDroplets created on or after April 26, 2018 when attached. On older Droplets,\\n[additional configuration](https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-digitalocean-block-storage-volumes-in-linux#mounting-the-filesystems)\\nis required.\\n\\n## Remove a Block Storage Volume from a Droplet\\n\\n| Attribute  | Details                                                             |\\n| ---------- | ------------------------------------------------------------------- |\\n| type       | This must be `detach`                                               |\\n| droplet_id | Set to the Droplet's ID                                             |\\n| region     | Set to the slug representing the region where the volume is located |\\n\\n## Resize a Volume\\n\\n| Attribute      | Details                                                             |\\n| -------------- | ------------------------------------------------------------------- |\\n| type           | This must be `resize`                                               |\\n| size_gigabytes | The new size of the block storage volume in GiB (1024^3)            |\\n| region         | Set to the slug representing the region where the volume is located |\\n\\nVolumes may only be resized upwards. The maximum size for a volume is 16TiB.\\n\",\n        \"operationId\": \"volumeActions_post_byId\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the block storage volume.\",\n            \"example\": \"7724db7c-e098-11e5-b522-000f53304e51\",\n            \"in\": \"path\",\n            \"name\": \"volume_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"examples\": {\n                \"VolumeActionAttach\": {\n                  \"value\": {\n                    \"droplet_id\": 11612190,\n                    \"region\": \"nyc1\",\n                    \"tags\": [\n                      \"aninterestingtag\"\n                    ],\n                    \"type\": \"attach\"\n                  }\n                },\n                \"VolumeActionDetach\": {\n                  \"value\": {\n                    \"droplet_id\": 11612190,\n                    \"region\": \"nyc1\",\n                    \"type\": \"detach\"\n                  }\n                },\n                \"VolumeActionResize\": {\n                  \"value\": {\n                    \"region\": \"nyc1\",\n                    \"size_gigabytes\": 100,\n                    \"type\": \"resize\"\n                  }\n                }\n              },\n              \"schema\": {\n                \"anyOf\": [\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          },\n                          \"type\": {\n                            \"description\": \"The volume action to initiate.\",\n                            \"enum\": [\n                              \"attach\",\n                              \"detach\",\n                              \"resize\"\n                            ],\n                            \"example\": \"attach\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"droplet_id\": {\n                            \"description\": \"The unique identifier for the Droplet the volume will be attached or detached from.\",\n                            \"example\": 11612190,\n                            \"type\": \"integer\"\n                          },\n                          \"tags\": {\n                            \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                            \"example\": [\n                              \"base-image\",\n                              \"prod\"\n                            ],\n                            \"items\": {\n                              \"type\": \"string\"\n                            },\n                            \"nullable\": true,\n                            \"type\": \"array\"\n                          }\n                        },\n                        \"required\": [\n                          \"droplet_id\"\n                        ]\n                      }\n                    ],\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          },\n                          \"type\": {\n                            \"description\": \"The volume action to initiate.\",\n                            \"enum\": [\n                              \"attach\",\n                              \"detach\",\n                              \"resize\"\n                            ],\n                            \"example\": \"attach\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"droplet_id\": {\n                            \"description\": \"The unique identifier for the Droplet the volume will be attached or detached from.\",\n                            \"example\": 11612190,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"droplet_id\"\n                        ]\n                      }\n                    ],\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"allOf\": [\n                      {\n                        \"properties\": {\n                          \"region\": {\n                            \"description\": \"The slug identifier for the region where the resource will initially be  available.\",\n                            \"enum\": [\n                              \"ams1\",\n                              \"ams2\",\n                              \"ams3\",\n                              \"blr1\",\n                              \"fra1\",\n                              \"lon1\",\n                              \"nyc1\",\n                              \"nyc2\",\n                              \"nyc3\",\n                              \"sfo1\",\n                              \"sfo2\",\n                              \"sfo3\",\n                              \"sgp1\",\n                              \"tor1\"\n                            ],\n                            \"example\": \"nyc3\",\n                            \"type\": \"string\"\n                          },\n                          \"type\": {\n                            \"description\": \"The volume action to initiate.\",\n                            \"enum\": [\n                              \"attach\",\n                              \"detach\",\n                              \"resize\"\n                            ],\n                            \"example\": \"attach\",\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"required\": [\n                          \"type\"\n                        ],\n                        \"type\": \"object\"\n                      },\n                      {\n                        \"properties\": {\n                          \"size_gigabytes\": {\n                            \"description\": \"The new size of the block storage volume in GiB (1024^3).\",\n                            \"maximum\": 16384,\n                            \"type\": \"integer\"\n                          }\n                        },\n                        \"required\": [\n                          \"size_gigabytes\"\n                        ]\n                      }\n                    ],\n                    \"type\": \"object\"\n                  }\n                ],\n                \"discriminator\": {\n                  \"mapping\": {\n                    \"attach\": \"models/volume_action_post_attach.yml\",\n                    \"detach\": \"models/volume_action_post_detach.yml\",\n                    \"resize\": \"models/volume_action_post_resize.yml\"\n                  },\n                  \"propertyName\": \"type\"\n                }\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"202\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"VolumeActionDetachResponse\": {\n                    \"value\": {\n                      \"action\": {\n                        \"completed_at\": null,\n                        \"id\": 68212773,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\"\n                          ],\n                          \"name\": \"New York 1\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc1\"\n                        },\n                        \"region_slug\": \"nyc1\",\n                        \"resource_id\": null,\n                        \"resource_type\": \"backend\",\n                        \"started_at\": \"2015-10-15T17:46:15Z\",\n                        \"status\": \"in-progress\",\n                        \"type\": \"detach_volume\"\n                      }\n                    }\n                  },\n                  \"volume_action_attach_response\": {\n                    \"value\": {\n                      \"action\": {\n                        \"completed_at\": \"2020-11-12T17:51:14Z\",\n                        \"id\": 72531856,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\"\n                          ],\n                          \"name\": \"New York 1\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc1\"\n                        },\n                        \"region_slug\": \"nyc1\",\n                        \"resource_type\": \"volume\",\n                        \"started_at\": \"2020-11-12T17:51:03Z\",\n                        \"status\": \"completed\",\n                        \"type\": \"attach_volume\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"action\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"resource_id\": {\n                              \"example\": null,\n                              \"nullable\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"type\": {\n                              \"description\": \"This is the type of action that the object represents. For example, this could be \\\"attach_volume\\\" to represent the state of a volume attach action.\",\n                              \"example\": \"attach_volume\",\n                              \"type\": \"string\"\n                            }\n                          }\n                        },\n                        {\n                          \"properties\": {\n                            \"completed_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                              \"example\": \"2020-11-14T16:30:06Z\",\n                              \"format\": \"date-time\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                              \"example\": 36804636,\n                              \"type\": \"integer\"\n                            },\n                            \"region\": {\n                              \"properties\": {\n                                \"available\": {\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"features\": {\n                                  \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                  \"example\": [\n                                    \"private_networking\",\n                                    \"backups\",\n                                    \"ipv6\",\n                                    \"metadata\",\n                                    \"install_agent\",\n                                    \"storage\",\n                                    \"image_transfer\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                  \"example\": \"New York 3\",\n                                  \"type\": \"string\"\n                                },\n                                \"sizes\": {\n                                  \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                  \"example\": [\n                                    \"s-1vcpu-1gb\",\n                                    \"s-1vcpu-2gb\",\n                                    \"s-1vcpu-3gb\",\n                                    \"s-2vcpu-2gb\",\n                                    \"s-3vcpu-1gb\",\n                                    \"s-2vcpu-4gb\",\n                                    \"s-4vcpu-8gb\",\n                                    \"s-6vcpu-16gb\",\n                                    \"s-8vcpu-32gb\",\n                                    \"s-12vcpu-48gb\",\n                                    \"s-16vcpu-64gb\",\n                                    \"s-20vcpu-96gb\",\n                                    \"s-24vcpu-128gb\",\n                                    \"s-32vcpu-192g\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"features\",\n                                \"name\",\n                                \"sizes\",\n                                \"slug\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"region_slug\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                },\n                                {\n                                  \"nullable\": true,\n                                  \"type\": \"string\"\n                                }\n                              ]\n                            },\n                            \"resource_id\": {\n                              \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                              \"example\": 3164444,\n                              \"nullable\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"resource_type\": {\n                              \"description\": \"The type of resource that the action is associated with.\",\n                              \"example\": \"droplet\",\n                              \"type\": \"string\"\n                            },\n                            \"started_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                              \"example\": \"2020-11-14T16:29:21Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"status\": {\n                              \"default\": \"in-progress\",\n                              \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                              \"enum\": [\n                                \"in-progress\",\n                                \"completed\",\n                                \"errored\"\n                              ],\n                              \"example\": \"completed\",\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                              \"example\": \"create\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Initiate A Block Storage Action By Volume Id\",\n        \"tags\": [\n          \"Block Storage Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"# Attach a Volume to a Droplet by ID\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\": \\\"attach\\\", \\\"droplet_id\\\": 11612190, \\\"region\\\": \\\"nyc1\\\", \\\"tags\\\":[\\\"aninterestingtag\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes/7724db7c-e098-11e5-b522-000f53304e51/actions\\\"\\n\\n# Remove a Volume from a Droplet by ID\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\": \\\"detach\\\", \\\"droplet_id\\\": \\\"11612190\\\", \\\"region\\\": \\\"nyc1\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes/7724db7c-e098-11e5-b522-000f53304e51/actions\\\"\\n\\n# Resize a Volume\\ncurl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"type\\\":\\\"resize\\\",\\\"size_gigabytes\\\": 100, \\\"region\\\":\\\"nyc1\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes/7724db7c-e098-11e5-b522-000f53304e51/actions\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n  // Attach a Volume to a Droplet by ID\\n    action, _, err := client.StorageActions.Attach(ctx, \\\"7724db7c-e098-11e5-b522-000f53304e51\\\", 11612190)\\n\\n  // Remove a Volume from a Droplet by ID\\n  // action, _, err := client.StorageActions.Detach(ctx, \\\"7724db7c-e098-11e5-b522-000f53304e51\\\")\\n\\n  // Resize a Volume\\n  // action, _, err := client.StorageActions.Resize(ctx, \\\"7724db7c-e098-11e5-b522-000f53304e51\\\", 100, \\\"nyc1\\\")\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\n# Attach a Volume to a Droplet by ID\\nclient.volume_actions.attach(volume_id:'7724db7c-e098-11e5-b522-000f53304e51', droplet_id: 11612190, region: 'nyc1'\\n\\n\\n# Remove a Volume from a Droplet by ID\\n# client.volume_actions.detach(volume_id:'7724db7c-e098-11e5-b522-000f53304e51', droplet_id: 11612190, region: 'nyc1'\"\n          }\n        ]\n      }\n    },\n    \"/v2/volumes/{volume_id}/actions/{action_id}\": {\n      \"get\": {\n        \"description\": \"To retrieve the status of a volume action, send a GET request to `/v2/volumes/$VOLUME_ID/actions/$ACTION_ID`.\\n\\n\",\n        \"operationId\": \"volumeActions_get\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the block storage volume.\",\n            \"example\": \"7724db7c-e098-11e5-b522-000f53304e51\",\n            \"in\": \"path\",\n            \"name\": \"volume_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n            \"example\": 36804636,\n            \"in\": \"path\",\n            \"name\": \"action_id\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"VolumeActionDetachResponse\": {\n                    \"value\": {\n                      \"action\": {\n                        \"completed_at\": null,\n                        \"id\": 68212773,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\"\n                          ],\n                          \"name\": \"New York 1\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc1\"\n                        },\n                        \"region_slug\": \"nyc1\",\n                        \"resource_id\": null,\n                        \"resource_type\": \"backend\",\n                        \"started_at\": \"2015-10-15T17:46:15Z\",\n                        \"status\": \"in-progress\",\n                        \"type\": \"detach_volume\"\n                      }\n                    }\n                  },\n                  \"volume_action_attach_response\": {\n                    \"value\": {\n                      \"action\": {\n                        \"completed_at\": \"2020-11-12T17:51:14Z\",\n                        \"id\": 72531856,\n                        \"region\": {\n                          \"available\": true,\n                          \"features\": [\n                            \"private_networking\",\n                            \"backups\",\n                            \"ipv6\",\n                            \"metadata\"\n                          ],\n                          \"name\": \"New York 1\",\n                          \"sizes\": [\n                            \"s-1vcpu-1gb\",\n                            \"s-1vcpu-2gb\",\n                            \"s-1vcpu-3gb\",\n                            \"s-2vcpu-2gb\",\n                            \"s-3vcpu-1gb\",\n                            \"s-2vcpu-4gb\",\n                            \"s-4vcpu-8gb\",\n                            \"s-6vcpu-16gb\",\n                            \"s-8vcpu-32gb\",\n                            \"s-12vcpu-48gb\",\n                            \"s-16vcpu-64gb\",\n                            \"s-20vcpu-96gb\",\n                            \"s-24vcpu-128gb\",\n                            \"s-32vcpu-192gb\"\n                          ],\n                          \"slug\": \"nyc1\"\n                        },\n                        \"region_slug\": \"nyc1\",\n                        \"resource_type\": \"volume\",\n                        \"started_at\": \"2020-11-12T17:51:03Z\",\n                        \"status\": \"completed\",\n                        \"type\": \"attach_volume\"\n                      }\n                    }\n                  }\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"action\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"resource_id\": {\n                              \"example\": null,\n                              \"nullable\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"type\": {\n                              \"description\": \"This is the type of action that the object represents. For example, this could be \\\"attach_volume\\\" to represent the state of a volume attach action.\",\n                              \"example\": \"attach_volume\",\n                              \"type\": \"string\"\n                            }\n                          }\n                        },\n                        {\n                          \"properties\": {\n                            \"completed_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was completed.\",\n                              \"example\": \"2020-11-14T16:30:06Z\",\n                              \"format\": \"date-time\",\n                              \"nullable\": true,\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique numeric ID that can be used to identify and reference an action.\",\n                              \"example\": 36804636,\n                              \"type\": \"integer\"\n                            },\n                            \"region\": {\n                              \"properties\": {\n                                \"available\": {\n                                  \"description\": \"This is a boolean value that represents whether new Droplets can be created in this region.\",\n                                  \"example\": true,\n                                  \"type\": \"boolean\"\n                                },\n                                \"features\": {\n                                  \"description\": \"This attribute is set to an array which contains features available in this region\",\n                                  \"example\": [\n                                    \"private_networking\",\n                                    \"backups\",\n                                    \"ipv6\",\n                                    \"metadata\",\n                                    \"install_agent\",\n                                    \"storage\",\n                                    \"image_transfer\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"name\": {\n                                  \"description\": \"The display name of the region.  This will be a full name that is used in the control panel and other interfaces.\",\n                                  \"example\": \"New York 3\",\n                                  \"type\": \"string\"\n                                },\n                                \"sizes\": {\n                                  \"description\": \"This attribute is set to an array which contains the identifying slugs for the sizes available in this region.\",\n                                  \"example\": [\n                                    \"s-1vcpu-1gb\",\n                                    \"s-1vcpu-2gb\",\n                                    \"s-1vcpu-3gb\",\n                                    \"s-2vcpu-2gb\",\n                                    \"s-3vcpu-1gb\",\n                                    \"s-2vcpu-4gb\",\n                                    \"s-4vcpu-8gb\",\n                                    \"s-6vcpu-16gb\",\n                                    \"s-8vcpu-32gb\",\n                                    \"s-12vcpu-48gb\",\n                                    \"s-16vcpu-64gb\",\n                                    \"s-20vcpu-96gb\",\n                                    \"s-24vcpu-128gb\",\n                                    \"s-32vcpu-192g\"\n                                  ],\n                                  \"items\": {\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"slug\": {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                }\n                              },\n                              \"required\": [\n                                \"available\",\n                                \"features\",\n                                \"name\",\n                                \"sizes\",\n                                \"slug\"\n                              ],\n                              \"type\": \"object\"\n                            },\n                            \"region_slug\": {\n                              \"allOf\": [\n                                {\n                                  \"description\": \"A human-readable string that is used as a unique identifier for each region.\",\n                                  \"example\": \"nyc3\",\n                                  \"type\": \"string\"\n                                },\n                                {\n                                  \"nullable\": true,\n                                  \"type\": \"string\"\n                                }\n                              ]\n                            },\n                            \"resource_id\": {\n                              \"description\": \"A unique identifier for the resource that the action is associated with.\",\n                              \"example\": 3164444,\n                              \"nullable\": true,\n                              \"type\": \"integer\"\n                            },\n                            \"resource_type\": {\n                              \"description\": \"The type of resource that the action is associated with.\",\n                              \"example\": \"droplet\",\n                              \"type\": \"string\"\n                            },\n                            \"started_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the action was initiated.\",\n                              \"example\": \"2020-11-14T16:29:21Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"status\": {\n                              \"default\": \"in-progress\",\n                              \"description\": \"The current status of the action. This can be \\\"in-progress\\\", \\\"completed\\\", or \\\"errored\\\".\",\n                              \"enum\": [\n                                \"in-progress\",\n                                \"completed\",\n                                \"errored\"\n                              ],\n                              \"example\": \"completed\",\n                              \"type\": \"string\"\n                            },\n                            \"type\": {\n                              \"description\": \"This is the type of action that the object represents. For example, this could be \\\"transfer\\\" to represent the state of an image transfer action.\",\n                              \"example\": \"create\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing Volume Action\",\n        \"tags\": [\n          \"Block Storage Actions\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes/7724db7c-e098-11e5-b522-000f53304e51/actions/72531856\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    action, _, err := client.StorageActions.Get(ctx, \\\"7724db7c-e098-11e5-b522-000f53304e51\\\", 72531856)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.volume.actions.find(volume_id: '7724db7c-e098-11e5-b522-000f53304e51', id: 72531856)\"\n          }\n        ]\n      }\n    },\n    \"/v2/volumes/{volume_id}/snapshots\": {\n      \"get\": {\n        \"description\": \"To retrieve the snapshots that have been created from a volume, send a GET request to `/v2/volumes/$VOLUME_ID/snapshots`.\\n\\n\",\n        \"operationId\": \"volumeSnapshots_list\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the block storage volume.\",\n            \"example\": \"7724db7c-e098-11e5-b522-000f53304e51\",\n            \"in\": \"path\",\n            \"name\": \"volume_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"snapshots\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"id\": {\n                                    \"description\": \"The unique identifier for the snapshot.\",\n                                    \"example\": \"6372321\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"id\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format that represents when the snapshot was created.\",\n                                    \"example\": \"2020-07-28T16:47:44Z\",\n                                    \"format\": \"date-time\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"min_disk_size\": {\n                                    \"description\": \"The minimum size in GB required for a volume or Droplet to use this snapshot.\",\n                                    \"example\": 25,\n                                    \"type\": \"integer\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"A human-readable name for the snapshot.\",\n                                    \"example\": \"web-01-1595954862243\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"regions\": {\n                                    \"description\": \"An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values.\",\n                                    \"example\": [\n                                      \"nyc3\",\n                                      \"sfo3\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"type\": \"array\"\n                                  },\n                                  \"size_gigabytes\": {\n                                    \"description\": \"The billable size of the snapshot in gigabytes.\",\n                                    \"example\": 2.34,\n                                    \"format\": \"float\",\n                                    \"type\": \"number\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"name\",\n                                  \"created_at\",\n                                  \"regions\",\n                                  \"min_disk_size\",\n                                  \"size_gigabytes\"\n                                ],\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"resource_id\": {\n                                    \"description\": \"The unique identifier for the resource that the snapshot originated from.\",\n                                    \"example\": \"200776916\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"resource_type\": {\n                                    \"description\": \"The type of resource that the snapshot originated from.\",\n                                    \"enum\": [\n                                      \"droplet\",\n                                      \"volume\"\n                                    ],\n                                    \"example\": \"droplet\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"tags\": {\n                                    \"description\": \"An array of Tags the snapshot has been tagged with.\",\n                                    \"example\": [\n                                      \"web\",\n                                      \"env:prod\"\n                                    ],\n                                    \"items\": {\n                                      \"type\": \"string\"\n                                    },\n                                    \"nullable\": true,\n                                    \"type\": \"array\"\n                                  }\n                                },\n                                \"required\": [\n                                  \"resource_id\",\n                                  \"resource_type\",\n                                  \"tags\"\n                                ],\n                                \"type\": \"object\"\n                              }\n                            ]\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {},\n                    \"meta\": {\n                      \"total\": 1\n                    },\n                    \"snapshots\": [\n                      {\n                        \"created_at\": \"2020-09-30T18:56:12Z\",\n                        \"id\": \"8eb4d51a-873f-11e6-96bf-000f53315a41\",\n                        \"min_disk_size\": 10,\n                        \"name\": \"big-data-snapshot1475261752\",\n                        \"regions\": [\n                          \"nyc1\"\n                        ],\n                        \"resource_id\": \"82a48a18-873f-11e6-96bf-000f53315a41\",\n                        \"resource_type\": \"volume\",\n                        \"size_gigabytes\": 0,\n                        \"tags\": null\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"You will get back a JSON object that has a `snapshots` key. This will be set to an array of snapshot objects, each of which contain the standard snapshot attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List Snapshots for a Volume\",\n        \"tags\": [\n          \"Block Storage\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes/82a48a18-873f-11e6-96bf-000f53315a41/snapshots?page=1&per_page=1\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opt := &godo.ListOptions{\\n        Page:    1,\\n        PerPage: 200,\\n    }\\n\\n    volumes, _, err := client.Storage.ListSnapshots(ctx, '82a48a18-873f-11e6-96bf-000f53315a41', opt)\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nsnapshots = client.volumes.snapshots(id: '82a48a18-873f-11e6-96bf-000f53315a41')\\nsnapshots.each\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a snapshot from a volume, sent a POST request to `/v2/volumes/$VOLUME_ID/snapshots`.\",\n        \"operationId\": \"volumeSnapshots_create\",\n        \"parameters\": [\n          {\n            \"description\": \"The ID of the block storage volume.\",\n            \"example\": \"7724db7c-e098-11e5-b522-000f53304e51\",\n            \"in\": \"path\",\n            \"name\": \"volume_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": {\n                \"name\": \"big-data-snapshot1475261774\"\n              },\n              \"schema\": {\n                \"properties\": {\n                  \"name\": {\n                    \"description\": \"A human-readable name for the volume snapshot.\",\n                    \"example\": \"big-data-snapshot1475261774\",\n                    \"type\": \"string\"\n                  },\n                  \"tags\": {\n                    \"description\": \"A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.\",\n                    \"example\": [\n                      \"base-image\",\n                      \"prod\"\n                    ],\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"nullable\": true,\n                    \"type\": \"array\"\n                  }\n                },\n                \"required\": [\n                  \"name\"\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"snapshot\": {\n                      \"created_at\": \"2020-09-30T18:56:14Z\",\n                      \"id\": \"8fa70202-873f-11e6-8b68-000f533176b1\",\n                      \"min_disk_size\": 10,\n                      \"name\": \"big-data-snapshot1475261774\",\n                      \"regions\": [\n                        \"nyc1\"\n                      ],\n                      \"resource_id\": \"82a48a18-873f-11e6-96bf-000f53315a41\",\n                      \"resource_type\": \"volume\",\n                      \"size_gigabytes\": 10,\n                      \"tags\": [\n                        \"aninterestingtag\"\n                      ]\n                    }\n                  },\n                  \"properties\": {\n                    \"snapshot\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"id\": {\n                              \"description\": \"The unique identifier for the snapshot.\",\n                              \"example\": \"6372321\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"required\": [\n                            \"id\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format that represents when the snapshot was created.\",\n                              \"example\": \"2020-07-28T16:47:44Z\",\n                              \"format\": \"date-time\",\n                              \"type\": \"string\"\n                            },\n                            \"min_disk_size\": {\n                              \"description\": \"The minimum size in GB required for a volume or Droplet to use this snapshot.\",\n                              \"example\": 25,\n                              \"type\": \"integer\"\n                            },\n                            \"name\": {\n                              \"description\": \"A human-readable name for the snapshot.\",\n                              \"example\": \"web-01-1595954862243\",\n                              \"type\": \"string\"\n                            },\n                            \"regions\": {\n                              \"description\": \"An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values.\",\n                              \"example\": [\n                                \"nyc3\",\n                                \"sfo3\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"type\": \"array\"\n                            },\n                            \"size_gigabytes\": {\n                              \"description\": \"The billable size of the snapshot in gigabytes.\",\n                              \"example\": 2.34,\n                              \"format\": \"float\",\n                              \"type\": \"number\"\n                            }\n                          },\n                          \"required\": [\n                            \"name\",\n                            \"created_at\",\n                            \"regions\",\n                            \"min_disk_size\",\n                            \"size_gigabytes\"\n                          ],\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"resource_id\": {\n                              \"description\": \"The unique identifier for the resource that the snapshot originated from.\",\n                              \"example\": \"200776916\",\n                              \"type\": \"string\"\n                            },\n                            \"resource_type\": {\n                              \"description\": \"The type of resource that the snapshot originated from.\",\n                              \"enum\": [\n                                \"droplet\",\n                                \"volume\"\n                              ],\n                              \"example\": \"droplet\",\n                              \"type\": \"string\"\n                            },\n                            \"tags\": {\n                              \"description\": \"An array of Tags the snapshot has been tagged with.\",\n                              \"example\": [\n                                \"web\",\n                                \"env:prod\"\n                              ],\n                              \"items\": {\n                                \"type\": \"string\"\n                              },\n                              \"nullable\": true,\n                              \"type\": \"array\"\n                            }\n                          },\n                          \"required\": [\n                            \"resource_id\",\n                            \"resource_type\",\n                            \"tags\"\n                          ],\n                          \"type\": \"object\"\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"You will get back a JSON object that has a `snapshot` key. This will contain the standard snapshot attributes\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"bad_request\",\n                  \"message\": \"error parsing request body\",\n                  \"request_id\": \"4851a473-1621-42ea-b2f9-5071c0ea8414\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Bad Request\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create Snapshot from a Volume\",\n        \"tags\": [\n          \"Block Storage\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"big-data-snapshot1475261774\\\", \\\"tags\\\":[\\\"aninterestingtag\\\"]}' \\\\\\n  \\\"https://api.digitalocean.com/v2/volumes/82a48a18-873f-11e6-96bf-000f53315a41/snapshots\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    snapshot, _, err := client.Storage.CreateSnapshot(ctx, &godo.SnapshotCreateRequest{\\n      VolumeID:    \\\"82a48a18-873f-11e6-96bf-000f53315a41\\\",\\n      Name:        \\\"my snapshot\\\",\\n      Description: \\\"my description\\\",\\n      Tags:        []string{\\\"one\\\", \\\"two\\\"},\\n    })\\n}\"\n          },\n          {\n            \"lang\": \"Ruby\",\n            \"source\": \"require 'droplet_kit'\\ntoken = ENV['DIGITALOCEAN_TOKEN']\\nclient = DropletKit::Client.new(access_token: token)\\n\\nclient.volumes.create_snapshot(id: \\\"82a48a18-873f-11e6-96bf-000f53315a41\\\", name: \\\"big-data-snapshot1475261774\\\")\"\n          }\n        ]\n      }\n    },\n    \"/v2/vpcs\": {\n      \"get\": {\n        \"description\": \"To list all of the VPCs on your account, send a GET request to `/v2/vpcs`.\",\n        \"operationId\": \"vpcs_list\",\n        \"parameters\": [\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"vpcs\": {\n                          \"items\": {\n                            \"allOf\": [\n                              {\n                                \"properties\": {\n                                  \"description\": {\n                                    \"description\": \"A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters.\",\n                                    \"example\": \"VPC for production environment\",\n                                    \"maxLength\": 255,\n                                    \"type\": \"string\"\n                                  },\n                                  \"name\": {\n                                    \"description\": \"The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods.\",\n                                    \"example\": \"env.prod-vpc\",\n                                    \"pattern\": \"^[a-zA-Z0-9\\\\-\\\\.]+$\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"ip_range\": {\n                                    \"description\": \"The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account.\",\n                                    \"example\": \"10.10.10.0/24\",\n                                    \"type\": \"string\"\n                                  },\n                                  \"region\": {\n                                    \"description\": \"The slug identifier for the region where the VPC will be created.\",\n                                    \"example\": \"nyc1\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"default\": {\n                                    \"description\": \"A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined.\",\n                                    \"example\": true,\n                                    \"type\": \"boolean\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              },\n                              {\n                                \"properties\": {\n                                  \"created_at\": {\n                                    \"description\": \"A time value given in ISO8601 combined date and time format.\",\n                                    \"example\": \"2020-03-13T19:20:47.442049222Z\",\n                                    \"format\": \"date-time\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"id\": {\n                                    \"description\": \"A unique ID that can be used to identify and reference the VPC.\",\n                                    \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                                    \"format\": \"uuid\",\n                                    \"readOnly\": true,\n                                    \"type\": \"string\"\n                                  },\n                                  \"urn\": {\n                                    \"description\": \"The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.\",\n                                    \"example\": \"do:droplet:13457723\",\n                                    \"pattern\": \"^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*\",\n                                    \"type\": \"string\"\n                                  }\n                                },\n                                \"type\": \"object\"\n                              }\n                            ],\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {},\n                    \"meta\": {\n                      \"total\": 3\n                    },\n                    \"vpcs\": [\n                      {\n                        \"created_at\": \"2020-03-13T19:20:47.442049222Z\",\n                        \"default\": false,\n                        \"description\": \"VPC for production environment\",\n                        \"id\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                        \"ip_range\": \"10.10.10.0/24\",\n                        \"name\": \"env.prod-vpc\",\n                        \"region\": \"nyc1\",\n                        \"urn\": \"do:vpc:5a4981aa-9653-4bd1-bef5-d6bff52042e4\"\n                      },\n                      {\n                        \"created_at\": \"2020-03-13T19:29:20Z\",\n                        \"default\": true,\n                        \"description\": \"\",\n                        \"id\": \"e0fe0f4d-596a-465e-a902-571ce57b79fa\",\n                        \"ip_range\": \"10.102.0.0/20\",\n                        \"name\": \"default-nyc1\",\n                        \"region\": \"nyc1\",\n                        \"urn\": \"do:vpc:e0fe0f4d-596a-465e-a902-571ce57b79fa\"\n                      },\n                      {\n                        \"created_at\": \"2019-11-19T22:19:35Z\",\n                        \"default\": true,\n                        \"description\": \"\",\n                        \"id\": \"d455e75d-4858-4eec-8c95-da2f0a5f93a7\",\n                        \"ip_range\": \"10.100.0.0/20\",\n                        \"name\": \"default-nyc3\",\n                        \"region\": \"nyc3\",\n                        \"urn\": \"do:vpc:d455e75d-4858-4eec-8c95-da2f0a5f93a7\"\n                      }\n                    ]\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `vpcs`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List All VPCs\",\n        \"tags\": [\n          \"VPCs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/vpcs\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    opts := &godo.ListOptions{\\n     Page:    1,\\n     PerPage: 200,\\n    }\\n\\n    vpcs, _, err := client.VPCs.List(ctx, opts)\\n}\"\n          }\n        ]\n      },\n      \"post\": {\n        \"description\": \"To create a VPC, send a POST request to `/v2/vpcs` specifying the attributes\\nin the table below in the JSON body.\\n\\n**Note:** If you do not currently have a VPC network in a specific datacenter\\nregion, the first one that you create will be set as the default for that\\nregion. The default VPC for a region cannot be changed or deleted.\\n\",\n        \"operationId\": \"vpcs_create\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"description\": {\n                        \"description\": \"A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters.\",\n                        \"example\": \"VPC for production environment\",\n                        \"maxLength\": 255,\n                        \"type\": \"string\"\n                      },\n                      \"name\": {\n                        \"description\": \"The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods.\",\n                        \"example\": \"env.prod-vpc\",\n                        \"pattern\": \"^[a-zA-Z0-9\\\\-\\\\.]+$\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"properties\": {\n                      \"ip_range\": {\n                        \"description\": \"The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account.\",\n                        \"example\": \"10.10.10.0/24\",\n                        \"type\": \"string\"\n                      },\n                      \"region\": {\n                        \"description\": \"The slug identifier for the region where the VPC will be created.\",\n                        \"example\": \"nyc1\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  }\n                ],\n                \"required\": [\n                  \"name\",\n                  \"region\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"201\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"vpc\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"description\": {\n                              \"description\": \"A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters.\",\n                              \"example\": \"VPC for production environment\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods.\",\n                              \"example\": \"env.prod-vpc\",\n                              \"pattern\": \"^[a-zA-Z0-9\\\\-\\\\.]+$\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"ip_range\": {\n                              \"description\": \"The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account.\",\n                              \"example\": \"10.10.10.0/24\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"The slug identifier for the region where the VPC will be created.\",\n                              \"example\": \"nyc1\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"default\": {\n                              \"description\": \"A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format.\",\n                              \"example\": \"2020-03-13T19:20:47.442049222Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference the VPC.\",\n                              \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"urn\": {\n                              \"description\": \"The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.\",\n                              \"example\": \"do:droplet:13457723\",\n                              \"pattern\": \"^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `vpc`. The value of this will be an object that contains the standard attributes associated with a VPC.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Create a New VPC\",\n        \"tags\": [\n          \"VPCs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"my-new-vpc\\\", \\\"region\\\":\\\"nyc1\\\", \\\"ip_range\\\": \\\"10.10.10.0/24\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/vpcs\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    createRequest := &godo.VPCCreateRequest{\\n     Name:       \\\"my-new-vpc\\\",\\n     RegionSlug: \\\"nyc1\\\",\\n     IPRange:    \\\"10.10.10.0/24\\\",\\n    }\\n\\n    vpc, _, err := client.VPCs.Create(ctx, createRequest)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/vpcs/{vpc_id}\": {\n      \"delete\": {\n        \"description\": \"To delete a VPC, send a DELETE request to `/v2/vpcs/$VPC_ID`. A 204 status\\ncode with no body will be returned in response to a successful request.\\n\\nThe default VPC for a region can not be deleted. Additionally, a VPC can only\\nbe deleted if it does not contain any member resources. Attempting to delete\\na region's default VPC or a VPC that still has members will result in a\\n403 Forbidden error response.\\n\",\n        \"operationId\": \"vpcs_delete\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a VPC.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"vpc_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"The action was successful and the response body is empty.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Delete a VPC\",\n        \"tags\": [\n          \"VPCs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X DELETE \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/vpcs/e0fe0f4d-596a-465e-a902-571ce57b79fa\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    resp, err := client.VPCs.Delete(ctx, \\\"5a4981aa-9653-4bd1-bef5-d6bff52042e4\\\")\\n}\"\n          }\n        ]\n      },\n      \"get\": {\n        \"description\": \"To show information about an existing VPC, send a GET request to `/v2/vpcs/$VPC_ID`.\",\n        \"operationId\": \"vpcs_get\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a VPC.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"vpc_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"vpc\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"description\": {\n                              \"description\": \"A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters.\",\n                              \"example\": \"VPC for production environment\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods.\",\n                              \"example\": \"env.prod-vpc\",\n                              \"pattern\": \"^[a-zA-Z0-9\\\\-\\\\.]+$\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"ip_range\": {\n                              \"description\": \"The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account.\",\n                              \"example\": \"10.10.10.0/24\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"The slug identifier for the region where the VPC will be created.\",\n                              \"example\": \"nyc1\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"default\": {\n                              \"description\": \"A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format.\",\n                              \"example\": \"2020-03-13T19:20:47.442049222Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference the VPC.\",\n                              \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"urn\": {\n                              \"description\": \"The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.\",\n                              \"example\": \"do:droplet:13457723\",\n                              \"pattern\": \"^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `vpc`. The value of this will be an object that contains the standard attributes associated with a VPC.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Retrieve an Existing VPC\",\n        \"tags\": [\n          \"VPCs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/vpcs/5a4981aa-9653-4bd1-bef5-d6bff52042e4\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    vpc, _, err := client.VPCs.Get(ctx, \\\"5a4981aa-9653-4bd1-bef5-d6bff52042e4\\\")\\n}\"\n          }\n        ]\n      },\n      \"patch\": {\n        \"description\": \"To update a subset of information about a VPC, send a PATCH request to\\n`/v2/vpcs/$VPC_ID`.\\n\",\n        \"operationId\": \"vpcs_patch\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a VPC.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"vpc_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"description\": {\n                        \"description\": \"A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters.\",\n                        \"example\": \"VPC for production environment\",\n                        \"maxLength\": 255,\n                        \"type\": \"string\"\n                      },\n                      \"name\": {\n                        \"description\": \"The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods.\",\n                        \"example\": \"env.prod-vpc\",\n                        \"pattern\": \"^[a-zA-Z0-9\\\\-\\\\.]+$\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"properties\": {\n                      \"default\": {\n                        \"description\": \"A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined.\",\n                        \"example\": true,\n                        \"type\": \"boolean\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  }\n                ]\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"vpc\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"description\": {\n                              \"description\": \"A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters.\",\n                              \"example\": \"VPC for production environment\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods.\",\n                              \"example\": \"env.prod-vpc\",\n                              \"pattern\": \"^[a-zA-Z0-9\\\\-\\\\.]+$\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"ip_range\": {\n                              \"description\": \"The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account.\",\n                              \"example\": \"10.10.10.0/24\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"The slug identifier for the region where the VPC will be created.\",\n                              \"example\": \"nyc1\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"default\": {\n                              \"description\": \"A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format.\",\n                              \"example\": \"2020-03-13T19:20:47.442049222Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference the VPC.\",\n                              \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"urn\": {\n                              \"description\": \"The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.\",\n                              \"example\": \"do:droplet:13457723\",\n                              \"pattern\": \"^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `vpc`. The value of this will be an object that contains the standard attributes associated with a VPC.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Partially Update a VPC\",\n        \"tags\": [\n          \"VPCs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PATCH \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"description\\\": \\\"An updated description\\\"}' \\\\\\n  \\\"https://api.digitalocean.com/v2/vpcs/5a4981aa-9653-4bd1-bef5-d6bff52042e4\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    vpcDesc := \\\"An updated description\\\"\\n    _, _, err := client.VPCs.Set(ctx, \\\"5a4981aa-9653-4bd1-bef5-d6bff52042e4\\\", godo.VPCSetDescription(vpcDesc))\\n}\"\n          }\n        ]\n      },\n      \"put\": {\n        \"description\": \"To update information about a VPC, send a PUT request to `/v2/vpcs/$VPC_ID`.\\n\",\n        \"operationId\": \"vpcs_update\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a VPC.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"vpc_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"allOf\": [\n                  {\n                    \"properties\": {\n                      \"description\": {\n                        \"description\": \"A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters.\",\n                        \"example\": \"VPC for production environment\",\n                        \"maxLength\": 255,\n                        \"type\": \"string\"\n                      },\n                      \"name\": {\n                        \"description\": \"The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods.\",\n                        \"example\": \"env.prod-vpc\",\n                        \"pattern\": \"^[a-zA-Z0-9\\\\-\\\\.]+$\",\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  },\n                  {\n                    \"properties\": {\n                      \"default\": {\n                        \"description\": \"A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined.\",\n                        \"example\": true,\n                        \"type\": \"boolean\"\n                      }\n                    },\n                    \"type\": \"object\"\n                  }\n                ],\n                \"required\": [\n                  \"name\"\n                ],\n                \"type\": \"object\"\n              }\n            }\n          },\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"properties\": {\n                    \"vpc\": {\n                      \"allOf\": [\n                        {\n                          \"properties\": {\n                            \"description\": {\n                              \"description\": \"A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters.\",\n                              \"example\": \"VPC for production environment\",\n                              \"maxLength\": 255,\n                              \"type\": \"string\"\n                            },\n                            \"name\": {\n                              \"description\": \"The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods.\",\n                              \"example\": \"env.prod-vpc\",\n                              \"pattern\": \"^[a-zA-Z0-9\\\\-\\\\.]+$\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"ip_range\": {\n                              \"description\": \"The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account.\",\n                              \"example\": \"10.10.10.0/24\",\n                              \"type\": \"string\"\n                            },\n                            \"region\": {\n                              \"description\": \"The slug identifier for the region where the VPC will be created.\",\n                              \"example\": \"nyc1\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"default\": {\n                              \"description\": \"A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined.\",\n                              \"example\": true,\n                              \"type\": \"boolean\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        },\n                        {\n                          \"properties\": {\n                            \"created_at\": {\n                              \"description\": \"A time value given in ISO8601 combined date and time format.\",\n                              \"example\": \"2020-03-13T19:20:47.442049222Z\",\n                              \"format\": \"date-time\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"id\": {\n                              \"description\": \"A unique ID that can be used to identify and reference the VPC.\",\n                              \"example\": \"5a4981aa-9653-4bd1-bef5-d6bff52042e4\",\n                              \"format\": \"uuid\",\n                              \"readOnly\": true,\n                              \"type\": \"string\"\n                            },\n                            \"urn\": {\n                              \"description\": \"The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.\",\n                              \"example\": \"do:droplet:13457723\",\n                              \"pattern\": \"^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*\",\n                              \"type\": \"string\"\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      ],\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called `vpc`. The value of this will be an object that contains the standard attributes associated with a VPC.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"Update a VPC\",\n        \"tags\": [\n          \"VPCs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X PUT \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  -d '{\\\"name\\\":\\\"renamed-new-vpc\\\", \\\"description\\\": \\\"A new description\\\", \\\"default\\\": true}' \\\\\\n  \\\"https://api.digitalocean.com/v2/vpcs/5a4981aa-9653-4bd1-bef5-d6bff52042e4\\\"\"\n          },\n          {\n            \"lang\": \"Go\",\n            \"source\": \"import (\\n    \\\"context\\\"\\n    \\\"os\\\"\\n\\n    \\\"github.com/digitalocean/godo\\\"\\n)\\n\\nfunc main() {\\n    token := os.Getenv(\\\"DIGITALOCEAN_TOKEN\\\")\\n\\n    client := godo.NewFromToken(token)\\n    ctx := context.TODO()\\n\\n    updateRequest := &godo.VPCUpdateRequest{\\n     Name:        \\\"renamed-new-vpc\\\",\\n     Description: \\\"A new description\\\",\\n    }\\n\\n    _, _, err := client.VPCs.Update(ctx, \\\"5a4981aa-9653-4bd1-bef5-d6bff52042e4\\\", updateRequest)\\n}\"\n          }\n        ]\n      }\n    },\n    \"/v2/vpcs/{vpc_id}/members\": {\n      \"get\": {\n        \"description\": \"To list all of the resources that are members of a VPC, send a GET request to\\n`/v2/vpcs/$VPC_ID/members`.\\n\\nTo only list resources of a specific type that are members of the VPC,\\nincluded a `resource_type` query parameter. For example, to only list Droplets\\nin the VPC, send a GET request to `/v2/vpcs/$VPC_ID/members?resource_type=droplet`.\\n\",\n        \"operationId\": \"vpcs_list_members\",\n        \"parameters\": [\n          {\n            \"description\": \"A unique identifier for a VPC.\",\n            \"example\": \"4de7ac8b-495b-4884-9a69-1050c6793cd6\",\n            \"in\": \"path\",\n            \"name\": \"vpc_id\",\n            \"required\": true,\n            \"schema\": {\n              \"format\": \"uuid\",\n              \"minimum\": 1,\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Used to filter VPC members by a resource type.\",\n            \"example\": \"droplet\",\n            \"in\": \"query\",\n            \"name\": \"resource_type\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Number of items returned per page\",\n            \"example\": 2,\n            \"in\": \"query\",\n            \"name\": \"per_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 20,\n              \"maximum\": 200,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Which 'page' of paginated results to return.\",\n            \"example\": 1,\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": 1,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"allOf\": [\n                    {\n                      \"properties\": {\n                        \"members\": {\n                          \"items\": {\n                            \"properties\": {\n                              \"created_at\": {\n                                \"description\": \"A time value given in ISO8601 combined date and time format that represents when the resource was created.\",\n                                \"example\": \"2020-03-13T19:30:48Z\",\n                                \"type\": \"string\"\n                              },\n                              \"name\": {\n                                \"description\": \"The name of the resource.\",\n                                \"example\": \"nyc1-load-balancer-01\",\n                                \"type\": \"string\"\n                              },\n                              \"urn\": {\n                                \"description\": \"The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.\",\n                                \"example\": \"do:droplet:13457723\",\n                                \"pattern\": \"^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*\",\n                                \"type\": \"string\"\n                              }\n                            },\n                            \"type\": \"object\"\n                          },\n                          \"type\": \"array\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"links\": {\n                          \"properties\": {\n                            \"pages\": {\n                              \"anyOf\": [\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"last\": {\n                                          \"description\": \"URI of the last page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"next\": {\n                                          \"description\": \"URI of the next page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=2\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"allOf\": [\n                                    {\n                                      \"properties\": {\n                                        \"first\": {\n                                          \"description\": \"URI of the first page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    },\n                                    {\n                                      \"properties\": {\n                                        \"prev\": {\n                                          \"description\": \"URI of the previous page of the results.\",\n                                          \"example\": \"https://api.digitalocean.com/v2/images?page=1\",\n                                          \"type\": \"string\"\n                                        }\n                                      },\n                                      \"type\": \"object\"\n                                    }\n                                  ]\n                                },\n                                {}\n                              ],\n                              \"example\": {\n                                \"pages\": {\n                                  \"first\": \"https://api.digitalocean.com/v2/account/keys?page=1\",\n                                  \"prev\": \"https://api.digitalocean.com/v2/account/keys?page=2\"\n                                }\n                              }\n                            }\n                          },\n                          \"type\": \"object\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    },\n                    {\n                      \"properties\": {\n                        \"meta\": {\n                          \"allOf\": [\n                            {\n                              \"description\": \"Information about the response itself.\",\n                              \"properties\": {\n                                \"total\": {\n                                  \"description\": \"Number of objects returned by the request.\",\n                                  \"example\": 1,\n                                  \"type\": \"integer\"\n                                }\n                              },\n                              \"type\": \"object\"\n                            },\n                            {\n                              \"required\": [\n                                \"total\"\n                              ]\n                            }\n                          ]\n                        }\n                      },\n                      \"required\": [\n                        \"meta\"\n                      ],\n                      \"type\": \"object\"\n                    }\n                  ],\n                  \"example\": {\n                    \"links\": {},\n                    \"members\": [\n                      {\n                        \"created_at\": \"2020-03-13T19:30:48Z\",\n                        \"name\": \"nyc1-load-balancer-01\",\n                        \"urn\": \"do:loadbalancer:fb294d78-d193-4cb2-8737-ea620993591b\"\n                      },\n                      {\n                        \"created_at\": \"2020-03-13T19:30:18Z\",\n                        \"name\": \"db-postgresql-nyc1-55986\",\n                        \"urn\": \"do:dbaas:13f7a2f6-43df-4c4a-8129-8733267ddeea\"\n                      },\n                      {\n                        \"created_at\": \"2020-03-13T19:30:16Z\",\n                        \"name\": \"k8s-nyc1-1584127772221\",\n                        \"urn\": \"do:kubernetes:da39d893-96e1-4e4d-971d-1fdda33a46b1\"\n                      },\n                      {\n                        \"created_at\": \"2020-03-13T19:29:20Z\",\n                        \"name\": \"ubuntu-s-1vcpu-1gb-nyc1-01\",\n                        \"urn\": \"do:droplet:86e29982-03a7-4946-8a07-a0114dff8754\"\n                      }\n                    ],\n                    \"meta\": {\n                      \"total\": 4\n                    }\n                  }\n                }\n              }\n            },\n            \"description\": \"The response will be a JSON object with a key called members. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC member.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"unauthorized\",\n                  \"message\": \"Unable to authenticate you.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unauthorized\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"not_found\",\n                  \"message\": \"The resource you requested could not be found.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"The resource was not found.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"too_many_requests\",\n                  \"message\": \"API Rate limit exceeded.\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"API Rate limit exceeded\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"server_error\",\n                  \"message\": \"Unexpected server-side error\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Server error.\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"content\": {\n              \"application/json\": {\n                \"example\": {\n                  \"id\": \"example_error\",\n                  \"message\": \"some error message\"\n                },\n                \"schema\": {\n                  \"properties\": {\n                    \"id\": {\n                      \"description\": \"A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \\\"not_found.\\\"\",\n                      \"example\": \"not_found\",\n                      \"type\": \"string\"\n                    },\n                    \"message\": {\n                      \"description\": \"A message providing additional information about the error, including  details to help resolve it when possible.\",\n                      \"example\": \"The resource you were accessing could not be found.\",\n                      \"type\": \"string\"\n                    },\n                    \"request_id\": {\n                      \"description\": \"Optionally, some endpoints may include a request ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.\",\n                      \"example\": \"4d9d8375-3c56-4925-a3e7-eb137fed17e9\",\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"required\": [\n                    \"id\",\n                    \"message\"\n                  ],\n                  \"type\": \"object\"\n                }\n              }\n            },\n            \"description\": \"Unexpected error\",\n            \"headers\": {\n              \"ratelimit-limit\": {\n                \"description\": \"The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute.\",\n                \"example\": 5000,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-remaining\": {\n                \"description\": \"The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 4816,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              },\n              \"ratelimit-reset\": {\n                \"description\": \"The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.\",\n                \"example\": 1444931833,\n                \"schema\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"bearer_auth\": []\n          }\n        ],\n        \"summary\": \"List the Member Resources of a VPC\",\n        \"tags\": [\n          \"VPCs\"\n        ],\n        \"x-codeSamples\": [\n          {\n            \"lang\": \"cURL\",\n            \"source\": \"curl -X GET \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\\\\n  \\\"https://api.digitalocean.com/v2/vpcs/5a4981aa-9653-4bd1-bef5-d6bff52042e4/members\\\"\"\n          }\n        ]\n      }\n    }\n  },\n  \"components\": {\n    \"securitySchemes\": {\n      \"bearer_auth\": {\n        \"description\": \"## OAuth Authentication\\n\\nIn order to interact with the DigitalOcean API, you or your application must\\nauthenticate.\\n\\nThe DigitalOcean API handles this through OAuth, an open standard for\\nauthorization. OAuth allows you to delegate access to your account in full\\nor in read-only mode.\\n\\nYou can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens)\\nsection of the DigitalOcean control panel for your account.\\n\\nAn OAuth token functions as a complete authentication request. In effect, it\\nacts as a substitute for a username and password pair.\\n\\nBecause of this, it is absolutely **essential** that you keep your OAuth\\ntokens secure. In fact, upon generation, the web interface will only display\\neach token a single time in order to prevent the token from being compromised.\\n\\nDigitalOcean access tokens begin with an identifiable prefix in order to\\ndistinguish them from other similar tokens.\\n\\n- `dop_v1_` for personal access tokens generated in the control panel\\n- `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/)\\n- `dor_v1_` for OAuth refresh tokens\\n\\n### How to Authenticate with OAuth\\n\\nIn order to make an authenticated request, include a bearer-type\\n`Authorization` header containing your OAuth token. All requests must be\\nmade over HTTPS.\\n\\n### Authenticate with a Bearer Authorization Header\\n\\n```\\ncurl -X $HTTP_METHOD -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\"https://api.digitalocean.com/v2/$OBJECT\\\"\\n```\\n\",\n        \"scheme\": \"bearer\",\n        \"type\": \"http\"\n      }\n    }\n  }\n}"},{"id":"google-gmail","domain":"gmail.googleapis.com","openapi":"{\n  \"openapi\": \"3.0.0\",\n  \"servers\": [\n    {\n      \"url\": \"https://gmail.googleapis.com/\"\n    }\n  ],\n  \"x-hasEquivalentPaths\": true,\n  \"info\": {\n    \"contact\": {\n      \"name\": \"Google\",\n      \"url\": \"https://google.com\",\n      \"x-twitter\": \"youtube\"\n    },\n    \"description\": \"The Gmail API lets you view and manage Gmail mailbox data like threads, messages, and labels.\",\n    \"license\": {\n      \"name\": \"Creative Commons Attribution 3.0\",\n      \"url\": \"http://creativecommons.org/licenses/by/3.0/\"\n    },\n    \"termsOfService\": \"https://developers.google.com/terms/\",\n    \"title\": \"Gmail API\",\n    \"version\": \"v1\",\n    \"x-apiClientRegistration\": {\n      \"url\": \"https://console.developers.google.com\"\n    },\n    \"x-apisguru-categories\": [\n      \"analytics\",\n      \"media\"\n    ],\n    \"x-logo\": {\n      \"url\": \"https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png\"\n    },\n    \"x-origin\": [\n      {\n        \"format\": \"google\",\n        \"url\": \"https://gmail.googleapis.com/$discovery/rest?version=v1\",\n        \"version\": \"v1\"\n      }\n    ],\n    \"x-providerName\": \"googleapis.com\",\n    \"x-serviceName\": \"gmail\"\n  },\n  \"externalDocs\": {\n    \"url\": \"https://developers.google.com/gmail/api/\"\n  },\n  \"tags\": [\n    {\n      \"name\": \"users\"\n    }\n  ],\n  \"paths\": {\n    \"/gmail/v1/users/{userId}/drafts\": {\n      \"get\": {\n        \"description\": \"Lists the drafts in the user's mailbox.\",\n        \"operationId\": \"gmail.users.drafts.list\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Include drafts from `SPAM` and `TRASH` in the results.\",\n            \"in\": \"query\",\n            \"name\": \"includeSpamTrash\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"description\": \"Maximum number of drafts to return. This field defaults to 100. The maximum allowed value for this field is 500.\",\n            \"in\": \"query\",\n            \"name\": \"maxResults\",\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Page token to retrieve a specific page of results in the list.\",\n            \"in\": \"query\",\n            \"name\": \"pageToken\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Only return draft messages matching the specified query. Supports the same query format as the Gmail search box. For example, `\\\"from:someuser@example.com rfc822msgid: is:unread\\\"`.\",\n            \"in\": \"query\",\n            \"name\": \"q\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListDraftsResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Creates a new draft with the `DRAFT` label.\",\n        \"operationId\": \"gmail.users.drafts.create\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"message/cpim\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/delivery-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/disposition-notification\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/external-body\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/feedback-report\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/global\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/global-delivery-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/global-disposition-notification\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/global-headers\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/http\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/imdn+xml\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/news\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/partial\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/rfc822\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/s-http\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/sip\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/sipfrag\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/tracking-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/vnd.si.simp\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/vnd.wfa.wsc\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Draft\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.action.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.action.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/drafts/send\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Sends the specified, existing draft to the recipients in the `To`, `Cc`, and `Bcc` headers.\",\n        \"operationId\": \"gmail.users.drafts.send\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"message/cpim\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/delivery-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/disposition-notification\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/external-body\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/feedback-report\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/global\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/global-delivery-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/global-disposition-notification\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/global-headers\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/http\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/imdn+xml\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/news\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/partial\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/rfc822\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/s-http\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/sip\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/sipfrag\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/tracking-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/vnd.si.simp\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/vnd.wfa.wsc\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Message\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.action.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.action.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/drafts/{id}\": {\n      \"delete\": {\n        \"description\": \"Immediately and permanently deletes the specified draft. Does not simply trash it.\",\n        \"operationId\": \"gmail.users.drafts.delete\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the draft to delete.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.action.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.action.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"get\": {\n        \"description\": \"Gets the specified draft.\",\n        \"operationId\": \"gmail.users.drafts.get\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the draft to retrieve.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The format to return the draft in.\",\n            \"in\": \"query\",\n            \"name\": \"format\",\n            \"schema\": {\n              \"enum\": [\n                \"minimal\",\n                \"full\",\n                \"raw\",\n                \"metadata\"\n              ],\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Draft\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"put\": {\n        \"description\": \"Replaces a draft's content.\",\n        \"operationId\": \"gmail.users.drafts.update\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the draft to update.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"message/cpim\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/delivery-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/disposition-notification\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/external-body\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/feedback-report\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/global\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/global-delivery-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/global-disposition-notification\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/global-headers\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/http\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/imdn+xml\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/news\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/partial\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/rfc822\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/s-http\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/sip\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/sipfrag\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/tracking-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/vnd.si.simp\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            },\n            \"message/vnd.wfa.wsc\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Draft\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Draft\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.action.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.action.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/history\": {\n      \"get\": {\n        \"description\": \"Lists the history of all changes to the given mailbox. History results are returned in chronological order (increasing `historyId`).\",\n        \"operationId\": \"gmail.users.history.list\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"History types to be returned by the function\",\n            \"explode\": true,\n            \"in\": \"query\",\n            \"name\": \"historyTypes\",\n            \"schema\": {\n              \"items\": {\n                \"enum\": [\n                  \"messageAdded\",\n                  \"messageDeleted\",\n                  \"labelAdded\",\n                  \"labelRemoved\"\n                ],\n                \"type\": \"string\"\n              },\n              \"type\": \"array\"\n            },\n            \"style\": \"form\"\n          },\n          {\n            \"description\": \"Only return messages with a label matching the ID.\",\n            \"in\": \"query\",\n            \"name\": \"labelId\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Maximum number of history records to return. This field defaults to 100. The maximum allowed value for this field is 500.\",\n            \"in\": \"query\",\n            \"name\": \"maxResults\",\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Page token to retrieve a specific page of results in the list.\",\n            \"in\": \"query\",\n            \"name\": \"pageToken\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Required. Returns history records after the specified `startHistoryId`. The supplied `startHistoryId` should be obtained from the `historyId` of a message, thread, or previous `list` response. History IDs increase chronologically but are not contiguous with random gaps in between valid IDs. Supplying an invalid or out of date `startHistoryId` typically returns an `HTTP 404` error code. A `historyId` is typically valid for at least a week, but in some rare circumstances may be valid for only a few hours. If you receive an `HTTP 404` error response, your application should perform a full sync. If you receive no `nextPageToken` in the response, there are no updates to retrieve and you can store the returned `historyId` for a future request.\",\n            \"in\": \"query\",\n            \"name\": \"startHistoryId\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListHistoryResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ]\n    },\n    \"/gmail/v1/users/{userId}/labels\": {\n      \"get\": {\n        \"description\": \"Lists all labels in the user's mailbox.\",\n        \"operationId\": \"gmail.users.labels.list\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListLabelsResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.labels\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.labels\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Creates a new label.\",\n        \"operationId\": \"gmail.users.labels.create\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Label\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Label\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.labels\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.labels\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/labels/{id}\": {\n      \"delete\": {\n        \"description\": \"Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to.\",\n        \"operationId\": \"gmail.users.labels.delete\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the label to delete.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.labels\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.labels\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"get\": {\n        \"description\": \"Gets the specified label.\",\n        \"operationId\": \"gmail.users.labels.get\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the label to retrieve.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Label\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.labels\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.labels\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"patch\": {\n        \"description\": \"Patch the specified label.\",\n        \"operationId\": \"gmail.users.labels.patch\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the label to update.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Label\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Label\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.labels\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.labels\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"put\": {\n        \"description\": \"Updates the specified label.\",\n        \"operationId\": \"gmail.users.labels.update\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the label to update.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Label\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Label\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.labels\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.labels\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/messages\": {\n      \"get\": {\n        \"description\": \"Lists the messages in the user's mailbox.\",\n        \"operationId\": \"gmail.users.messages.list\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Include messages from `SPAM` and `TRASH` in the results.\",\n            \"in\": \"query\",\n            \"name\": \"includeSpamTrash\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"description\": \"Only return messages with labels that match all of the specified label IDs. Messages in a thread might have labels that other messages in the same thread don't have. To learn more, see [Manage labels on messages and threads](https://developers.google.com/gmail/api/guides/labels#manage_labels_on_messages_threads).\",\n            \"explode\": true,\n            \"in\": \"query\",\n            \"name\": \"labelIds\",\n            \"schema\": {\n              \"items\": {\n                \"type\": \"string\"\n              },\n              \"type\": \"array\"\n            },\n            \"style\": \"form\"\n          },\n          {\n            \"description\": \"Maximum number of messages to return. This field defaults to 100. The maximum allowed value for this field is 500.\",\n            \"in\": \"query\",\n            \"name\": \"maxResults\",\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Page token to retrieve a specific page of results in the list.\",\n            \"in\": \"query\",\n            \"name\": \"pageToken\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Only return messages matching the specified query. Supports the same query format as the Gmail search box. For example, `\\\"from:someuser@example.com rfc822msgid: is:unread\\\"`. Parameter cannot be used when accessing the api using the gmail.metadata scope.\",\n            \"in\": \"query\",\n            \"name\": \"q\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListMessagesResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Directly inserts a message into only this user's mailbox similar to `IMAP APPEND`, bypassing most scanning and classification. Does not send a message.\",\n        \"operationId\": \"gmail.users.messages.insert\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Mark the email as permanently deleted (not TRASH) and only visible in Google Vault to a Vault administrator. Only used for Google Workspace accounts.\",\n            \"in\": \"query\",\n            \"name\": \"deleted\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"description\": \"Source for Gmail's internal date of the message.\",\n            \"in\": \"query\",\n            \"name\": \"internalDateSource\",\n            \"schema\": {\n              \"enum\": [\n                \"receivedTime\",\n                \"dateHeader\"\n              ],\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"message/cpim\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/delivery-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/disposition-notification\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/external-body\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/feedback-report\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/global\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/global-delivery-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/global-disposition-notification\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/global-headers\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/http\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/imdn+xml\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/news\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/partial\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/rfc822\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/s-http\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/sip\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/sipfrag\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/tracking-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/vnd.si.simp\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/vnd.wfa.wsc\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Message\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.insert\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.insert\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/messages/batchDelete\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all.\",\n        \"operationId\": \"gmail.users.messages.batchDelete\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/BatchDeleteMessagesRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/messages/batchModify\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Modifies the labels on the specified messages.\",\n        \"operationId\": \"gmail.users.messages.batchModify\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/BatchModifyMessagesRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/messages/import\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP. This method doesn't perform SPF checks, so it might not work for some spam messages, such as those attempting to perform domain spoofing. This method does not send a message. Note: This function doesn't trigger forwarding rules or filters set up by the user.\",\n        \"operationId\": \"gmail.users.messages.import\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Mark the email as permanently deleted (not TRASH) and only visible in Google Vault to a Vault administrator. Only used for Google Workspace accounts.\",\n            \"in\": \"query\",\n            \"name\": \"deleted\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"description\": \"Source for Gmail's internal date of the message.\",\n            \"in\": \"query\",\n            \"name\": \"internalDateSource\",\n            \"schema\": {\n              \"enum\": [\n                \"receivedTime\",\n                \"dateHeader\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Ignore the Gmail spam classifier decision and never mark this email as SPAM in the mailbox.\",\n            \"in\": \"query\",\n            \"name\": \"neverMarkSpam\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"description\": \"Process calendar invites in the email and add any extracted meetings to the Google Calendar for this user.\",\n            \"in\": \"query\",\n            \"name\": \"processForCalendar\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"message/cpim\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/delivery-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/disposition-notification\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/external-body\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/feedback-report\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/global\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/global-delivery-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/global-disposition-notification\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/global-headers\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/http\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/imdn+xml\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/news\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/partial\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/rfc822\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/s-http\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/sip\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/sipfrag\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/tracking-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/vnd.si.simp\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/vnd.wfa.wsc\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Message\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.insert\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.insert\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/messages/send\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc` headers. For example usage, see [Sending email](https://developers.google.com/gmail/api/guides/sending).\",\n        \"operationId\": \"gmail.users.messages.send\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"message/cpim\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/delivery-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/disposition-notification\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/external-body\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/feedback-report\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/global\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/global-delivery-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/global-disposition-notification\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/global-headers\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/http\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/imdn+xml\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/news\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/partial\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/rfc822\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/s-http\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/sip\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/sipfrag\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/tracking-status\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/vnd.si.simp\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            },\n            \"message/vnd.wfa.wsc\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Message\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Message\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.action.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.action.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.send\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.send\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/messages/{id}\": {\n      \"delete\": {\n        \"description\": \"Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer `messages.trash` instead.\",\n        \"operationId\": \"gmail.users.messages.delete\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the message to delete.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"get\": {\n        \"description\": \"Gets the specified message.\",\n        \"operationId\": \"gmail.users.messages.get\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the message to retrieve. This ID is usually retrieved using `messages.list`. The ID is also contained in the result when a message is inserted (`messages.insert`) or imported (`messages.import`).\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The format to return the message in.\",\n            \"in\": \"query\",\n            \"name\": \"format\",\n            \"schema\": {\n              \"enum\": [\n                \"minimal\",\n                \"full\",\n                \"raw\",\n                \"metadata\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"When given and format is `METADATA`, only include headers specified.\",\n            \"explode\": true,\n            \"in\": \"query\",\n            \"name\": \"metadataHeaders\",\n            \"schema\": {\n              \"items\": {\n                \"type\": \"string\"\n              },\n              \"type\": \"array\"\n            },\n            \"style\": \"form\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Message\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.action\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.action\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.metadata\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.metadata\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ]\n    },\n    \"/gmail/v1/users/{userId}/messages/{id}/modify\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Modifies the labels on the specified message.\",\n        \"operationId\": \"gmail.users.messages.modify\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the message to modify.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ModifyMessageRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Message\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/messages/{id}/trash\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Moves the specified message to the trash.\",\n        \"operationId\": \"gmail.users.messages.trash\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the message to Trash.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Message\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/messages/{id}/untrash\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Removes the specified message from the trash.\",\n        \"operationId\": \"gmail.users.messages.untrash\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the message to remove from Trash.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Message\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/messages/{messageId}/attachments/{id}\": {\n      \"get\": {\n        \"description\": \"Gets the specified message attachment.\",\n        \"operationId\": \"gmail.users.messages.attachments.get\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the message containing the attachment.\",\n            \"in\": \"path\",\n            \"name\": \"messageId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the attachment.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/MessagePartBody\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.action\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.action\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ]\n    },\n    \"/gmail/v1/users/{userId}/profile\": {\n      \"get\": {\n        \"description\": \"Gets the current user's Gmail profile.\",\n        \"operationId\": \"gmail.users.getProfile\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Profile\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.compose\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ]\n    },\n    \"/gmail/v1/users/{userId}/settings/autoForwarding\": {\n      \"get\": {\n        \"description\": \"Gets the auto-forwarding setting for the specified account.\",\n        \"operationId\": \"gmail.users.settings.getAutoForwarding\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/AutoForwarding\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"put\": {\n        \"description\": \"Updates the auto-forwarding setting for the specified account. A verified forwarding address must be specified when auto-forwarding is enabled. This method is only available to service account clients that have been delegated domain-wide authority.\",\n        \"operationId\": \"gmail.users.settings.updateAutoForwarding\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/AutoForwarding\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/AutoForwarding\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/cse/identities\": {\n      \"get\": {\n        \"description\": \"Lists the client-side encrypted identities for an authenticated user.\",\n        \"operationId\": \"gmail.users.settings.cse.identities.list\",\n        \"parameters\": [\n          {\n            \"description\": \"The requester's primary email address. To indicate the authenticated user, you can use the special value `me`.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The number of identities to return. If not provided, the page size will default to 20 entries.\",\n            \"in\": \"query\",\n            \"name\": \"pageSize\",\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Pagination token indicating which page of identities to return. If the token is not supplied, then the API will return the first page of results.\",\n            \"in\": \"query\",\n            \"name\": \"pageToken\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListCseIdentitiesResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Creates and configures a client-side encryption identity that's authorized to send mail from the user account. Google publishes the S/MIME certificate to a shared domain-wide directory so that people within a Google Workspace organization can encrypt and send mail to the identity.\",\n        \"operationId\": \"gmail.users.settings.cse.identities.create\",\n        \"parameters\": [\n          {\n            \"description\": \"The requester's primary email address. To indicate the authenticated user, you can use the special value `me`.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CseIdentity\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CseIdentity\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/cse/identities/{cseEmailAddress}\": {\n      \"delete\": {\n        \"description\": \"Deletes a client-side encryption identity. The authenticated user can no longer use the identity to send encrypted messages. You cannot restore the identity after you delete it. Instead, use the CreateCseIdentity method to create another identity with the same configuration.\",\n        \"operationId\": \"gmail.users.settings.cse.identities.delete\",\n        \"parameters\": [\n          {\n            \"description\": \"The requester's primary email address. To indicate the authenticated user, you can use the special value `me`.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The primary email address associated with the client-side encryption identity configuration that's removed.\",\n            \"in\": \"path\",\n            \"name\": \"cseEmailAddress\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"get\": {\n        \"description\": \"Retrieves a client-side encryption identity configuration.\",\n        \"operationId\": \"gmail.users.settings.cse.identities.get\",\n        \"parameters\": [\n          {\n            \"description\": \"The requester's primary email address. To indicate the authenticated user, you can use the special value `me`.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The primary email address associated with the client-side encryption identity configuration that's retrieved.\",\n            \"in\": \"path\",\n            \"name\": \"cseEmailAddress\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CseIdentity\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ]\n    },\n    \"/gmail/v1/users/{userId}/settings/cse/identities/{emailAddress}\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"patch\": {\n        \"description\": \"Associates a different key pair with an existing client-side encryption identity. The updated key pair must validate against Google's [S/MIME certificate profiles](https://support.google.com/a/answer/7300887).\",\n        \"operationId\": \"gmail.users.settings.cse.identities.patch\",\n        \"parameters\": [\n          {\n            \"description\": \"The requester's primary email address. To indicate the authenticated user, you can use the special value `me`.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The email address of the client-side encryption identity to update.\",\n            \"in\": \"path\",\n            \"name\": \"emailAddress\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CseIdentity\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CseIdentity\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/cse/keypairs\": {\n      \"get\": {\n        \"description\": \"Lists client-side encryption key pairs for an authenticated user.\",\n        \"operationId\": \"gmail.users.settings.cse.keypairs.list\",\n        \"parameters\": [\n          {\n            \"description\": \"The requester's primary email address. To indicate the authenticated user, you can use the special value `me`.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The number of key pairs to return. If not provided, the page size will default to 20 entries.\",\n            \"in\": \"query\",\n            \"name\": \"pageSize\",\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Pagination token indicating which page of key pairs to return. If the token is not supplied, then the API will return the first page of results.\",\n            \"in\": \"query\",\n            \"name\": \"pageToken\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListCseKeyPairsResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Creates and uploads a client-side encryption S/MIME public key certificate chain and private key metadata for the authenticated user.\",\n        \"operationId\": \"gmail.users.settings.cse.keypairs.create\",\n        \"parameters\": [\n          {\n            \"description\": \"The requester's primary email address. To indicate the authenticated user, you can use the special value `me`.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CseKeyPair\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CseKeyPair\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}\": {\n      \"get\": {\n        \"description\": \"Retrieves an existing client-side encryption key pair.\",\n        \"operationId\": \"gmail.users.settings.cse.keypairs.get\",\n        \"parameters\": [\n          {\n            \"description\": \"The requester's primary email address. To indicate the authenticated user, you can use the special value `me`.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The identifier of the key pair to retrieve.\",\n            \"in\": \"path\",\n            \"name\": \"keyPairId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CseKeyPair\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ]\n    },\n    \"/gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:disable\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Turns off a client-side encryption key pair. The authenticated user can no longer use the key pair to decrypt incoming CSE message texts or sign outgoing CSE mail. To regain access, use the EnableCseKeyPair to turn on the key pair. After 30 days, you can permanently delete the key pair by using the ObliterateCseKeyPair method.\",\n        \"operationId\": \"gmail.users.settings.cse.keypairs.disable\",\n        \"parameters\": [\n          {\n            \"description\": \"The requester's primary email address. To indicate the authenticated user, you can use the special value `me`.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The identifier of the key pair to turn off.\",\n            \"in\": \"path\",\n            \"name\": \"keyPairId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/DisableCseKeyPairRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CseKeyPair\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:enable\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Turns on a client-side encryption key pair that was turned off. The key pair becomes active again for any associated client-side encryption identities.\",\n        \"operationId\": \"gmail.users.settings.cse.keypairs.enable\",\n        \"parameters\": [\n          {\n            \"description\": \"The requester's primary email address. To indicate the authenticated user, you can use the special value `me`.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The identifier of the key pair to turn on.\",\n            \"in\": \"path\",\n            \"name\": \"keyPairId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/EnableCseKeyPairRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CseKeyPair\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:obliterate\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Deletes a client-side encryption key pair permanently and immediately. You can only permanently delete key pairs that have been turned off for more than 30 days. To turn off a key pair, use the DisableCseKeyPair method. Gmail can't restore or decrypt any messages that were encrypted by an obliterated key. Authenticated users and Google Workspace administrators lose access to reading the encrypted messages.\",\n        \"operationId\": \"gmail.users.settings.cse.keypairs.obliterate\",\n        \"parameters\": [\n          {\n            \"description\": \"The requester's primary email address. To indicate the authenticated user, you can use the special value `me`.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The identifier of the key pair to obliterate.\",\n            \"in\": \"path\",\n            \"name\": \"keyPairId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ObliterateCseKeyPairRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/delegates\": {\n      \"get\": {\n        \"description\": \"Lists the delegates for the specified account. This method is only available to service account clients that have been delegated domain-wide authority.\",\n        \"operationId\": \"gmail.users.settings.delegates.list\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListDelegatesResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Adds a delegate with its verification status set directly to `accepted`, without sending any verification email. The delegate user must be a member of the same Google Workspace organization as the delegator user. Gmail imposes limitations on the number of delegates and delegators each user in a Google Workspace organization can have. These limits depend on your organization, but in general each user can have up to 25 delegates and up to 10 delegators. Note that a delegate user must be referred to by their primary email address, and not an email alias. Also note that when a new delegate is created, there may be up to a one minute delay before the new delegate is available for use. This method is only available to service account clients that have been delegated domain-wide authority.\",\n        \"operationId\": \"gmail.users.settings.delegates.create\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Delegate\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Delegate\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/delegates/{delegateEmail}\": {\n      \"delete\": {\n        \"description\": \"Removes the specified delegate (which can be of any verification status), and revokes any verification that may have been required for using it. Note that a delegate user must be referred to by their primary email address, and not an email alias. This method is only available to service account clients that have been delegated domain-wide authority.\",\n        \"operationId\": \"gmail.users.settings.delegates.delete\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The email address of the user to be removed as a delegate.\",\n            \"in\": \"path\",\n            \"name\": \"delegateEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"get\": {\n        \"description\": \"Gets the specified delegate. Note that a delegate user must be referred to by their primary email address, and not an email alias. This method is only available to service account clients that have been delegated domain-wide authority.\",\n        \"operationId\": \"gmail.users.settings.delegates.get\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The email address of the user whose delegate relationship is to be retrieved.\",\n            \"in\": \"path\",\n            \"name\": \"delegateEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Delegate\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ]\n    },\n    \"/gmail/v1/users/{userId}/settings/filters\": {\n      \"get\": {\n        \"description\": \"Lists the message filters of a Gmail user.\",\n        \"operationId\": \"gmail.users.settings.filters.list\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListFiltersResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Creates a filter. Note: you can only create a maximum of 1,000 filters.\",\n        \"operationId\": \"gmail.users.settings.filters.create\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Filter\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Filter\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/filters/{id}\": {\n      \"delete\": {\n        \"description\": \"Immediately and permanently deletes the specified filter.\",\n        \"operationId\": \"gmail.users.settings.filters.delete\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the filter to be deleted.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"get\": {\n        \"description\": \"Gets a filter.\",\n        \"operationId\": \"gmail.users.settings.filters.get\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the filter to be fetched.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Filter\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ]\n    },\n    \"/gmail/v1/users/{userId}/settings/forwardingAddresses\": {\n      \"get\": {\n        \"description\": \"Lists the forwarding addresses for the specified account.\",\n        \"operationId\": \"gmail.users.settings.forwardingAddresses.list\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListForwardingAddressesResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Creates a forwarding address. If ownership verification is required, a message will be sent to the recipient and the resource's verification status will be set to `pending`; otherwise, the resource will be created with verification status set to `accepted`. This method is only available to service account clients that have been delegated domain-wide authority.\",\n        \"operationId\": \"gmail.users.settings.forwardingAddresses.create\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ForwardingAddress\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ForwardingAddress\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}\": {\n      \"delete\": {\n        \"description\": \"Deletes the specified forwarding address and revokes any verification that may have been required. This method is only available to service account clients that have been delegated domain-wide authority.\",\n        \"operationId\": \"gmail.users.settings.forwardingAddresses.delete\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The forwarding address to be deleted.\",\n            \"in\": \"path\",\n            \"name\": \"forwardingEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"get\": {\n        \"description\": \"Gets the specified forwarding address.\",\n        \"operationId\": \"gmail.users.settings.forwardingAddresses.get\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The forwarding address to be retrieved.\",\n            \"in\": \"path\",\n            \"name\": \"forwardingEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ForwardingAddress\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ]\n    },\n    \"/gmail/v1/users/{userId}/settings/imap\": {\n      \"get\": {\n        \"description\": \"Gets IMAP settings.\",\n        \"operationId\": \"gmail.users.settings.getImap\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ImapSettings\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"put\": {\n        \"description\": \"Updates IMAP settings.\",\n        \"operationId\": \"gmail.users.settings.updateImap\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ImapSettings\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ImapSettings\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/language\": {\n      \"get\": {\n        \"description\": \"Gets language settings.\",\n        \"operationId\": \"gmail.users.settings.getLanguage\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/LanguageSettings\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"put\": {\n        \"description\": \"Updates language settings. If successful, the return object contains the `displayLanguage` that was saved for the user, which may differ from the value passed into the request. This is because the requested `displayLanguage` may not be directly supported by Gmail but have a close variant that is, and so the variant may be chosen and saved instead.\",\n        \"operationId\": \"gmail.users.settings.updateLanguage\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/LanguageSettings\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/LanguageSettings\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/pop\": {\n      \"get\": {\n        \"description\": \"Gets POP settings.\",\n        \"operationId\": \"gmail.users.settings.getPop\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/PopSettings\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"put\": {\n        \"description\": \"Updates POP settings.\",\n        \"operationId\": \"gmail.users.settings.updatePop\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/PopSettings\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/PopSettings\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/sendAs\": {\n      \"get\": {\n        \"description\": \"Lists the send-as aliases for the specified account. The result includes the primary send-as address associated with the account as well as any custom \\\"from\\\" aliases.\",\n        \"operationId\": \"gmail.users.settings.sendAs.list\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListSendAsResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Creates a custom \\\"from\\\" send-as alias. If an SMTP MSA is specified, Gmail will attempt to connect to the SMTP service to validate the configuration before creating the alias. If ownership verification is required for the alias, a message will be sent to the email address and the resource's verification status will be set to `pending`; otherwise, the resource will be created with verification status set to `accepted`. If a signature is provided, Gmail will sanitize the HTML before saving it with the alias. This method is only available to service account clients that have been delegated domain-wide authority.\",\n        \"operationId\": \"gmail.users.settings.sendAs.create\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/SendAs\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/SendAs\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}\": {\n      \"delete\": {\n        \"description\": \"Deletes the specified send-as alias. Revokes any verification that may have been required for using it. This method is only available to service account clients that have been delegated domain-wide authority.\",\n        \"operationId\": \"gmail.users.settings.sendAs.delete\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The send-as alias to be deleted.\",\n            \"in\": \"path\",\n            \"name\": \"sendAsEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"get\": {\n        \"description\": \"Gets the specified send-as alias. Fails with an HTTP 404 error if the specified address is not a member of the collection.\",\n        \"operationId\": \"gmail.users.settings.sendAs.get\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The send-as alias to be retrieved.\",\n            \"in\": \"path\",\n            \"name\": \"sendAsEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/SendAs\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"patch\": {\n        \"description\": \"Patch the specified send-as alias.\",\n        \"operationId\": \"gmail.users.settings.sendAs.patch\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The send-as alias to be updated.\",\n            \"in\": \"path\",\n            \"name\": \"sendAsEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/SendAs\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/SendAs\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"put\": {\n        \"description\": \"Updates a send-as alias. If a signature is provided, Gmail will sanitize the HTML before saving it with the alias. Addresses other than the primary address for the account can only be updated by service account clients that have been delegated domain-wide authority.\",\n        \"operationId\": \"gmail.users.settings.sendAs.update\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The send-as alias to be updated.\",\n            \"in\": \"path\",\n            \"name\": \"sendAsEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/SendAs\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/SendAs\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo\": {\n      \"get\": {\n        \"description\": \"Lists S/MIME configs for the specified send-as alias.\",\n        \"operationId\": \"gmail.users.settings.sendAs.smimeInfo.list\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The email address that appears in the \\\"From:\\\" header for mail sent using this alias.\",\n            \"in\": \"path\",\n            \"name\": \"sendAsEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListSmimeInfoResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Insert (upload) the given S/MIME config for the specified send-as alias. Note that pkcs12 format is required for the key.\",\n        \"operationId\": \"gmail.users.settings.sendAs.smimeInfo.insert\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The email address that appears in the \\\"From:\\\" header for mail sent using this alias.\",\n            \"in\": \"path\",\n            \"name\": \"sendAsEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/SmimeInfo\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/SmimeInfo\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}\": {\n      \"delete\": {\n        \"description\": \"Deletes the specified S/MIME config for the specified send-as alias.\",\n        \"operationId\": \"gmail.users.settings.sendAs.smimeInfo.delete\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The email address that appears in the \\\"From:\\\" header for mail sent using this alias.\",\n            \"in\": \"path\",\n            \"name\": \"sendAsEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The immutable ID for the SmimeInfo.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"get\": {\n        \"description\": \"Gets the specified S/MIME config for the specified send-as alias.\",\n        \"operationId\": \"gmail.users.settings.sendAs.smimeInfo.get\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The email address that appears in the \\\"From:\\\" header for mail sent using this alias.\",\n            \"in\": \"path\",\n            \"name\": \"sendAsEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The immutable ID for the SmimeInfo.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/SmimeInfo\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ]\n    },\n    \"/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Sets the default S/MIME config for the specified send-as alias.\",\n        \"operationId\": \"gmail.users.settings.sendAs.smimeInfo.setDefault\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The email address that appears in the \\\"From:\\\" header for mail sent using this alias.\",\n            \"in\": \"path\",\n            \"name\": \"sendAsEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The immutable ID for the SmimeInfo.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/verify\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Sends a verification email to the specified send-as alias address. The verification status must be `pending`. This method is only available to service account clients that have been delegated domain-wide authority.\",\n        \"operationId\": \"gmail.users.settings.sendAs.verify\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The send-as alias to be verified.\",\n            \"in\": \"path\",\n            \"name\": \"sendAsEmail\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/settings/vacation\": {\n      \"get\": {\n        \"description\": \"Gets vacation responder settings.\",\n        \"operationId\": \"gmail.users.settings.getVacation\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/VacationSettings\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"put\": {\n        \"description\": \"Updates vacation responder settings.\",\n        \"operationId\": \"gmail.users.settings.updateVacation\",\n        \"parameters\": [\n          {\n            \"description\": \"User's email address. The special value \\\"me\\\" can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/VacationSettings\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/VacationSettings\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.settings.basic\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/stop\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Stop receiving push notifications for the given user mailbox.\",\n        \"operationId\": \"gmail.users.stop\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/threads\": {\n      \"get\": {\n        \"description\": \"Lists the threads in the user's mailbox.\",\n        \"operationId\": \"gmail.users.threads.list\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Include threads from `SPAM` and `TRASH` in the results.\",\n            \"in\": \"query\",\n            \"name\": \"includeSpamTrash\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"description\": \"Only return threads with labels that match all of the specified label IDs.\",\n            \"explode\": true,\n            \"in\": \"query\",\n            \"name\": \"labelIds\",\n            \"schema\": {\n              \"items\": {\n                \"type\": \"string\"\n              },\n              \"type\": \"array\"\n            },\n            \"style\": \"form\"\n          },\n          {\n            \"description\": \"Maximum number of threads to return. This field defaults to 100. The maximum allowed value for this field is 500.\",\n            \"in\": \"query\",\n            \"name\": \"maxResults\",\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"description\": \"Page token to retrieve a specific page of results in the list.\",\n            \"in\": \"query\",\n            \"name\": \"pageToken\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Only return threads matching the specified query. Supports the same query format as the Gmail search box. For example, `\\\"from:someuser@example.com rfc822msgid: is:unread\\\"`. Parameter cannot be used when accessing the api using the gmail.metadata scope.\",\n            \"in\": \"query\",\n            \"name\": \"q\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListThreadsResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ]\n    },\n    \"/gmail/v1/users/{userId}/threads/{id}\": {\n      \"delete\": {\n        \"description\": \"Immediately and permanently deletes the specified thread. Any messages that belong to the thread are also deleted. This operation cannot be undone. Prefer `threads.trash` instead.\",\n        \"operationId\": \"gmail.users.threads.delete\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"ID of the Thread to delete.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"get\": {\n        \"description\": \"Gets the specified thread.\",\n        \"operationId\": \"gmail.users.threads.get\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the thread to retrieve.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The format to return the messages in.\",\n            \"in\": \"query\",\n            \"name\": \"format\",\n            \"schema\": {\n              \"enum\": [\n                \"full\",\n                \"metadata\",\n                \"minimal\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"When given and format is METADATA, only include headers specified.\",\n            \"explode\": true,\n            \"in\": \"query\",\n            \"name\": \"metadataHeaders\",\n            \"schema\": {\n              \"items\": {\n                \"type\": \"string\"\n              },\n              \"type\": \"array\"\n            },\n            \"style\": \"form\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Thread\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.action\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.action\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.metadata\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.metadata\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.readonly\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ]\n    },\n    \"/gmail/v1/users/{userId}/threads/{id}/modify\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Modifies the labels applied to the thread. This applies to all messages in the thread.\",\n        \"operationId\": \"gmail.users.threads.modify\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the thread to modify.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ModifyThreadRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Thread\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/threads/{id}/trash\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Moves the specified thread to the trash. Any messages that belong to the thread are also moved to the trash.\",\n        \"operationId\": \"gmail.users.threads.trash\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the thread to Trash.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Thread\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/threads/{id}/untrash\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Removes the specified thread from the trash. Any messages that belong to the thread are also removed from the trash.\",\n        \"operationId\": \"gmail.users.threads.untrash\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"The ID of the thread to remove from Trash.\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Thread\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    },\n    \"/gmail/v1/users/{userId}/watch\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/_.xgafv\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/access_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/alt\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/callback\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/fields\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/key\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/oauth_token\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/prettyPrint\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/quotaUser\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/upload_protocol\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/uploadType\"\n        }\n      ],\n      \"post\": {\n        \"description\": \"Set up or update a push notification watch on the given user mailbox.\",\n        \"operationId\": \"gmail.users.watch\",\n        \"parameters\": [\n          {\n            \"description\": \"The user's email address. The special value `me` can be used to indicate the authenticated user.\",\n            \"in\": \"path\",\n            \"name\": \"userId\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/WatchRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/WatchResponse\"\n                }\n              }\n            },\n            \"description\": \"Successful response\"\n          }\n        },\n        \"security\": [\n          {\n            \"Oauth2\": [\n              \"https://mail.google.com/\"\n            ],\n            \"Oauth2c\": [\n              \"https://mail.google.com/\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.metadata\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.modify\"\n            ]\n          },\n          {\n            \"Oauth2\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ],\n            \"Oauth2c\": [\n              \"https://www.googleapis.com/auth/gmail.readonly\"\n            ]\n          }\n        ],\n        \"tags\": [\n          \"users\"\n        ]\n      }\n    }\n  },\n  \"components\": {\n    \"parameters\": {\n      \"_.xgafv\": {\n        \"description\": \"V1 error format.\",\n        \"in\": \"query\",\n        \"name\": \"$.xgafv\",\n        \"schema\": {\n          \"enum\": [\n            \"1\",\n            \"2\"\n          ],\n          \"type\": \"string\"\n        }\n      },\n      \"access_token\": {\n        \"description\": \"OAuth access token.\",\n        \"in\": \"query\",\n        \"name\": \"access_token\",\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      },\n      \"alt\": {\n        \"description\": \"Data format for response.\",\n        \"in\": \"query\",\n        \"name\": \"alt\",\n        \"schema\": {\n          \"enum\": [\n            \"json\",\n            \"media\",\n            \"proto\"\n          ],\n          \"type\": \"string\"\n        }\n      },\n      \"callback\": {\n        \"description\": \"JSONP\",\n        \"in\": \"query\",\n        \"name\": \"callback\",\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      },\n      \"fields\": {\n        \"description\": \"Selector specifying which fields to include in a partial response.\",\n        \"in\": \"query\",\n        \"name\": \"fields\",\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      },\n      \"key\": {\n        \"description\": \"API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.\",\n        \"in\": \"query\",\n        \"name\": \"key\",\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      },\n      \"oauth_token\": {\n        \"description\": \"OAuth 2.0 token for the current user.\",\n        \"in\": \"query\",\n        \"name\": \"oauth_token\",\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      },\n      \"prettyPrint\": {\n        \"description\": \"Returns response with indentations and line breaks.\",\n        \"in\": \"query\",\n        \"name\": \"prettyPrint\",\n        \"schema\": {\n          \"type\": \"boolean\"\n        }\n      },\n      \"quotaUser\": {\n        \"description\": \"Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.\",\n        \"in\": \"query\",\n        \"name\": \"quotaUser\",\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      },\n      \"uploadType\": {\n        \"description\": \"Legacy upload protocol for media (e.g. \\\"media\\\", \\\"multipart\\\").\",\n        \"in\": \"query\",\n        \"name\": \"uploadType\",\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      },\n      \"upload_protocol\": {\n        \"description\": \"Upload protocol for media (e.g. \\\"raw\\\", \\\"multipart\\\").\",\n        \"in\": \"query\",\n        \"name\": \"upload_protocol\",\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      }\n    },\n    \"schemas\": {\n      \"AutoForwarding\": {\n        \"description\": \"Auto-forwarding settings for an account.\",\n        \"properties\": {\n          \"disposition\": {\n            \"description\": \"The state that a message should be left in after it has been forwarded.\",\n            \"enum\": [\n              \"dispositionUnspecified\",\n              \"leaveInInbox\",\n              \"archive\",\n              \"trash\",\n              \"markRead\"\n            ],\n            \"type\": \"string\"\n          },\n          \"emailAddress\": {\n            \"description\": \"Email address to which all incoming messages are forwarded. This email address must be a verified member of the forwarding addresses.\",\n            \"type\": \"string\"\n          },\n          \"enabled\": {\n            \"description\": \"Whether all incoming mail is automatically forwarded to another address.\",\n            \"type\": \"boolean\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"BatchDeleteMessagesRequest\": {\n        \"properties\": {\n          \"ids\": {\n            \"description\": \"The IDs of the messages to delete.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"BatchModifyMessagesRequest\": {\n        \"properties\": {\n          \"addLabelIds\": {\n            \"description\": \"A list of label IDs to add to messages.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          },\n          \"ids\": {\n            \"description\": \"The IDs of the messages to modify. There is a limit of 1000 ids per request.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          },\n          \"removeLabelIds\": {\n            \"description\": \"A list of label IDs to remove from messages.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"CseIdentity\": {\n        \"description\": \"The client-side encryption (CSE) configuration for the email address of an authenticated user. Gmail uses CSE configurations to save drafts of client-side encrypted email messages, and to sign and send encrypted email messages.\",\n        \"properties\": {\n          \"emailAddress\": {\n            \"description\": \"The email address for the sending identity. The email address must be the primary email address of the authenticated user.\",\n            \"type\": \"string\"\n          },\n          \"primaryKeyPairId\": {\n            \"description\": \"If a key pair is associated, the identifier of the key pair, CseKeyPair.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"CseKeyPair\": {\n        \"description\": \"A client-side encryption S/MIME key pair, which is comprised of a public key, its certificate chain, and metadata for its paired private key. Gmail uses the key pair to complete the following tasks: - Sign outgoing client-side encrypted messages. - Save and reopen drafts of client-side encrypted messages. - Save and reopen sent messages. - Decrypt incoming or archived S/MIME messages.\",\n        \"properties\": {\n          \"disableTime\": {\n            \"description\": \"Output only. If a key pair is set to `DISABLED`, the time that the key pair's state changed from `ENABLED` to `DISABLED`. This field is present only when the key pair is in state `DISABLED`.\",\n            \"format\": \"google-datetime\",\n            \"readOnly\": true,\n            \"type\": \"string\"\n          },\n          \"enablementState\": {\n            \"description\": \"Output only. The current state of the key pair.\",\n            \"enum\": [\n              \"stateUnspecified\",\n              \"enabled\",\n              \"disabled\"\n            ],\n            \"readOnly\": true,\n            \"type\": \"string\"\n          },\n          \"keyPairId\": {\n            \"description\": \"Output only. The immutable ID for the client-side encryption S/MIME key pair.\",\n            \"readOnly\": true,\n            \"type\": \"string\"\n          },\n          \"pem\": {\n            \"description\": \"Output only. The public key and its certificate chain, in [PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) format.\",\n            \"readOnly\": true,\n            \"type\": \"string\"\n          },\n          \"pkcs7\": {\n            \"description\": \"Input only. The public key and its certificate chain. The chain must be in [PKCS#7](https://en.wikipedia.org/wiki/PKCS_7) format and use PEM encoding and ASCII armor.\",\n            \"type\": \"string\"\n          },\n          \"privateKeyMetadata\": {\n            \"description\": \"Metadata for instances of this key pair's private key.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/CsePrivateKeyMetadata\"\n            },\n            \"type\": \"array\"\n          },\n          \"subjectEmailAddresses\": {\n            \"description\": \"Output only. The email address identities that are specified on the leaf certificate.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"readOnly\": true,\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"CsePrivateKeyMetadata\": {\n        \"description\": \"Metadata for a private key instance.\",\n        \"properties\": {\n          \"kaclsKeyMetadata\": {\n            \"$ref\": \"#/components/schemas/KaclsKeyMetadata\",\n            \"description\": \"Metadata for a private key instance managed by an external key access control list service.\"\n          },\n          \"privateKeyMetadataId\": {\n            \"description\": \"Output only. The immutable ID for the private key metadata instance.\",\n            \"readOnly\": true,\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"Delegate\": {\n        \"description\": \"Settings for a delegate. Delegates can read, send, and delete messages, as well as view and add contacts, for the delegator's account. See \\\"Set up mail delegation\\\" for more information about delegates.\",\n        \"properties\": {\n          \"delegateEmail\": {\n            \"description\": \"The email address of the delegate.\",\n            \"type\": \"string\"\n          },\n          \"verificationStatus\": {\n            \"description\": \"Indicates whether this address has been verified and can act as a delegate for the account. Read-only.\",\n            \"enum\": [\n              \"verificationStatusUnspecified\",\n              \"accepted\",\n              \"pending\",\n              \"rejected\",\n              \"expired\"\n            ],\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"DisableCseKeyPairRequest\": {\n        \"description\": \"Requests to turn off a client-side encryption key pair.\",\n        \"properties\": {},\n        \"type\": \"object\"\n      },\n      \"Draft\": {\n        \"description\": \"A draft email in the user's mailbox.\",\n        \"properties\": {\n          \"id\": {\n            \"description\": \"The immutable ID of the draft.\",\n            \"type\": \"string\"\n          },\n          \"message\": {\n            \"$ref\": \"#/components/schemas/Message\",\n            \"description\": \"The message content of the draft.\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"EnableCseKeyPairRequest\": {\n        \"description\": \"Requests to turn on a client-side encryption key pair.\",\n        \"properties\": {},\n        \"type\": \"object\"\n      },\n      \"Filter\": {\n        \"description\": \"Resource definition for Gmail filters. Filters apply to specific messages instead of an entire email thread.\",\n        \"properties\": {\n          \"action\": {\n            \"$ref\": \"#/components/schemas/FilterAction\",\n            \"description\": \"Action that the filter performs.\"\n          },\n          \"criteria\": {\n            \"$ref\": \"#/components/schemas/FilterCriteria\",\n            \"description\": \"Matching criteria for the filter.\"\n          },\n          \"id\": {\n            \"description\": \"The server assigned ID of the filter.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"FilterAction\": {\n        \"description\": \"A set of actions to perform on a message.\",\n        \"properties\": {\n          \"addLabelIds\": {\n            \"description\": \"List of labels to add to the message.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          },\n          \"forward\": {\n            \"description\": \"Email address that the message should be forwarded to.\",\n            \"type\": \"string\"\n          },\n          \"removeLabelIds\": {\n            \"description\": \"List of labels to remove from the message.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"FilterCriteria\": {\n        \"description\": \"Message matching criteria.\",\n        \"properties\": {\n          \"excludeChats\": {\n            \"description\": \"Whether the response should exclude chats.\",\n            \"type\": \"boolean\"\n          },\n          \"from\": {\n            \"description\": \"The sender's display name or email address.\",\n            \"type\": \"string\"\n          },\n          \"hasAttachment\": {\n            \"description\": \"Whether the message has any attachment.\",\n            \"type\": \"boolean\"\n          },\n          \"negatedQuery\": {\n            \"description\": \"Only return messages not matching the specified query. Supports the same query format as the Gmail search box. For example, `\\\"from:someuser@example.com rfc822msgid: is:unread\\\"`.\",\n            \"type\": \"string\"\n          },\n          \"query\": {\n            \"description\": \"Only return messages matching the specified query. Supports the same query format as the Gmail search box. For example, `\\\"from:someuser@example.com rfc822msgid: is:unread\\\"`.\",\n            \"type\": \"string\"\n          },\n          \"size\": {\n            \"description\": \"The size of the entire RFC822 message in bytes, including all headers and attachments.\",\n            \"format\": \"int32\",\n            \"type\": \"integer\"\n          },\n          \"sizeComparison\": {\n            \"description\": \"How the message size in bytes should be in relation to the size field.\",\n            \"enum\": [\n              \"unspecified\",\n              \"smaller\",\n              \"larger\"\n            ],\n            \"type\": \"string\"\n          },\n          \"subject\": {\n            \"description\": \"Case-insensitive phrase found in the message's subject. Trailing and leading whitespace are be trimmed and adjacent spaces are collapsed.\",\n            \"type\": \"string\"\n          },\n          \"to\": {\n            \"description\": \"The recipient's display name or email address. Includes recipients in the \\\"to\\\", \\\"cc\\\", and \\\"bcc\\\" header fields. You can use simply the local part of the email address. For example, \\\"example\\\" and \\\"example@\\\" both match \\\"example@gmail.com\\\". This field is case-insensitive.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ForwardingAddress\": {\n        \"description\": \"Settings for a forwarding address.\",\n        \"properties\": {\n          \"forwardingEmail\": {\n            \"description\": \"An email address to which messages can be forwarded.\",\n            \"type\": \"string\"\n          },\n          \"verificationStatus\": {\n            \"description\": \"Indicates whether this address has been verified and is usable for forwarding. Read-only.\",\n            \"enum\": [\n              \"verificationStatusUnspecified\",\n              \"accepted\",\n              \"pending\"\n            ],\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"History\": {\n        \"description\": \"A record of a change to the user's mailbox. Each history change may affect multiple messages in multiple ways.\",\n        \"properties\": {\n          \"id\": {\n            \"description\": \"The mailbox sequence ID.\",\n            \"format\": \"uint64\",\n            \"type\": \"string\"\n          },\n          \"labelsAdded\": {\n            \"description\": \"Labels added to messages in this history record.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/HistoryLabelAdded\"\n            },\n            \"type\": \"array\"\n          },\n          \"labelsRemoved\": {\n            \"description\": \"Labels removed from messages in this history record.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/HistoryLabelRemoved\"\n            },\n            \"type\": \"array\"\n          },\n          \"messages\": {\n            \"description\": \"List of messages changed in this history record. The fields for specific change types, such as `messagesAdded` may duplicate messages in this field. We recommend using the specific change-type fields instead of this.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Message\"\n            },\n            \"type\": \"array\"\n          },\n          \"messagesAdded\": {\n            \"description\": \"Messages added to the mailbox in this history record.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/HistoryMessageAdded\"\n            },\n            \"type\": \"array\"\n          },\n          \"messagesDeleted\": {\n            \"description\": \"Messages deleted (not Trashed) from the mailbox in this history record.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/HistoryMessageDeleted\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"HistoryLabelAdded\": {\n        \"properties\": {\n          \"labelIds\": {\n            \"description\": \"Label IDs added to the message.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          },\n          \"message\": {\n            \"$ref\": \"#/components/schemas/Message\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"HistoryLabelRemoved\": {\n        \"properties\": {\n          \"labelIds\": {\n            \"description\": \"Label IDs removed from the message.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          },\n          \"message\": {\n            \"$ref\": \"#/components/schemas/Message\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"HistoryMessageAdded\": {\n        \"properties\": {\n          \"message\": {\n            \"$ref\": \"#/components/schemas/Message\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"HistoryMessageDeleted\": {\n        \"properties\": {\n          \"message\": {\n            \"$ref\": \"#/components/schemas/Message\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ImapSettings\": {\n        \"description\": \"IMAP settings for an account.\",\n        \"properties\": {\n          \"autoExpunge\": {\n            \"description\": \"If this value is true, Gmail will immediately expunge a message when it is marked as deleted in IMAP. Otherwise, Gmail will wait for an update from the client before expunging messages marked as deleted.\",\n            \"type\": \"boolean\"\n          },\n          \"enabled\": {\n            \"description\": \"Whether IMAP is enabled for the account.\",\n            \"type\": \"boolean\"\n          },\n          \"expungeBehavior\": {\n            \"description\": \"The action that will be executed on a message when it is marked as deleted and expunged from the last visible IMAP folder.\",\n            \"enum\": [\n              \"expungeBehaviorUnspecified\",\n              \"archive\",\n              \"trash\",\n              \"deleteForever\"\n            ],\n            \"type\": \"string\"\n          },\n          \"maxFolderSize\": {\n            \"description\": \"An optional limit on the number of messages that an IMAP folder may contain. Legal values are 0, 1000, 2000, 5000 or 10000. A value of zero is interpreted to mean that there is no limit.\",\n            \"format\": \"int32\",\n            \"type\": \"integer\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"KaclsKeyMetadata\": {\n        \"description\": \"Metadata for private keys managed by an external key access control list service. For details about managing key access, see [Google Workspace CSE API Reference](https://developers.google.com/workspace/cse/reference).\",\n        \"properties\": {\n          \"kaclsData\": {\n            \"description\": \"Opaque data generated and used by the key access control list service. Maximum size: 8 KiB.\",\n            \"type\": \"string\"\n          },\n          \"kaclsUri\": {\n            \"description\": \"The URI of the key access control list service that manages the private key.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"Label\": {\n        \"description\": \"Labels are used to categorize messages and threads within the user's mailbox. The maximum number of labels supported for a user's mailbox is 10,000.\",\n        \"properties\": {\n          \"color\": {\n            \"$ref\": \"#/components/schemas/LabelColor\",\n            \"description\": \"The color to assign to the label. Color is only available for labels that have their `type` set to `user`.\"\n          },\n          \"id\": {\n            \"description\": \"The immutable ID of the label.\",\n            \"type\": \"string\"\n          },\n          \"labelListVisibility\": {\n            \"description\": \"The visibility of the label in the label list in the Gmail web interface.\",\n            \"enum\": [\n              \"labelShow\",\n              \"labelShowIfUnread\",\n              \"labelHide\"\n            ],\n            \"type\": \"string\"\n          },\n          \"messageListVisibility\": {\n            \"description\": \"The visibility of messages with this label in the message list in the Gmail web interface.\",\n            \"enum\": [\n              \"show\",\n              \"hide\"\n            ],\n            \"type\": \"string\"\n          },\n          \"messagesTotal\": {\n            \"description\": \"The total number of messages with the label.\",\n            \"format\": \"int32\",\n            \"type\": \"integer\"\n          },\n          \"messagesUnread\": {\n            \"description\": \"The number of unread messages with the label.\",\n            \"format\": \"int32\",\n            \"type\": \"integer\"\n          },\n          \"name\": {\n            \"description\": \"The display name of the label.\",\n            \"type\": \"string\"\n          },\n          \"threadsTotal\": {\n            \"description\": \"The total number of threads with the label.\",\n            \"format\": \"int32\",\n            \"type\": \"integer\"\n          },\n          \"threadsUnread\": {\n            \"description\": \"The number of unread threads with the label.\",\n            \"format\": \"int32\",\n            \"type\": \"integer\"\n          },\n          \"type\": {\n            \"description\": \"The owner type for the label. User labels are created by the user and can be modified and deleted by the user and can be applied to any message or thread. System labels are internally created and cannot be added, modified, or deleted. System labels may be able to be applied to or removed from messages and threads under some circumstances but this is not guaranteed. For example, users can apply and remove the `INBOX` and `UNREAD` labels from messages and threads, but cannot apply or remove the `DRAFTS` or `SENT` labels from messages or threads.\",\n            \"enum\": [\n              \"system\",\n              \"user\"\n            ],\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"LabelColor\": {\n        \"properties\": {\n          \"backgroundColor\": {\n            \"description\": \"The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \\\\#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \\\\#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \\\\#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \\\\#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \\\\#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \\\\#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \\\\#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \\\\#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c \\\\#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \\\\#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \\\\#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \\\\#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \\\\#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765\",\n            \"type\": \"string\"\n          },\n          \"textColor\": {\n            \"description\": \"The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \\\\#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \\\\#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \\\\#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \\\\#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \\\\#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \\\\#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \\\\#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \\\\#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c \\\\#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \\\\#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \\\\#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \\\\#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \\\\#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"LanguageSettings\": {\n        \"description\": \"Language settings for an account. These settings correspond to the \\\"Language settings\\\" feature in the web interface.\",\n        \"properties\": {\n          \"displayLanguage\": {\n            \"description\": \"The language to display Gmail in, formatted as an RFC 3066 Language Tag (for example `en-GB`, `fr` or `ja` for British English, French, or Japanese respectively). The set of languages supported by Gmail evolves over time, so please refer to the \\\"Language\\\" dropdown in the Gmail settings for all available options, as described in the language settings help article. A table of sample values is also provided in the Managing Language Settings guide Not all Gmail clients can display the same set of languages. In the case that a user's display language is not available for use on a particular client, said client automatically chooses to display in the closest supported variant (or a reasonable default).\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ListCseIdentitiesResponse\": {\n        \"properties\": {\n          \"cseIdentities\": {\n            \"description\": \"One page of the list of CSE identities configured for the user.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/CseIdentity\"\n            },\n            \"type\": \"array\"\n          },\n          \"nextPageToken\": {\n            \"description\": \"Pagination token to be passed to a subsequent ListCseIdentities call in order to retrieve the next page of identities. If this value is not returned or is the empty string, then no further pages remain.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ListCseKeyPairsResponse\": {\n        \"properties\": {\n          \"cseKeyPairs\": {\n            \"description\": \"One page of the list of CSE key pairs installed for the user.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/CseKeyPair\"\n            },\n            \"type\": \"array\"\n          },\n          \"nextPageToken\": {\n            \"description\": \"Pagination token to be passed to a subsequent ListCseKeyPairs call in order to retrieve the next page of key pairs. If this value is not returned, then no further pages remain.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ListDelegatesResponse\": {\n        \"description\": \"Response for the ListDelegates method.\",\n        \"properties\": {\n          \"delegates\": {\n            \"description\": \"List of the user's delegates (with any verification status). If an account doesn't have delegates, this field doesn't appear.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Delegate\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ListDraftsResponse\": {\n        \"properties\": {\n          \"drafts\": {\n            \"description\": \"List of drafts. Note that the `Message` property in each `Draft` resource only contains an `id` and a `threadId`. The messages.get method can fetch additional message details.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Draft\"\n            },\n            \"type\": \"array\"\n          },\n          \"nextPageToken\": {\n            \"description\": \"Token to retrieve the next page of results in the list.\",\n            \"type\": \"string\"\n          },\n          \"resultSizeEstimate\": {\n            \"description\": \"Estimated total number of results.\",\n            \"format\": \"uint32\",\n            \"type\": \"integer\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ListFiltersResponse\": {\n        \"description\": \"Response for the ListFilters method.\",\n        \"properties\": {\n          \"filter\": {\n            \"description\": \"List of a user's filters.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Filter\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ListForwardingAddressesResponse\": {\n        \"description\": \"Response for the ListForwardingAddresses method.\",\n        \"properties\": {\n          \"forwardingAddresses\": {\n            \"description\": \"List of addresses that may be used for forwarding.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/ForwardingAddress\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ListHistoryResponse\": {\n        \"properties\": {\n          \"history\": {\n            \"description\": \"List of history records. Any `messages` contained in the response will typically only have `id` and `threadId` fields populated.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/History\"\n            },\n            \"type\": \"array\"\n          },\n          \"historyId\": {\n            \"description\": \"The ID of the mailbox's current history record.\",\n            \"format\": \"uint64\",\n            \"type\": \"string\"\n          },\n          \"nextPageToken\": {\n            \"description\": \"Page token to retrieve the next page of results in the list.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ListLabelsResponse\": {\n        \"properties\": {\n          \"labels\": {\n            \"description\": \"List of labels. Note that each label resource only contains an `id`, `name`, `messageListVisibility`, `labelListVisibility`, and `type`. The labels.get method can fetch additional label details.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Label\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ListMessagesResponse\": {\n        \"properties\": {\n          \"messages\": {\n            \"description\": \"List of messages. Note that each message resource contains only an `id` and a `threadId`. Additional message details can be fetched using the messages.get method.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Message\"\n            },\n            \"type\": \"array\"\n          },\n          \"nextPageToken\": {\n            \"description\": \"Token to retrieve the next page of results in the list.\",\n            \"type\": \"string\"\n          },\n          \"resultSizeEstimate\": {\n            \"description\": \"Estimated total number of results.\",\n            \"format\": \"uint32\",\n            \"type\": \"integer\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ListSendAsResponse\": {\n        \"description\": \"Response for the ListSendAs method.\",\n        \"properties\": {\n          \"sendAs\": {\n            \"description\": \"List of send-as aliases.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/SendAs\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ListSmimeInfoResponse\": {\n        \"properties\": {\n          \"smimeInfo\": {\n            \"description\": \"List of SmimeInfo.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/SmimeInfo\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ListThreadsResponse\": {\n        \"properties\": {\n          \"nextPageToken\": {\n            \"description\": \"Page token to retrieve the next page of results in the list.\",\n            \"type\": \"string\"\n          },\n          \"resultSizeEstimate\": {\n            \"description\": \"Estimated total number of results.\",\n            \"format\": \"uint32\",\n            \"type\": \"integer\"\n          },\n          \"threads\": {\n            \"description\": \"List of threads. Note that each thread resource does not contain a list of `messages`. The list of `messages` for a given thread can be fetched using the threads.get method.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Thread\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"Message\": {\n        \"description\": \"An email message.\",\n        \"properties\": {\n          \"historyId\": {\n            \"description\": \"The ID of the last history record that modified this message.\",\n            \"format\": \"uint64\",\n            \"type\": \"string\"\n          },\n          \"id\": {\n            \"description\": \"The immutable ID of the message.\",\n            \"type\": \"string\"\n          },\n          \"internalDate\": {\n            \"description\": \"The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.\",\n            \"format\": \"int64\",\n            \"type\": \"string\"\n          },\n          \"labelIds\": {\n            \"description\": \"List of IDs of labels applied to this message.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          },\n          \"payload\": {\n            \"$ref\": \"#/components/schemas/MessagePart\",\n            \"description\": \"The parsed email structure in the message parts.\"\n          },\n          \"raw\": {\n            \"description\": \"The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.\",\n            \"format\": \"byte\",\n            \"type\": \"string\"\n          },\n          \"sizeEstimate\": {\n            \"description\": \"Estimated size in bytes of the message.\",\n            \"format\": \"int32\",\n            \"type\": \"integer\"\n          },\n          \"snippet\": {\n            \"description\": \"A short part of the message text.\",\n            \"type\": \"string\"\n          },\n          \"threadId\": {\n            \"description\": \"The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. \",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"MessagePart\": {\n        \"description\": \"A single MIME message part.\",\n        \"properties\": {\n          \"body\": {\n            \"$ref\": \"#/components/schemas/MessagePartBody\",\n            \"description\": \"The message part body for this part, which may be empty for container MIME message parts.\"\n          },\n          \"filename\": {\n            \"description\": \"The filename of the attachment. Only present if this message part represents an attachment.\",\n            \"type\": \"string\"\n          },\n          \"headers\": {\n            \"description\": \"List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/MessagePartHeader\"\n            },\n            \"type\": \"array\"\n          },\n          \"mimeType\": {\n            \"description\": \"The MIME type of the message part.\",\n            \"type\": \"string\"\n          },\n          \"partId\": {\n            \"description\": \"The immutable ID of the message part.\",\n            \"type\": \"string\"\n          },\n          \"parts\": {\n            \"description\": \"The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/MessagePart\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"MessagePartBody\": {\n        \"description\": \"The body of a single MIME message part.\",\n        \"properties\": {\n          \"attachmentId\": {\n            \"description\": \"When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.\",\n            \"type\": \"string\"\n          },\n          \"data\": {\n            \"description\": \"The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.\",\n            \"format\": \"byte\",\n            \"type\": \"string\"\n          },\n          \"size\": {\n            \"description\": \"Number of bytes for the message part data (encoding notwithstanding).\",\n            \"format\": \"int32\",\n            \"type\": \"integer\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"MessagePartHeader\": {\n        \"properties\": {\n          \"name\": {\n            \"description\": \"The name of the header before the `:` separator. For example, `To`.\",\n            \"type\": \"string\"\n          },\n          \"value\": {\n            \"description\": \"The value of the header after the `:` separator. For example, `someuser@example.com`.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ModifyMessageRequest\": {\n        \"properties\": {\n          \"addLabelIds\": {\n            \"description\": \"A list of IDs of labels to add to this message. You can add up to 100 labels with each update.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          },\n          \"removeLabelIds\": {\n            \"description\": \"A list IDs of labels to remove from this message. You can remove up to 100 labels with each update.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ModifyThreadRequest\": {\n        \"properties\": {\n          \"addLabelIds\": {\n            \"description\": \"A list of IDs of labels to add to this thread. You can add up to 100 labels with each update.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          },\n          \"removeLabelIds\": {\n            \"description\": \"A list of IDs of labels to remove from this thread. You can remove up to 100 labels with each update.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"ObliterateCseKeyPairRequest\": {\n        \"description\": \"Request to obliterate a CSE key pair.\",\n        \"properties\": {},\n        \"type\": \"object\"\n      },\n      \"PopSettings\": {\n        \"description\": \"POP settings for an account.\",\n        \"properties\": {\n          \"accessWindow\": {\n            \"description\": \"The range of messages which are accessible via POP.\",\n            \"enum\": [\n              \"accessWindowUnspecified\",\n              \"disabled\",\n              \"fromNowOn\",\n              \"allMail\"\n            ],\n            \"type\": \"string\"\n          },\n          \"disposition\": {\n            \"description\": \"The action that will be executed on a message after it has been fetched via POP.\",\n            \"enum\": [\n              \"dispositionUnspecified\",\n              \"leaveInInbox\",\n              \"archive\",\n              \"trash\",\n              \"markRead\"\n            ],\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"Profile\": {\n        \"description\": \"Profile for a Gmail user.\",\n        \"properties\": {\n          \"emailAddress\": {\n            \"description\": \"The user's email address.\",\n            \"type\": \"string\"\n          },\n          \"historyId\": {\n            \"description\": \"The ID of the mailbox's current history record.\",\n            \"format\": \"uint64\",\n            \"type\": \"string\"\n          },\n          \"messagesTotal\": {\n            \"description\": \"The total number of messages in the mailbox.\",\n            \"format\": \"int32\",\n            \"type\": \"integer\"\n          },\n          \"threadsTotal\": {\n            \"description\": \"The total number of threads in the mailbox.\",\n            \"format\": \"int32\",\n            \"type\": \"integer\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"SendAs\": {\n        \"description\": \"Settings associated with a send-as alias, which can be either the primary login address associated with the account or a custom \\\"from\\\" address. Send-as aliases correspond to the \\\"Send Mail As\\\" feature in the web interface.\",\n        \"properties\": {\n          \"displayName\": {\n            \"description\": \"A name that appears in the \\\"From:\\\" header for mail sent using this alias. For custom \\\"from\\\" addresses, when this is empty, Gmail will populate the \\\"From:\\\" header with the name that is used for the primary address associated with the account. If the admin has disabled the ability for users to update their name format, requests to update this field for the primary login will silently fail.\",\n            \"type\": \"string\"\n          },\n          \"isDefault\": {\n            \"description\": \"Whether this address is selected as the default \\\"From:\\\" address in situations such as composing a new message or sending a vacation auto-reply. Every Gmail account has exactly one default send-as address, so the only legal value that clients may write to this field is `true`. Changing this from `false` to `true` for an address will result in this field becoming `false` for the other previous default address.\",\n            \"type\": \"boolean\"\n          },\n          \"isPrimary\": {\n            \"description\": \"Whether this address is the primary address used to login to the account. Every Gmail account has exactly one primary address, and it cannot be deleted from the collection of send-as aliases. This field is read-only.\",\n            \"type\": \"boolean\"\n          },\n          \"replyToAddress\": {\n            \"description\": \"An optional email address that is included in a \\\"Reply-To:\\\" header for mail sent using this alias. If this is empty, Gmail will not generate a \\\"Reply-To:\\\" header.\",\n            \"type\": \"string\"\n          },\n          \"sendAsEmail\": {\n            \"description\": \"The email address that appears in the \\\"From:\\\" header for mail sent using this alias. This is read-only for all operations except create.\",\n            \"type\": \"string\"\n          },\n          \"signature\": {\n            \"description\": \"An optional HTML signature that is included in messages composed with this alias in the Gmail web UI. This signature is added to new emails only.\",\n            \"type\": \"string\"\n          },\n          \"smtpMsa\": {\n            \"$ref\": \"#/components/schemas/SmtpMsa\",\n            \"description\": \"An optional SMTP service that will be used as an outbound relay for mail sent using this alias. If this is empty, outbound mail will be sent directly from Gmail's servers to the destination SMTP service. This setting only applies to custom \\\"from\\\" aliases.\"\n          },\n          \"treatAsAlias\": {\n            \"description\": \"Whether Gmail should treat this address as an alias for the user's primary email address. This setting only applies to custom \\\"from\\\" aliases.\",\n            \"type\": \"boolean\"\n          },\n          \"verificationStatus\": {\n            \"description\": \"Indicates whether this address has been verified for use as a send-as alias. Read-only. This setting only applies to custom \\\"from\\\" aliases.\",\n            \"enum\": [\n              \"verificationStatusUnspecified\",\n              \"accepted\",\n              \"pending\"\n            ],\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"SmimeInfo\": {\n        \"description\": \"An S/MIME email config.\",\n        \"properties\": {\n          \"encryptedKeyPassword\": {\n            \"description\": \"Encrypted key password, when key is encrypted.\",\n            \"type\": \"string\"\n          },\n          \"expiration\": {\n            \"description\": \"When the certificate expires (in milliseconds since epoch).\",\n            \"format\": \"int64\",\n            \"type\": \"string\"\n          },\n          \"id\": {\n            \"description\": \"The immutable ID for the SmimeInfo.\",\n            \"type\": \"string\"\n          },\n          \"isDefault\": {\n            \"description\": \"Whether this SmimeInfo is the default one for this user's send-as address.\",\n            \"type\": \"boolean\"\n          },\n          \"issuerCn\": {\n            \"description\": \"The S/MIME certificate issuer's common name.\",\n            \"type\": \"string\"\n          },\n          \"pem\": {\n            \"description\": \"PEM formatted X509 concatenated certificate string (standard base64 encoding). Format used for returning key, which includes public key as well as certificate chain (not private key).\",\n            \"type\": \"string\"\n          },\n          \"pkcs12\": {\n            \"description\": \"PKCS#12 format containing a single private/public key pair and certificate chain. This format is only accepted from client for creating a new SmimeInfo and is never returned, because the private key is not intended to be exported. PKCS#12 may be encrypted, in which case encryptedKeyPassword should be set appropriately.\",\n            \"format\": \"byte\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"SmtpMsa\": {\n        \"description\": \"Configuration for communication with an SMTP service.\",\n        \"properties\": {\n          \"host\": {\n            \"description\": \"The hostname of the SMTP service. Required.\",\n            \"type\": \"string\"\n          },\n          \"password\": {\n            \"description\": \"The password that will be used for authentication with the SMTP service. This is a write-only field that can be specified in requests to create or update SendAs settings; it is never populated in responses.\",\n            \"type\": \"string\"\n          },\n          \"port\": {\n            \"description\": \"The port of the SMTP service. Required.\",\n            \"format\": \"int32\",\n            \"type\": \"integer\"\n          },\n          \"securityMode\": {\n            \"description\": \"The protocol that will be used to secure communication with the SMTP service. Required.\",\n            \"enum\": [\n              \"securityModeUnspecified\",\n              \"none\",\n              \"ssl\",\n              \"starttls\"\n            ],\n            \"type\": \"string\"\n          },\n          \"username\": {\n            \"description\": \"The username that will be used for authentication with the SMTP service. This is a write-only field that can be specified in requests to create or update SendAs settings; it is never populated in responses.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"Thread\": {\n        \"description\": \"A collection of messages representing a conversation.\",\n        \"properties\": {\n          \"historyId\": {\n            \"description\": \"The ID of the last history record that modified this thread.\",\n            \"format\": \"uint64\",\n            \"type\": \"string\"\n          },\n          \"id\": {\n            \"description\": \"The unique ID of the thread.\",\n            \"type\": \"string\"\n          },\n          \"messages\": {\n            \"description\": \"The list of messages in the thread.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Message\"\n            },\n            \"type\": \"array\"\n          },\n          \"snippet\": {\n            \"description\": \"A short part of the message text.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"VacationSettings\": {\n        \"description\": \"Vacation auto-reply settings for an account. These settings correspond to the \\\"Vacation responder\\\" feature in the web interface.\",\n        \"properties\": {\n          \"enableAutoReply\": {\n            \"description\": \"Flag that controls whether Gmail automatically replies to messages.\",\n            \"type\": \"boolean\"\n          },\n          \"endTime\": {\n            \"description\": \"An optional end time for sending auto-replies (epoch ms). When this is specified, Gmail will automatically reply only to messages that it receives before the end time. If both `startTime` and `endTime` are specified, `startTime` must precede `endTime`.\",\n            \"format\": \"int64\",\n            \"type\": \"string\"\n          },\n          \"responseBodyHtml\": {\n            \"description\": \"Response body in HTML format. Gmail will sanitize the HTML before storing it. If both `response_body_plain_text` and `response_body_html` are specified, `response_body_html` will be used.\",\n            \"type\": \"string\"\n          },\n          \"responseBodyPlainText\": {\n            \"description\": \"Response body in plain text format. If both `response_body_plain_text` and `response_body_html` are specified, `response_body_html` will be used.\",\n            \"type\": \"string\"\n          },\n          \"responseSubject\": {\n            \"description\": \"Optional text to prepend to the subject line in vacation responses. In order to enable auto-replies, either the response subject or the response body must be nonempty.\",\n            \"type\": \"string\"\n          },\n          \"restrictToContacts\": {\n            \"description\": \"Flag that determines whether responses are sent to recipients who are not in the user's list of contacts.\",\n            \"type\": \"boolean\"\n          },\n          \"restrictToDomain\": {\n            \"description\": \"Flag that determines whether responses are sent to recipients who are outside of the user's domain. This feature is only available for Google Workspace users.\",\n            \"type\": \"boolean\"\n          },\n          \"startTime\": {\n            \"description\": \"An optional start time for sending auto-replies (epoch ms). When this is specified, Gmail will automatically reply only to messages that it receives after the start time. If both `startTime` and `endTime` are specified, `startTime` must precede `endTime`.\",\n            \"format\": \"int64\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"WatchRequest\": {\n        \"description\": \"Set up or update a new push notification watch on this user's mailbox.\",\n        \"properties\": {\n          \"labelFilterAction\": {\n            \"description\": \"Filtering behavior of labelIds list specified.\",\n            \"enum\": [\n              \"include\",\n              \"exclude\"\n            ],\n            \"type\": \"string\"\n          },\n          \"labelIds\": {\n            \"description\": \"List of label_ids to restrict notifications about. By default, if unspecified, all changes are pushed out. If specified then dictates which labels are required for a push notification to be generated.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          },\n          \"topicName\": {\n            \"description\": \"A fully qualified Google Cloud Pub/Sub API topic name to publish the events to. This topic name **must** already exist in Cloud Pub/Sub and you **must** have already granted gmail \\\"publish\\\" permission on it. For example, \\\"projects/my-project-identifier/topics/my-topic-name\\\" (using the Cloud Pub/Sub \\\"v1\\\" topic naming format). Note that the \\\"my-project-identifier\\\" portion must exactly match your Google developer project id (the one executing this watch request).\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"WatchResponse\": {\n        \"description\": \"Push notification watch response.\",\n        \"properties\": {\n          \"expiration\": {\n            \"description\": \"When Gmail will stop sending notifications for mailbox updates (epoch millis). Call `watch` again before this time to renew the watch.\",\n            \"format\": \"int64\",\n            \"type\": \"string\"\n          },\n          \"historyId\": {\n            \"description\": \"The ID of the mailbox's current history record.\",\n            \"format\": \"uint64\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      }\n    },\n    \"securitySchemes\": {\n      \"Oauth2\": {\n        \"description\": \"Oauth 2.0 implicit authentication\",\n        \"flows\": {\n          \"implicit\": {\n            \"authorizationUrl\": \"https://accounts.google.com/o/oauth2/auth\",\n            \"scopes\": {\n              \"https://mail.google.com/\": \"Read, compose, send, and permanently delete all your email from Gmail\",\n              \"https://www.googleapis.com/auth/gmail.addons.current.action.compose\": \"Manage drafts and send emails when you interact with the add-on\",\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.action\": \"View your email messages when you interact with the add-on\",\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.metadata\": \"View your email message metadata when the add-on is running\",\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.readonly\": \"View your email messages when the add-on is running\",\n              \"https://www.googleapis.com/auth/gmail.compose\": \"Manage drafts and send emails\",\n              \"https://www.googleapis.com/auth/gmail.insert\": \"Add emails into your Gmail mailbox\",\n              \"https://www.googleapis.com/auth/gmail.labels\": \"See and edit your email labels\",\n              \"https://www.googleapis.com/auth/gmail.metadata\": \"View your email message metadata such as labels and headers, but not the email body\",\n              \"https://www.googleapis.com/auth/gmail.modify\": \"Read, compose, and send emails from your Gmail account\",\n              \"https://www.googleapis.com/auth/gmail.readonly\": \"View your email messages and settings\",\n              \"https://www.googleapis.com/auth/gmail.send\": \"Send email on your behalf\",\n              \"https://www.googleapis.com/auth/gmail.settings.basic\": \"See, edit, create, or change your email settings and filters in Gmail\",\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\": \"Manage your sensitive mail settings, including who can manage your mail\"\n            }\n          }\n        },\n        \"type\": \"oauth2\"\n      },\n      \"Oauth2c\": {\n        \"description\": \"Oauth 2.0 authorizationCode authentication\",\n        \"flows\": {\n          \"authorizationCode\": {\n            \"authorizationUrl\": \"https://accounts.google.com/o/oauth2/auth\",\n            \"scopes\": {\n              \"https://mail.google.com/\": \"Read, compose, send, and permanently delete all your email from Gmail\",\n              \"https://www.googleapis.com/auth/gmail.addons.current.action.compose\": \"Manage drafts and send emails when you interact with the add-on\",\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.action\": \"View your email messages when you interact with the add-on\",\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.metadata\": \"View your email message metadata when the add-on is running\",\n              \"https://www.googleapis.com/auth/gmail.addons.current.message.readonly\": \"View your email messages when the add-on is running\",\n              \"https://www.googleapis.com/auth/gmail.compose\": \"Manage drafts and send emails\",\n              \"https://www.googleapis.com/auth/gmail.insert\": \"Add emails into your Gmail mailbox\",\n              \"https://www.googleapis.com/auth/gmail.labels\": \"See and edit your email labels\",\n              \"https://www.googleapis.com/auth/gmail.metadata\": \"View your email message metadata such as labels and headers, but not the email body\",\n              \"https://www.googleapis.com/auth/gmail.modify\": \"Read, compose, and send emails from your Gmail account\",\n              \"https://www.googleapis.com/auth/gmail.readonly\": \"View your email messages and settings\",\n              \"https://www.googleapis.com/auth/gmail.send\": \"Send email on your behalf\",\n              \"https://www.googleapis.com/auth/gmail.settings.basic\": \"See, edit, create, or change your email settings and filters in Gmail\",\n              \"https://www.googleapis.com/auth/gmail.settings.sharing\": \"Manage your sensitive mail settings, including who can manage your mail\"\n            },\n            \"tokenUrl\": \"https://accounts.google.com/o/oauth2/token\"\n          }\n        },\n        \"type\": \"oauth2\"\n      }\n    }\n  }\n}"},{"id":"ibanapi","domain":"api.ibanapi.com","openapi":"{\"openapi\":\"3.0.0\",\"servers\":[{\"description\":\"IBANAPI Server\",\"url\":\"https://api.ibanapi.com/v1\"}],\"info\":{\"contact\":{\"email\":\"samy@ibanapi.com\"},\"description\":\"IBANAPI OpenApi documentation\",\"title\":\"IBANAPI OpenApi Documentation\",\"version\":\"1.0.0\",\"x-apisguru-categories\":[\"financial\"],\"x-logo\":{\"url\":\"https://ibanapi.com/assets/favicon/apple-touch-icon.png\"},\"x-origin\":[{\"format\":\"openapi\",\"url\":\"https://api.ibanapi.com/docs/api-docs.json\",\"version\":\"3.0\"}],\"x-providerName\":\"ibanapi.com\"},\"tags\":[{\"description\":\"API Endpoints of IBANAPI\",\"name\":\"IBANAPI\"}],\"paths\":{\"/balance\":{\"get\":{\"description\":\"Returns the account balance and expiry\",\"operationId\":\"getBalance\",\"responses\":{\"200\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":{\"bank_balance\":100,\"basic_balance\":2000,\"expiry_date\":\"2021-05-16\"},\"type\":\"object\"},\"message\":{\"example\":\"SUCCESS\",\"type\":\"string\"},\"result\":{\"example\":\"200\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"SUCCESS\"},\"400\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"Your balance is exhausted\",\"type\":\"string\"},\"result\":{\"example\":\"400\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"Your balance is exhausted or bad request\"},\"401\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"Your package has expired\",\"type\":\"string\"},\"result\":{\"example\":\"401\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"Package expired or account was blocked\"},\"403\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"Invalid API Key\",\"type\":\"string\"},\"result\":{\"example\":\"403\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"Invalid API Key\"},\"422\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"API key is missing\",\"type\":\"string\"},\"result\":{\"example\":\"422\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"API key is missing\"}},\"security\":[{\"api_key_security\":[]}],\"summary\":\"Get Account Balance\",\"tags\":[\"IBANAPI\"]}},\"/validate\":{\"get\":{\"description\":\"Returns the validation results\",\"operationId\":\"validateIBAN\",\"parameters\":[{\"description\":\"The IBAN\",\"in\":\"query\",\"name\":\"iban\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":{\"bank\":{\"address\":\"TORNIMAE 2 FLOOR 10\",\"bank_name\":\"AS SEB PANK\",\"bic\":\"EEUHEE2X\",\"city\":\"TALLINN\",\"phone\":\"\",\"state\":\"\",\"zip\":\"15010\"},\"bank_account\":\"00102014568\",\"bban\":\"1000001020145685\",\"country_code\":\"EE\",\"country_name\":\"Estonia\",\"currency_code\":\"EUR\",\"iso_alpha3\":\"EST\",\"sepa\":{\"sepa_b2b\":\"No\",\"sepa_card_clearing\":\"No\",\"sepa_credit_transfer\":\"Yes\",\"sepa_direct_debit\":\"No\",\"sepa_sdd_core\":\"No\"},\"sepa_member\":\"Yes\"},\"type\":\"object\"},\"expremental\":{\"example\":\"0\",\"type\":\"integer\"},\"message\":{\"example\":\"Valid IBAN Number\",\"type\":\"string\"},\"result\":{\"example\":\"200\",\"type\":\"integer\"},\"validations\":{\"example\":[{\"message\":\"Valid IBAN length\",\"result\":200},{\"message\":\"Valid IBAN Checksum\",\"result\":200}],\"items\":{},\"type\":\"array\"}},\"type\":\"object\"}}},\"description\":\"Valid IBAN response\"},\"400\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"Your balance is exhausted\",\"type\":\"string\"},\"result\":{\"example\":\"400\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"Your balance is exhausted or bad request\"},\"401\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"Your package has expired\",\"type\":\"string\"},\"result\":{\"example\":\"401\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"Package expired or account was blocked\"},\"403\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"Invalid API Key\",\"type\":\"string\"},\"result\":{\"example\":\"403\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"Invalid API Key\"},\"422\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"API key is missing\",\"type\":\"string\"},\"result\":{\"example\":\"422\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"API key is missing\"}},\"security\":[{\"api_key_security\":[]}],\"summary\":\"Validate IBAN\",\"tags\":[\"IBANAPI\"]}},\"/validate-basic\":{\"get\":{\"description\":\"Returns the basic validation results\",\"operationId\":\"validateIBANBasic\",\"parameters\":[{\"description\":\"The IBAN\",\"in\":\"query\",\"name\":\"iban\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":{\"bban\":\"1000001020145685\",\"country_code\":\"EE\",\"country_name\":\"Estonia\",\"currency_code\":\"EUR\",\"iso_alpha3\":\"EST\",\"sepa\":[],\"sepa_member\":\"Yes\"},\"type\":\"object\"},\"expremental\":{\"example\":\"0\",\"type\":\"integer\"},\"message\":{\"example\":\"Valid IBAN Number\",\"type\":\"string\"},\"result\":{\"example\":\"200\",\"type\":\"integer\"},\"validations\":{\"example\":[{\"message\":\"Valid IBAN length\",\"result\":200},{\"message\":\"Valid IBAN Checksum\",\"result\":200}],\"items\":{},\"type\":\"array\"}},\"type\":\"object\"}}},\"description\":\"Valid IBAN response\"},\"400\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"Your balance is exhausted\",\"type\":\"string\"},\"result\":{\"example\":\"400\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"Your balance is exhausted or bad request\"},\"401\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"Your package has expired\",\"type\":\"string\"},\"result\":{\"example\":\"401\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"Package expired or account was blocked\"},\"403\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"Invalid API Key\",\"type\":\"string\"},\"result\":{\"example\":\"403\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"Invalid API Key\"},\"422\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"API key is missing\",\"type\":\"string\"},\"result\":{\"example\":\"422\",\"type\":\"integer\"}},\"type\":\"object\"}}},\"description\":\"API key is missing\"}},\"security\":[{\"api_key_security\":[]}],\"summary\":\"Validate IBAN Basic\",\"tags\":[\"IBANAPI\"]}}},\"components\":{\"parameters\":{\"iban\":{\"description\":\"The IBAN\",\"in\":\"query\",\"name\":\"iban\",\"required\":true,\"schema\":{\"type\":\"string\"}}},\"schemas\":{\"400\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"Your balance is exhausted\",\"type\":\"string\"},\"result\":{\"example\":\"400\",\"type\":\"integer\"}},\"type\":\"object\"},\"401\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"Your package has expired\",\"type\":\"string\"},\"result\":{\"example\":\"401\",\"type\":\"integer\"}},\"type\":\"object\"},\"403\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"Invalid API Key\",\"type\":\"string\"},\"result\":{\"example\":\"403\",\"type\":\"integer\"}},\"type\":\"object\"},\"422\":{\"properties\":{\"data\":{\"example\":\"{}\",\"type\":\"object\"},\"message\":{\"example\":\"API key is missing\",\"type\":\"string\"},\"result\":{\"example\":\"422\",\"type\":\"integer\"}},\"type\":\"object\"},\"BalanceResponse\":{\"properties\":{\"data\":{\"example\":{\"bank_balance\":100,\"basic_balance\":2000,\"expiry_date\":\"2021-05-16\"},\"type\":\"object\"},\"message\":{\"example\":\"SUCCESS\",\"type\":\"string\"},\"result\":{\"example\":\"200\",\"type\":\"integer\"}},\"type\":\"object\"},\"IBANResult\":{\"properties\":{\"data\":{\"example\":{\"bank\":{\"address\":\"TORNIMAE 2 FLOOR 10\",\"bank_name\":\"AS SEB PANK\",\"bic\":\"EEUHEE2X\",\"city\":\"TALLINN\",\"phone\":\"\",\"state\":\"\",\"zip\":\"15010\"},\"bank_account\":\"00102014568\",\"bban\":\"1000001020145685\",\"country_code\":\"EE\",\"country_name\":\"Estonia\",\"currency_code\":\"EUR\",\"iso_alpha3\":\"EST\",\"sepa\":{\"sepa_b2b\":\"No\",\"sepa_card_clearing\":\"No\",\"sepa_credit_transfer\":\"Yes\",\"sepa_direct_debit\":\"No\",\"sepa_sdd_core\":\"No\"},\"sepa_member\":\"Yes\"},\"type\":\"object\"},\"expremental\":{\"example\":\"0\",\"type\":\"integer\"},\"message\":{\"example\":\"Valid IBAN Number\",\"type\":\"string\"},\"result\":{\"example\":\"200\",\"type\":\"integer\"},\"validations\":{\"example\":[{\"message\":\"Valid IBAN length\",\"result\":200},{\"message\":\"Valid IBAN Checksum\",\"result\":200}],\"items\":{},\"type\":\"array\"}},\"type\":\"object\"},\"IBANResultBasic\":{\"properties\":{\"data\":{\"example\":{\"bban\":\"1000001020145685\",\"country_code\":\"EE\",\"country_name\":\"Estonia\",\"currency_code\":\"EUR\",\"iso_alpha3\":\"EST\",\"sepa\":[],\"sepa_member\":\"Yes\"},\"type\":\"object\"},\"expremental\":{\"example\":\"0\",\"type\":\"integer\"},\"message\":{\"example\":\"Valid IBAN Number\",\"type\":\"string\"},\"result\":{\"example\":\"200\",\"type\":\"integer\"},\"validations\":{\"example\":[{\"message\":\"Valid IBAN length\",\"result\":200},{\"message\":\"Valid IBAN Checksum\",\"result\":200}],\"items\":{},\"type\":\"array\"}},\"type\":\"object\"}},\"securitySchemes\":{\"api_key_security\":{\"description\":\"Your API Key, you can get it from https://ibanapi.com\",\"in\":\"query\",\"name\":\"api_key\",\"type\":\"apiKey\"}}}}"},{"id":"ip2location","domain":"api.ip2location.com","openapi":"{\n  \"openapi\": \"3.0.1\",\n  \"servers\": [\n    {\n      \"url\": \"https://api.ip2location.com/v2\"\n    }\n  ],\n  \"info\": {\n    \"contact\": {\n      \"x-twitter\": \"ip2location\"\n    },\n    \"description\": \"IP2Location web service providing a service to do a reverse lookup of an IP address to an ISO3166 country code, region or state, city, latitude and longitude, ZIP/Postal code, time zone, Internet Service Provider (ISP) or company name, domain name, net speed, area code, weather station code, weather station name, mobile country code (MCC), mobile network code (MNC) and carrier brand, elevation, usage type, address type and IAB category. There are also 7 categories of additional add-on response fields supported such as metro, olson time zone, translations and more. Refer to https://www.ip2location.com/web-service/ip2location for further information.\",\n    \"title\": \"IP2Location IP Geolocation\",\n    \"version\": \"1.0\",\n    \"x-apisguru-categories\": [\n      \"location\"\n    ],\n    \"x-logo\": {\n      \"url\": \"https://twitter.com/ip2location/profile_image?size=original\"\n    },\n    \"x-origin\": [\n      {\n        \"converter\": {\n          \"url\": \"https://github.com/mermade/oas-kit\",\n          \"version\": \"7.0.4\"\n        },\n        \"format\": \"openapi\",\n        \"url\": \"https://api.swaggerhub.com/apis/ip2location/ip2location-ip-geolocation/1.0\",\n        \"version\": \"3.0\"\n      }\n    ],\n    \"x-providerName\": \"ip2location.com\",\n    \"x-serviceName\": \"geolocation\"\n  },\n  \"paths\": {\n    \"/\": {\n      \"get\": {\n        \"description\": \"Get geolocation information via IP address\",\n        \"parameters\": [\n          {\n            \"description\": \"Web service package of different granularity of return information.\",\n            \"in\": \"query\",\n            \"name\": \"package\",\n            \"schema\": {\n              \"enum\": [\n                \"WS1\",\n                \"WS2\",\n                \"WS3\",\n                \"WS4\",\n                \"WS5\",\n                \"WS6\",\n                \"WS7\",\n                \"WS8\",\n                \"WS9\",\n                \"WS10\",\n                \"WS11\",\n                \"WS12\",\n                \"WS13\",\n                \"WS14\",\n                \"WS15\",\n                \"WS16\",\n                \"WS17\",\n                \"WS18\",\n                \"WS19\",\n                \"WS20\",\n                \"WS21\",\n                \"WS22\",\n                \"WS23\",\n                \"WS24\",\n                \"WS25\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Extra information in addition to the above selected package.\",\n            \"explode\": false,\n            \"in\": \"query\",\n            \"name\": \"addon\",\n            \"schema\": {\n              \"example\": \"continent,country\",\n              \"items\": {\n                \"enum\": [\n                  \"continent\",\n                  \"country\",\n                  \"region\",\n                  \"city\",\n                  \"geotargeting\",\n                  \"country_groupings\",\n                  \"time_zone_info\"\n                ],\n                \"type\": \"string\"\n              },\n              \"type\": \"array\"\n            }\n          },\n          {\n            \"description\": \"IP address (IPv4 or IPv6) for reverse IP location lookup purpose. If not present, the server IP address will be used for the location lookup.\",\n            \"in\": \"query\",\n            \"name\": \"ip\",\n            \"required\": true,\n            \"schema\": {\n              \"example\": \"8.8.8.8\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Format of the response message.\",\n            \"in\": \"query\",\n            \"name\": \"format\",\n            \"schema\": {\n              \"enum\": [\n                \"json\",\n                \"xml\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Translation information. The translation only applicable for continent, country, region and city name for the addon package.\",\n            \"in\": \"query\",\n            \"name\": \"lang\",\n            \"schema\": {\n              \"enum\": [\n                \"ar\",\n                \"cs\",\n                \"da\",\n                \"de\",\n                \"en\",\n                \"es\",\n                \"et\",\n                \"fi\",\n                \"fr\",\n                \"ga\",\n                \"it\",\n                \"ja\",\n                \"ko\",\n                \"ms\",\n                \"nl\",\n                \"pt\",\n                \"ru\",\n                \"sv\",\n                \"tr\",\n                \"vi\",\n                \"zh-cn\",\n                \"zh-tw\"\n              ],\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"API Key. Please sign up free trial license key at ip2location.com\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json; charset=utf-8\": {\n                \"examples\": {\n                  \"0\": {\n                    \"value\": \"{\\\"country_code\\\":\\\"\\\",\\\"country_name\\\":\\\"\\\",\\\"region_name\\\":\\\"\\\",\\\"city_name\\\":\\\"\\\",\\\"latitude\\\":\\\"\\\",\\\"longitude\\\":\\\"\\\",\\\"zip_code\\\":\\\"\\\",\\\"time_zone\\\":\\\"\\\",\\\"isp\\\":\\\"\\\",\\\"domain\\\":\\\"\\\",\\\"net_speed\\\":\\\"\\\",\\\"idd_code\\\":\\\"\\\",\\\"area_code\\\":\\\"\\\",\\\"weather_station_code\\\":\\\"\\\",\\\"weather_station_name\\\":\\\"\\\",\\\"mcc\\\":\\\"\\\",\\\"mnc\\\":\\\"\\\",\\\"mobile_brand\\\":\\\"\\\",\\\"elevation\\\":\\\"\\\",\\\"usage_type\\\":\\\"\\\",\\\"address_type\\\":\\\"\\\",\\\"category\\\":\\\"\\\",\\\"category_name\\\":\\\"\\\",\\\"continent\\\":{\\\"name\\\":\\\"\\\",\\\"code\\\":\\\"\\\",\\\"hemisphere\\\":\\\"\\\",\\\"translations\\\":\\\"\\\"},\\\"country\\\":{\\\"name\\\":\\\"\\\",\\\"alpha3_code\\\":\\\"\\\",\\\"numeric_code\\\":\\\"\\\",\\\"demonym\\\":\\\"\\\",\\\"flag\\\":\\\"\\\",\\\"capital\\\":\\\"\\\",\\\"total_area\\\":\\\"\\\",\\\"population\\\":\\\"\\\",\\\"currency\\\":\\\"{\\\"code\\\":\\\"\\\",\\\"name\\\":\\\"\\\",\\\"symbol\\\":\\\"\\\"}\\\",\\\"language\\\":\\\"{\\\"code\\\":\\\"\\\",\\\"name\\\":\\\"\\\"}\\\"\\\",\\\"idd_code\\\":\\\"\\\",\\\"tld\\\":\\\"\\\",\\\"translations\\\":\\\"\\\"},\\\"region\\\":{\\\"name\\\":\\\"\\\",\\\"code\\\":\\\"\\\",\\\"translations\\\":\\\"\\\"},\\\"city\\\":{\\\"name\\\":\\\"\\\",\\\"translations\\\":\\\"[]\\\"},\\\"geotargeting\\\":{\\\"metro\\\": \\\"\\\"},\\\"country_groupings\\\":{\\\"acronym\\\":\\\"\\\",\\\"name\\\": \\\"\\\"},\\\"time_zone_info\\\":{\\\"olson\\\":\\\"\\\",\\\"current_time\\\":\\\"\\\",\\\"gmt_offset\\\":\\\"\\\",\\\"is_dst\\\":\\\"\\\",\\\"sunrise\\\":\\\"\\\",\\\"sunset\\\":\\\"\\\"}}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              }\n            },\n            \"description\": \"Get response from IP lookup\"\n          }\n        }\n      }\n    }\n  }\n}"},{"id":"ipinfo","domain":"ipinfo.io","openapi":"{\"openapi\":\"3.0.0\",\"info\":{\"title\":\"IPinfo API\",\"version\":\"1.0.2\"},\"servers\":[{\"url\":\"https://ipinfo.io\"}],\"paths\":{\"/{ip}\":{\"get\":{\"summary\":\"Get IP address information\",\"parameters\":[{\"name\":\"ip\",\"in\":\"path\",\"description\":\"IPv4 or IPv6 address\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"IP address information\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"ip\":{\"type\":\"string\"},\"city\":{\"type\":\"string\"},\"region\":{\"type\":\"string\"},\"country\":{\"type\":\"string\"},\"loc\":{\"type\":\"string\"},\"org\":{\"type\":\"string\"},\"postal\":{\"type\":\"string\"}}}}}}},\"security\":[{\"APIKey\":[]}]}}},\"components\":{\"securitySchemes\":{\"APIKey\":{\"type\":\"apiKey\",\"in\":\"header\",\"name\":\"Authorization\",\"description\":\"API key for authentication\"}}}}"},{"id":"instacart","domain":"www.instacart.com","openapi":"{\"openapi\":\"3.0.1\",\"info\":{\"title\":\"Instacart\",\"description\":\"Order from your favorite local grocery stores.\",\"version\":\"v2.0\"},\"servers\":[{\"url\":\"https://www.instacart.com\"}],\"paths\":{\"/rest/llm_integration/openapi/v2_0/recipes\":{\"post\":{\"operationId\":\"create\",\"summary\":\"Create an Instacart link to the shopping list of ingredients.\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/createRequest\"}}}},\"responses\":{\"200\":{\"description\":\"Instacart link to the shopping list of ingredients.\"},\"400\":{\"description\":\"Could not create an Instacart link to the shopping list of ingredients.\"}}}}},\"components\":{\"schemas\":{\"createRequest\":{\"type\":\"object\",\"required\":[\"title\",\"ingredients\",\"question\",\"partner_name\"],\"properties\":{\"title\":{\"type\":\"string\",\"description\":\"Recipe title (e.g. \\\"Vanilla Yogurt Parfait\\\")\"},\"ingredients\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"List of strings where each element is a recipe ingredient (e.g. [\\\"2 cups of greek yogurt\\\", \\\"2 tablespoons of honey\\\", \\\"1 teaspoon of vanilla extract\\\"]). Don't include items in the list that the user already mentioned they have.\"},\"question\":{\"type\":\"string\",\"description\":\"This field stores the question asked by the user about recipe or mealplan in the current chat session. For instance, a user can ask \\\"recipe for chocolate cookies\\\" and the assistant responds by listing the ingredients needed to make chocolate cookies. In this chat interaction, we need to return \\\"recipe for chocolate cookies\\\" as the value in this field\"},\"partner_name\":{\"type\":\"string\",\"description\":\"The value used to populate this field should always be \\\"OpenAI\\\"\"}}}}}}"},{"id":"neon","domain":"console.neon.tech","openapi":"{\n    \"openapi\": \"3.0.3\",\n    \"servers\": [\n        {\n            \"url\": \"https://console.neon.tech/api/v2\"\n        }\n    ],\n    \"info\": {\n        \"title\": \"Neon API\",\n        \"description\": \"The Neon API allows you to access and manage Neon programmatically. You can use the Neon API to manage API keys, projects, branches, endpoints, databases, roles, and operations. For information about these features, refer to the [Neon documentation](https://neon.tech/docs/manage/overview/).\\n\\nYou can run Neon API requests from this API reference using the **Try it out** feature that is provided for each method. Click **Authorize** to enter an API key.\\n\\nYou can create and manage API keys in the Neon Console. See [Manage API keys](https://neon.tech/docs/manage/api-keys/) for instructions.\",\n        \"version\": \"v2\",\n        \"contact\": {\n            \"email\": \"support@neon.tech\"\n        },\n        \"license\": {\n            \"name\": \"Proprietary\"\n        }\n    },\n    \"security\": [\n        {\n            \"BearerAuth\": []\n        }\n    ],\n    \"tags\": [\n        {\n            \"name\": \"API Key\",\n            \"description\": \"These methods allow you to create and manage API keys for your Neon account. For related information, see [Manage API keys](https://neon.tech/docs/manage/api-keys).\"\n        },\n        {\n            \"name\": \"Operation\",\n            \"description\": \"These methods allow you to view operation details for your Neon project. For related information, see [Operations](https://neon.tech/docs/manage/operations).\"\n        },\n        {\n            \"name\": \"Project\",\n            \"description\": \"These methods allow you to create and manage Neon projects. For related information, see [Manage projects](https://neon.tech/docs/manage/projects).\"\n        },\n        {\n            \"name\": \"Branch\",\n            \"description\": \"These methods allow you to create and manage branches in your Neon project. For related information, see [Manage branches](https://neon.tech/docs/manage/branches).\"\n        },\n        {\n            \"name\": \"Endpoint\",\n            \"description\": \"These methods allow you to create and manage compute endpoints in your Neon project. For related information, see [Manage compute endpoints](https://neon.tech/docs/manage/endpoints).\"\n        },\n        {\n            \"name\": \"Preview\",\n            \"description\": \"New API methods that are in Beta / Preview state and could be subjected to significant changes in the future.\"\n        }\n    ],\n    \"paths\": {\n        \"/projects/{project_id}/applications/vercel\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"description\": \"Neon project ID\",\n                    \"in\": \"path\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ]\n        },\n        \"/applications/oauth/{client_id}\": {\n            \"parameters\": [\n                {\n                    \"name\": \"client_id\",\n                    \"in\": \"path\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ]\n        },\n        \"/api_keys\": {\n            \"get\": {\n                \"summary\": \"Get a list of API keys\",\n                \"description\": \"Retrieves the API keys for your Neon account.\\nThe response does not include API key tokens. A token is only provided when creating an API key.\\nAPI keys can also be managed in the Neon Console.\\nFor more information, see [Manage API keys](https://neon.tech/docs/manage/api-keys/).\\n\",\n                \"tags\": [\n                    \"API Key\"\n                ],\n                \"operationId\": \"listApiKeys\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned the API keys for the Neon account\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/ApiKeysListResponseItem\"\n                                    },\n                                    \"example\": [\n                                        {\n                                            \"id\": 165432,\n                                            \"name\": \"mykey_1\",\n                                            \"created_at\": \"2022-11-15T20:13:35Z\",\n                                            \"last_used_at\": \"2022-11-15T20:22:51Z\",\n                                            \"last_used_from_addr\": \"192.0.2.255\"\n                                        },\n                                        {\n                                            \"id\": 165433,\n                                            \"name\": \"mykey_2\",\n                                            \"created_at\": \"2022-11-15T20:12:36Z\",\n                                            \"last_used_at\": \"2022-11-15T20:15:04Z\",\n                                            \"last_used_from_addr\": \"192.0.2.255\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"post\": {\n                \"summary\": \"Create an API key\",\n                \"description\": \"Creates an API key.\\nThe `key_name` is a user-specified name for the key.\\nThis method returns an `id` and `key`. The `key` is a randomly generated, 64-bit token required to access the Neon API.\\nAPI keys can also be managed in the Neon Console.\\nSee [Manage API keys](https://neon.tech/docs/manage/api-keys/).\\n\",\n                \"tags\": [\n                    \"API Key\"\n                ],\n                \"operationId\": \"createApiKey\",\n                \"requestBody\": {\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/ApiKeyCreateRequest\"\n                            },\n                            \"example\": {\n                                \"key_name\": \"mykey\"\n                            }\n                        }\n                    },\n                    \"required\": true\n                },\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Created an API key\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/ApiKeyCreateResponse\"\n                                },\n                                \"example\": {\n                                    \"id\": 165434,\n                                    \"key\": \"9v1faketcjbl4sn1013keyd43n2a8qlfakeog8yvp40hx16keyjo1bpds4y2dfms3\"\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/api_keys/{key_id}\": {\n            \"delete\": {\n                \"summary\": \"Revoke an API key\",\n                \"description\": \"Revokes the specified API key.\\nAn API key that is no longer needed can be revoked.\\nThis action cannot be reversed.\\nYou can obtain `key_id` values by listing the API keys for your Neon account.\\nAPI keys can also be managed in the Neon Console.\\nSee [Manage API keys](https://neon.tech/docs/manage/api-keys/).\\n\",\n                \"tags\": [\n                    \"API Key\"\n                ],\n                \"operationId\": \"revokeApiKey\",\n                \"parameters\": [\n                    {\n                        \"name\": \"key_id\",\n                        \"in\": \"path\",\n                        \"description\": \"The API key ID\",\n                        \"required\": true,\n                        \"schema\": {\n                            \"type\": \"integer\",\n                            \"format\": \"int64\"\n                        }\n                    }\n                ],\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Revoked the specified API key\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/ApiKeyRevokeResponse\"\n                                },\n                                \"example\": {\n                                    \"id\": 165435,\n                                    \"name\": \"mykey\",\n                                    \"revoked\": true,\n                                    \"last_used_at\": \"2022-11-15T20:15:04Z\",\n                                    \"last_used_from_addr\": \"192.0.2.255\"\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/operations/{operation_id}\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"operation_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The operation ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\"\n                    }\n                }\n            ],\n            \"get\": {\n                \"summary\": \"Get operation details\",\n                \"description\": \"Retrieves details for the specified operation.\\nAn operation is an action performed on a Neon project resource.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain a `operation_id` by listing operations for the project.\\n\",\n                \"tags\": [\n                    \"Operation\"\n                ],\n                \"operationId\": \"getProjectOperation\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned details for the specified operation\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/OperationResponse\"\n                                },\n                                \"example\": {\n                                    \"operation\": {\n                                        \"id\": \"a07f8772-1877-4da9-a939-3a3ae62d1d8d\",\n                                        \"project_id\": \"floral-king-961888\",\n                                        \"branch_id\": \"br-bitter-sound-247814\",\n                                        \"endpoint_id\": \"ep-dark-snowflake-942567\",\n                                        \"action\": \"create_timeline\",\n                                        \"status\": \"finished\",\n                                        \"failures_count\": 0,\n                                        \"created_at\": \"2022-10-04T18:20:17Z\",\n                                        \"updated_at\": \"2022-10-04T18:20:18Z\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects\": {\n            \"get\": {\n                \"summary\": \"Get a list of projects\",\n                \"description\": \"Retrieves a list of projects for the Neon account.\\nA project is the top-level object in the Neon object hierarchy.\\nFor more information, see [Manage projects](https://neon.tech/docs/manage/projects/).\\n\",\n                \"tags\": [\n                    \"Project\"\n                ],\n                \"operationId\": \"listProjects\",\n                \"parameters\": [\n                    {\n                        \"name\": \"cursor\",\n                        \"description\": \"Specify the cursor value from the previous response to get the next batch of projects.\",\n                        \"in\": \"query\",\n                        \"schema\": {\n                            \"type\": \"string\"\n                        }\n                    },\n                    {\n                        \"name\": \"limit\",\n                        \"description\": \"Specify a value from 1 to 100 to limit number of projects in the response.\",\n                        \"in\": \"query\",\n                        \"schema\": {\n                            \"type\": \"integer\",\n                            \"minimum\": 1,\n                            \"default\": 10,\n                            \"maximum\": 100\n                        }\n                    }\n                ],\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned a list of projects for the Neon account\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"allOf\": [\n                                        {\n                                            \"$ref\": \"#/components/schemas/ProjectsResponse\"\n                                        },\n                                        {\n                                            \"$ref\": \"#/components/schemas/PaginationResponse\"\n                                        }\n                                    ]\n                                },\n                                \"example\": {\n                                    \"projects\": [\n                                        {\n                                            \"id\": \"shiny-wind-028834\",\n                                            \"platform_id\": \"aws\",\n                                            \"region_id\": \"aws-us-east-2\",\n                                            \"name\": \"shiny-wind-028834\",\n                                            \"provisioner\": \"k8s-pod\",\n                                            \"pg_version\": 15,\n                                            \"created_at\": \"2022-11-23T17:42:25Z\",\n                                            \"updated_at\": \"2022-11-23T17:42:25Z\",\n                                            \"proxy_host\": \"us-east-2.aws.neon.tech\",\n                                            \"cpu_used_sec\": 0,\n                                            \"branch_logical_size_limit\": 0\n                                        },\n                                        {\n                                            \"id\": \"winter-boat-259881\",\n                                            \"platform_id\": \"aws\",\n                                            \"region_id\": \"aws-us-east-2\",\n                                            \"name\": \"winter-boat-259881\",\n                                            \"provisioner\": \"k8s-pod\",\n                                            \"pg_version\": 15,\n                                            \"created_at\": \"2022-11-23T17:52:25Z\",\n                                            \"updated_at\": \"2022-11-23T17:52:25Z\",\n                                            \"proxy_host\": \"us-east-2.aws.neon.tech\",\n                                            \"cpu_used_sec\": 0,\n                                            \"branch_logical_size_limit\": 0\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"post\": {\n                \"summary\": \"Create a project\",\n                \"description\": \"Creates a Neon project.\\nA project is the top-level object in the Neon object hierarchy.\\nPlan limits define how many projects you can create.\\nNeon's Free plan permits one project per Neon account.\\nFor more information, see [Manage projects](https://neon.tech/docs/manage/projects/).\\n\\nYou can specify a region and PostgreSQL version in the request body.\\nNeon currently supports PostgreSQL 14 and 15.\\nFor supported regions and `region_id` values, see [Regions](https://neon.tech/docs/introduction/regions/).\\n\",\n                \"tags\": [\n                    \"Project\"\n                ],\n                \"operationId\": \"createProject\",\n                \"requestBody\": {\n                    \"required\": true,\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/ProjectCreateRequest\"\n                            },\n                            \"examples\": {\n                                \"Required attributes only\": {\n                                    \"value\": {\n                                        \"project\": {\n                                            \"name\": \"myproject\"\n                                        }\n                                    }\n                                },\n                                \"Commonly-specified attributes\": {\n                                    \"value\": {\n                                        \"project\": {\n                                            \"name\": \"myproject\",\n                                            \"region_id\": \"aws-us-east-2\",\n                                            \"pg_version\": 15\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    }\n                },\n                \"responses\": {\n                    \"201\": {\n                        \"$ref\": \"#/components/responses/CreatedProject\"\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"get\": {\n                \"summary\": \"Get project details\",\n                \"description\": \"Retrieves information about the specified project.\\nA project is the top-level object in the Neon object hierarchy.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\n\",\n                \"tags\": [\n                    \"Project\"\n                ],\n                \"operationId\": \"getProject\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned information about the specified project\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/ProjectResponse\"\n                                },\n                                \"example\": {\n                                    \"project\": {\n                                        \"id\": \"shiny-wind-028834\",\n                                        \"platform_id\": \"aws\",\n                                        \"region_id\": \"aws-us-east-2\",\n                                        \"name\": \"shiny-wind-028834\",\n                                        \"provisioner\": \"k8s-pod\",\n                                        \"pg_version\": 15,\n                                        \"created_at\": \"2022-11-23T17:42:25Z\",\n                                        \"updated_at\": \"2022-11-23T17:42:25Z\",\n                                        \"proxy_host\": \"us-east-2.aws.neon.tech\",\n                                        \"branch_logical_size_limit\": 0,\n                                        \"cpu_used_sec\": 10\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"patch\": {\n                \"summary\": \"Update a project\",\n                \"description\": \"Updates the specified project.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nNeon permits updating the project name only.\\n\",\n                \"tags\": [\n                    \"Project\"\n                ],\n                \"operationId\": \"updateProject\",\n                \"requestBody\": {\n                    \"required\": true,\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/ProjectUpdateRequest\"\n                            },\n                            \"example\": {\n                                \"project\": {\n                                    \"name\": \"myproject\"\n                                }\n                            }\n                        }\n                    }\n                },\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Updated the specified project\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/ProjectOperations\"\n                                },\n                                \"example\": {\n                                    \"operations\": [],\n                                    \"project\": {\n                                        \"id\": \"shiny-wind-028834\",\n                                        \"platform_id\": \"aws\",\n                                        \"region_id\": \"aws-us-east-2\",\n                                        \"name\": \"myproject\",\n                                        \"provisioner\": \"k8s-pod\",\n                                        \"pg_version\": 15,\n                                        \"created_at\": \"2022-11-23T17:42:25Z\",\n                                        \"updated_at\": \"2022-12-04T02:39:25Z\",\n                                        \"proxy_host\": \"us-east-2.aws.neon.tech\",\n                                        \"branch_logical_size_limit\": 0,\n                                        \"cpu_used_sec\": 213230\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"delete\": {\n                \"summary\": \"Delete a project\",\n                \"description\": \"Deletes the specified project.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nDeleting a project is a permanent action.\\nDeleting a project also deletes endpoints, branches, databases, and users that belong to the project.\\n\",\n                \"tags\": [\n                    \"Project\"\n                ],\n                \"operationId\": \"deleteProject\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Deleted the specified project\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/ProjectResponse\"\n                                },\n                                \"example\": {\n                                    \"project\": {\n                                        \"id\": \"bold-cloud-468218\",\n                                        \"platform_id\": \"aws\",\n                                        \"region_id\": \"aws-us-east-2\",\n                                        \"name\": \"bold-cloud-468218\",\n                                        \"provisioner\": \"k8s-pod\",\n                                        \"pg_version\": 15,\n                                        \"created_at\": \"2022-11-30T18:41:29Z\",\n                                        \"updated_at\": \"2022-11-30T18:41:29Z\",\n                                        \"proxy_host\": \"us-east-2.aws.neon.tech\",\n                                        \"cpu_used_sec\": 23004200,\n                                        \"branch_logical_size_limit\": 0\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/operations\": {\n            \"get\": {\n                \"summary\": \"Get a list of operations\",\n                \"description\": \"Retrieves a list of operations for the specified Neon project.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nThe number of operations returned can be large.\\nTo paginate the response, issue an initial request with a `limit` value.\\nThen, add the `cursor` value that was returned in the response to the next request.\\n\",\n                \"tags\": [\n                    \"Operation\"\n                ],\n                \"operationId\": \"listProjectOperations\",\n                \"parameters\": [\n                    {\n                        \"name\": \"cursor\",\n                        \"description\": \"Specify the cursor value from the previous response to get the next batch of operations\",\n                        \"in\": \"query\",\n                        \"schema\": {\n                            \"type\": \"string\"\n                        }\n                    },\n                    {\n                        \"name\": \"limit\",\n                        \"description\": \"Specify a value from 1 to 1000 to limit number of operations in the response\",\n                        \"in\": \"query\",\n                        \"schema\": {\n                            \"type\": \"integer\",\n                            \"minimum\": 1,\n                            \"maximum\": 1000\n                        }\n                    },\n                    {\n                        \"name\": \"project_id\",\n                        \"in\": \"path\",\n                        \"description\": \"The Neon project ID\",\n                        \"required\": true,\n                        \"schema\": {\n                            \"type\": \"string\"\n                        }\n                    }\n                ],\n                \"responses\": {\n                    \"200\": {\n                        \"$ref\": \"#/components/responses/ListOperations\"\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/saved_queries\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ]\n        },\n        \"/projects/{project_id}/permissions\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ]\n        },\n        \"/projects/{project_id}/permissions/{permission_id}\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"permission_id\",\n                    \"in\": \"path\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ]\n        },\n        \"/saved_queries/{saved_query_id}\": {\n            \"parameters\": [\n                {\n                    \"name\": \"saved_query_id\",\n                    \"in\": \"path\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    }\n                }\n            ]\n        },\n        \"/projects/{project_id}/branches\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"post\": {\n                \"summary\": \"Create a branch\",\n                \"description\": \"Creates a branch in the specified project.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\n\\nThis method does not require a request body, but you can specify one to create an endpoint for the branch or to select a non-default parent branch.\\nThe default behavior is to create a branch from the project's root branch (`main`) with no endpoint, and the branch name is auto-generated.\\nFor related information, see [Manage branches](https://neon.tech/docs/manage/branches/).\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"createProjectBranch\",\n                \"requestBody\": {\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/BranchCreateRequest\"\n                            },\n                            \"examples\": {\n                                \"Branch only\": {\n                                    \"value\": {\n                                        \"branch\": {\n                                            \"parent_id\": \"br-aged-salad-637688\",\n                                            \"name\": \"mybranch\"\n                                        }\n                                    }\n                                },\n                                \"Branch with endpoint\": {\n                                    \"value\": {\n                                        \"endpoints\": [\n                                            {\n                                                \"type\": \"read_write\"\n                                            }\n                                        ],\n                                        \"branch\": {\n                                            \"parent_id\": \"br-aged-salad-637688\",\n                                            \"name\": \"mybranch\"\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"required\": false\n                },\n                \"responses\": {\n                    \"201\": {\n                        \"$ref\": \"#/components/responses/CreatedBranch\"\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"get\": {\n                \"summary\": \"Get a list of branches\",\n                \"description\": \"Retrieves a list of branches for the specified project.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\n\\nEach Neon project has a root branch named `main`.\\nA `branch_id` value has a `br-` prefix.\\nA project may contain child branches that were branched from `main` or from another branch.\\nA parent branch is identified by the `parent_id` value, which is the `id` of the parent branch.\\nFor related information, see [Manage branches](https://neon.tech/docs/manage/branches/).\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"listProjectBranches\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned a list of branches for the specified project\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/BranchesResponse\"\n                                },\n                                \"example\": {\n                                    \"branches\": [\n                                        {\n                                            \"id\": \"br-aged-salad-637688\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"name\": \"main\",\n                                            \"current_state\": \"ready\",\n                                            \"logical_size\": 28,\n                                            \"logical_size_limit\": 3072,\n                                            \"created_at\": \"2022-11-23T17:42:25Z\",\n                                            \"updated_at\": \"2022-11-23T17:42:26Z\"\n                                        },\n                                        {\n                                            \"id\": \"br-sweet-breeze-497520\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"parent_id\": \"br-aged-salad-637688\",\n                                            \"parent_lsn\": \"0/1DE2850\",\n                                            \"name\": \"dev2\",\n                                            \"current_state\": \"ready\",\n                                            \"logical_size\": 28,\n                                            \"logical_size_limit\": 3072,\n                                            \"created_at\": \"2022-11-30T19:09:48Z\",\n                                            \"updated_at\": \"2022-11-30T19:09:49Z\"\n                                        },\n                                        {\n                                            \"id\": \"br-raspy-hill-832856\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"parent_id\": \"br-aged-salad-637688\",\n                                            \"parent_lsn\": \"0/19623D8\",\n                                            \"name\": \"dev1\",\n                                            \"current_state\": \"ready\",\n                                            \"logical_size\": 21,\n                                            \"logical_size_limit\": 3072,\n                                            \"created_at\": \"2022-11-30T17:36:57Z\",\n                                            \"updated_at\": \"2022-11-30T17:36:57Z\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/branches/{branch_id}\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"branch_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The branch ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"get\": {\n                \"summary\": \"Get branch details\",\n                \"description\": \"Retrieves information about the specified branch.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain a `branch_id` by listing the project's branches.\\nA `branch_id` value has a `br-` prefix.\\n\\nEach Neon project has a root branch named `main`.\\nA project may contain child branches that were branched from `main` or from another branch.\\nA parent branch is identified by a `parent_id` value, which is the `id` of the parent branch.\\nFor related information, see [Manage branches](https://neon.tech/docs/manage/branches/).\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"getProjectBranch\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned information about the specified branch\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/BranchResponse\"\n                                },\n                                \"example\": {\n                                    \"branch\": {\n                                        \"id\": \"br-aged-salad-637688\",\n                                        \"project_id\": \"shiny-wind-028834\",\n                                        \"name\": \"main\",\n                                        \"current_state\": \"ready\",\n                                        \"logical_size\": 28,\n                                        \"logical_size_limit\": 3072,\n                                        \"created_at\": \"2022-11-23T17:42:25Z\",\n                                        \"updated_at\": \"2022-11-23T17:42:26Z\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"delete\": {\n                \"summary\": \"Delete a branch\",\n                \"description\": \"Deletes the specified branch from a project, and places\\nall endpoints into an idle state, breaking existing client connections.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain a `branch_id` by listing the project's branches.\\nFor related information, see [Manage branches](https://neon.tech/docs/manage/branches/).\\n\\nWhen a successful response status is received, the endpoints are still active,\\nand the branch is not yet deleted from storage.\\nThe deletion occurs after all operations finish.\\nYou cannot delete a branch if it is the only remaining branch in the project.\\nA project must have at least one branch.\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"deleteProjectBranch\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Deleted the specified branch\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/BranchOperations\"\n                                },\n                                \"example\": {\n                                    \"branch\": {\n                                        \"id\": \"br-aged-salad-637688\",\n                                        \"project_id\": \"shiny-wind-028834\",\n                                        \"name\": \"main\",\n                                        \"current_state\": \"ready\",\n                                        \"logical_size\": 28,\n                                        \"logical_size_limit\": 3072,\n                                        \"created_at\": \"2022-11-23T17:42:25Z\",\n                                        \"updated_at\": \"2022-11-23T17:42:26Z\"\n                                    },\n                                    \"operations\": [\n                                        {\n                                            \"id\": \"b6afbc21-2990-4a76-980b-b57d8c2948f2\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-sweet-breeze-497520\",\n                                            \"endpoint_id\": \"ep-soft-violet-752733\",\n                                            \"action\": \"suspend_compute\",\n                                            \"status\": \"running\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-01T19:53:05Z\",\n                                            \"updated_at\": \"2022-12-01T19:53:05Z\"\n                                        },\n                                        {\n                                            \"id\": \"b6afbc21-2990-4a76-980b-b57d8c2948f2\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-sweet-breeze-497520\",\n                                            \"action\": \"delete_timeline\",\n                                            \"status\": \"scheduling\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-01T19:53:05Z\",\n                                            \"updated_at\": \"2022-12-01T19:53:05Z\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"patch\": {\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"summary\": \"Update a branch\",\n                \"description\": \"Updates the specified branch. Only changing the branch name is supported.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` by listing the project's branches.\\nFor more information, see [Manage branches](https://neon.tech/docs/manage/branches/).\\n\",\n                \"operationId\": \"updateProjectBranch\",\n                \"requestBody\": {\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/BranchUpdateRequest\"\n                            },\n                            \"example\": {\n                                \"branch\": {\n                                    \"name\": \"mybranch\"\n                                }\n                            }\n                        }\n                    },\n                    \"required\": true\n                },\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Updated the specified branch\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/BranchOperations\"\n                                },\n                                \"example\": {\n                                    \"branch\": {\n                                        \"id\": \"br-icy-dream-250089\",\n                                        \"project_id\": \"shiny-wind-028834\",\n                                        \"parent_id\": \"br-aged-salad-637688\",\n                                        \"parent_lsn\": \"0/1E19478\",\n                                        \"name\": \"mybranch\",\n                                        \"current_state\": \"ready\",\n                                        \"created_at\": \"2022-11-23T17:42:25Z\",\n                                        \"updated_at\": \"2022-11-23T17:42:26Z\"\n                                    },\n                                    \"operations\": []\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/branches/{branch_id}/set_as_primary\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"branch_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The branch ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"post\": {\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"summary\": \"Set the branch as the primary branch of a project\",\n                \"description\": \"The primary mark is automatically removed from the previous primary branch.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` by listing the project's branches.\\nFor more information, see [Manage branches](https://neon.tech/docs/manage/branches/).\\n\",\n                \"operationId\": \"setPrimaryProjectBranch\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Updated the specified branch\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/BranchOperations\"\n                                },\n                                \"example\": {\n                                    \"branch\": {\n                                        \"id\": \"br-icy-dream-250089\",\n                                        \"project_id\": \"shiny-wind-028834\",\n                                        \"parent_id\": \"br-aged-salad-637688\",\n                                        \"parent_lsn\": \"0/1E19478\",\n                                        \"name\": \"mybranch\",\n                                        \"current_state\": \"ready\",\n                                        \"created_at\": \"2022-11-23T17:42:25Z\",\n                                        \"updated_at\": \"2022-11-23T17:42:26Z\",\n                                        \"primary\": true\n                                    },\n                                    \"operations\": []\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/branches/{branch_id}/endpoints\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"branch_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The branch ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"get\": {\n                \"summary\": \"Get a list of branch endpoints\",\n                \"description\": \"Retrieves a list of endpoints for the specified branch.\\nCurrently, Neon permits only one endpoint per branch.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` by listing the project's branches.\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"listProjectBranchEndpoints\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned a list of endpoints for the specified branch\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/EndpointsResponse\"\n                                },\n                                \"example\": {\n                                    \"endpoints\": {\n                                        \"host\": \"ep-little-smoke-851426.us-east-2.aws.neon.tech\",\n                                        \"id\": \"ep-little-smoke-851426\",\n                                        \"project_id\": \"shiny-wind-028834\",\n                                        \"branch_id\": \"br-aged-salad-637688\",\n                                        \"autoscaling_limit_min_cu\": 1,\n                                        \"autoscaling_limit_max_cu\": 1,\n                                        \"region_id\": \"aws-us-east-2\",\n                                        \"type\": \"read_write\",\n                                        \"current_state\": \"idle\",\n                                        \"settings\": {\n                                            \"pg_settings\": {}\n                                        },\n                                        \"pooler_enabled\": false,\n                                        \"pooler_mode\": \"transaction\",\n                                        \"disabled\": false,\n                                        \"passwordless_access\": true,\n                                        \"last_active\": \"2022-11-23T17:00:00Z\",\n                                        \"created_at\": \"2022-11-23T17:42:25Z\",\n                                        \"updated_at\": \"2022-11-30T18:25:21Z\",\n                                        \"proxy_host\": \"us-east-2.aws.neon.tech\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/branches/{branch_id}/databases\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"branch_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The branch ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"get\": {\n                \"summary\": \"Get a list of databases\",\n                \"description\": \"Retrieves a list of databases for the specified branch.\\nA branch can have multiple databases.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` by listing the project's branches.\\nFor related information, see [Manage databases](https://neon.tech/docs/manage/databases/).\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"listProjectBranchDatabases\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned a list of databases of the specified branch\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/DatabasesResponse\"\n                                },\n                                \"example\": {\n                                    \"databases\": [\n                                        {\n                                            \"id\": \"834686,\",\n                                            \"branch_id\": \"br-aged-salad-637688\",\n                                            \"name\": \"main\",\n                                            \"owner_name\": \"casey\",\n                                            \"created_at\": \"2022-11-30T18:25:15Z\",\n                                            \"updated_at\": \"2022-11-30T18:25:15Z\"\n                                        },\n                                        {\n                                            \"id\": \"834686,\",\n                                            \"branch_id\": \"br-aged-salad-637688\",\n                                            \"name\": \"mydb\",\n                                            \"owner_name\": \"casey\",\n                                            \"created_at\": \"2022-10-30T17:14:13Z\",\n                                            \"updated_at\": \"2022-10-30T17:14:13Z\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"post\": {\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"summary\": \"Create a database\",\n                \"description\": \"Creates a database in the specified branch.\\nA branch can have multiple databases.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` by listing the project's branches.\\nFor related information, see [Manage databases](https://neon.tech/docs/manage/databases/).\\n\",\n                \"operationId\": \"createProjectBranchDatabase\",\n                \"requestBody\": {\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/DatabaseCreateRequest\"\n                            },\n                            \"example\": {\n                                \"database\": {\n                                    \"name\": \"mydb\",\n                                    \"owner_name\": \"casey\"\n                                }\n                            }\n                        }\n                    },\n                    \"required\": true\n                },\n                \"responses\": {\n                    \"201\": {\n                        \"description\": \"Created a database in the specified branch\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/DatabaseOperations\"\n                                },\n                                \"example\": {\n                                    \"database\": {\n                                        \"id\": 876692,\n                                        \"branch_id\": \"br-aged-salad-637688\",\n                                        \"name\": \"mydb\",\n                                        \"owner_name\": \"casey\",\n                                        \"created_at\": \"2022-12-04T00:15:04Z\",\n                                        \"updated_at\": \"2022-12-04T00:15:04Z\"\n                                    },\n                                    \"operations\": [\n                                        {\n                                            \"id\": \"39426015-db00-40fa-85c5-1c7072df46d0\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-aged-salad-637688\",\n                                            \"endpoint_id\": \"ep-little-smoke-851426\",\n                                            \"action\": \"apply_config\",\n                                            \"status\": \"running\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-04T00:15:04Z\",\n                                            \"updated_at\": \"2022-12-04T00:15:04Z\"\n                                        },\n                                        {\n                                            \"id\": \"b7483d4e-33da-4d40-b319-ac858d4d3e69\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-aged-salad-637688\",\n                                            \"endpoint_id\": \"ep-little-smoke-851426\",\n                                            \"action\": \"suspend_compute\",\n                                            \"status\": \"scheduling\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-04T00:15:04Z\",\n                                            \"updated_at\": \"2022-12-04T00:15:04Z\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/branches/{branch_id}/databases/{database_name}\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"branch_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The branch ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"database_name\",\n                    \"in\": \"path\",\n                    \"description\": \"The database name\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"get\": {\n                \"summary\": \"Get database details\",\n                \"description\": \"Retrieves information about the specified database.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` and `database_name` by listing branch's databases.\\nFor related information, see [Manage databases](https://neon.tech/docs/manage/databases/).\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"getProjectBranchDatabase\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned the database details\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/DatabaseResponse\"\n                                },\n                                \"example\": {\n                                    \"database\": {\n                                        \"id\": 834686,\n                                        \"branch_id\": \"br-aged-salad-637688\",\n                                        \"name\": \"main\",\n                                        \"owner_name\": \"casey\",\n                                        \"created_at\": \"2022-11-30T18:25:15Z\",\n                                        \"updated_at\": \"2022-11-30T18:25:15Z\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"patch\": {\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"summary\": \"Update a database\",\n                \"description\": \"Updates the specified database in the branch.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` and `database_name` by listing the branch's databases.\\nFor related information, see [Manage databases](https://neon.tech/docs/manage/databases/).\\n\",\n                \"operationId\": \"updateProjectBranchDatabase\",\n                \"requestBody\": {\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/DatabaseUpdateRequest\"\n                            },\n                            \"example\": {\n                                \"database\": {\n                                    \"name\": \"mydb\",\n                                    \"owner_name\": \"sally\"\n                                }\n                            }\n                        }\n                    },\n                    \"required\": true\n                },\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Updated the database\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/DatabaseOperations\"\n                                },\n                                \"example\": {\n                                    \"database\": {\n                                        \"id\": 876692,\n                                        \"branch_id\": \"br-aged-salad-637688\",\n                                        \"name\": \"mydb\",\n                                        \"owner_name\": \"sally\",\n                                        \"created_at\": \"2022-12-04T00:15:04Z\",\n                                        \"updated_at\": \"2022-12-04T00:15:04Z\"\n                                    },\n                                    \"operations\": [\n                                        {\n                                            \"id\": \"9ef1c2ed-dce4-43aa-bae8-78aea636bf8a\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-aged-salad-637688\",\n                                            \"endpoint_id\": \"ep-little-smoke-851426\",\n                                            \"action\": \"apply_config\",\n                                            \"status\": \"running\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-04T00:21:01Z\",\n                                            \"updated_at\": \"2022-12-04T00:21:01Z\"\n                                        },\n                                        {\n                                            \"id\": \"42dafb46-f861-497b-ae89-f2bec54f4966\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-aged-salad-637688\",\n                                            \"endpoint_id\": \"ep-little-smoke-851426\",\n                                            \"action\": \"suspend_compute\",\n                                            \"status\": \"scheduling\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-04T00:21:01Z\",\n                                            \"updated_at\": \"2022-12-04T00:21:01Z\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"delete\": {\n                \"summary\": \"Delete a database\",\n                \"description\": \"Deletes the specified database from the branch.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` and `database_name` by listing branch's databases.\\nFor related information, see [Manage databases](https://neon.tech/docs/manage/databases/).\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"deleteProjectBranchDatabase\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Deleted the specified database\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/DatabaseOperations\"\n                                },\n                                \"example\": {\n                                    \"database\": {\n                                        \"id\": 851537,\n                                        \"branch_id\": \"br-raspy-hill-832856\",\n                                        \"name\": \"mydb\",\n                                        \"owner_name\": \"casey\",\n                                        \"created_at\": \"2022-12-01T19:41:46Z\",\n                                        \"updated_at\": \"2022-12-01T19:41:46Z\"\n                                    },\n                                    \"operations\": [\n                                        {\n                                            \"id\": \"9ef1c2ed-dce4-43aa-bae8-78aea636bf8a\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-raspy-hill-832856\",\n                                            \"endpoint_id\": \"ep-steep-bush-777093\",\n                                            \"action\": \"apply_config\",\n                                            \"status\": \"running\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-01T19:51:41Z\",\n                                            \"updated_at\": \"2022-12-01T19:51:41Z\"\n                                        },\n                                        {\n                                            \"id\": \"42dafb46-f861-497b-ae89-f2bec54f4966\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-raspy-hill-832856\",\n                                            \"endpoint_id\": \"ep-steep-bush-777093\",\n                                            \"action\": \"suspend_compute\",\n                                            \"status\": \"scheduling\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-01T19:51:41Z\",\n                                            \"updated_at\": \"2022-12-01T19:51:41Z\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/branches/{branch_id}/roles\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"branch_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The branch ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"get\": {\n                \"summary\": \"Get a list of roles\",\n                \"description\": \"Retrieves a list of roles from the specified branch.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` by listing the project's branches.\\nIn Neon, the terms \\\"role\\\" and \\\"user\\\" are synonymous.\\nFor related information, see [Manage users](https://neon.tech/docs/manage/users/).\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"listProjectBranchRoles\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned a list of roles from the specified branch.\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/RolesResponse\"\n                                },\n                                \"example\": {\n                                    \"roles\": [\n                                        {\n                                            \"branch_id\": null,\n                                            \"name\": \"casey\",\n                                            \"protected\": false,\n                                            \"created_at\": \"2022-11-23T17:42:25Z\",\n                                            \"updated_at\": \"2022-11-23T17:42:25Z\"\n                                        },\n                                        {\n                                            \"branch_id\": null,\n                                            \"name\": \"thomas\",\n                                            \"protected\": false,\n                                            \"created_at\": \"2022-10-22T17:38:21Z\",\n                                            \"updated_at\": \"2022-10-22T17:38:21Z\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"post\": {\n                \"summary\": \"Create a role\",\n                \"description\": \"Creates a role in the specified branch.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` by listing the project's branches.\\nIn Neon, the terms \\\"role\\\" and \\\"user\\\" are synonymous.\\nFor related information, see [Manage users](https://neon.tech/docs/manage/users/).\\n\\nConnections established to the active read-write endpoint will be dropped.\\nIf the read-write endpoint is idle, the endpoint becomes active for a short period of time and is suspended afterward.\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"createProjectBranchRole\",\n                \"requestBody\": {\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/RoleCreateRequest\"\n                            },\n                            \"example\": {\n                                \"role\": {\n                                    \"name\": \"sally\"\n                                }\n                            }\n                        }\n                    },\n                    \"required\": true\n                },\n                \"responses\": {\n                    \"201\": {\n                        \"description\": \"Created a role in the specified branch\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/RoleOperations\"\n                                },\n                                \"example\": {\n                                    \"role\": {\n                                        \"branch_id\": \"br-noisy-sunset-458773\",\n                                        \"name\": \"sally\",\n                                        \"password\": \"Onf1AjayKwe0\",\n                                        \"protected\": false,\n                                        \"created_at\": \"2022-12-03T11:58:29Z\",\n                                        \"updated_at\": \"2022-12-03T11:58:29Z\"\n                                    },\n                                    \"operations\": {\n                                        \"id\": \"2c2be371-d5ac-4db5-8b68-79f05e8bc287\",\n                                        \"project_id\": \"shiny-wind-028834\",\n                                        \"branch_id\": \"br-noisy-sunset-458773\",\n                                        \"endpoint_id\": \"ep-small-pine-767857\",\n                                        \"action\": \"apply_config\",\n                                        \"status\": \"running\",\n                                        \"failures_count\": 0,\n                                        \"created_at\": \"2022-12-03T11:58:29Z\",\n                                        \"updated_at\": \"2022-12-03T11:58:29Z\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/branches/{branch_id}/roles/{role_name}\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"branch_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The branch ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"role_name\",\n                    \"in\": \"path\",\n                    \"description\": \"The role name\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"get\": {\n                \"summary\": \"Get role details\",\n                \"description\": \"Retrieves details about the specified role.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` by listing the project's branches.\\nYou can obtain the `role_name` by listing the roles for a branch.\\nIn Neon, the terms \\\"role\\\" and \\\"user\\\" are synonymous.\\nFor related information, see [Managing users](https://neon.tech/docs/manage/users/).\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"getProjectBranchRole\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Successfully returned details for the specified role\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/RoleResponse\"\n                                },\n                                \"example\": {\n                                    \"role\": {\n                                        \"branch_id\": \"br-noisy-sunset-458773\",\n                                        \"name\": \"casey\",\n                                        \"protected\": false,\n                                        \"created_at\": \"2022-11-23T17:42:25Z\",\n                                        \"updated_at\": \"2022-11-23T17:42:25Z\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"delete\": {\n                \"summary\": \"Delete a role\",\n                \"description\": \"Deletes the specified role from the branch.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` by listing the project's branches.\\nYou can obtain the `role_name` by listing the roles for a branch.\\nIn Neon, the terms \\\"role\\\" and \\\"user\\\" are synonymous.\\nFor related information, see [Managing users](https://neon.tech/docs/manage/users/).\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"deleteProjectBranchRole\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Deleted the specified role from the branch\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/RoleOperations\"\n                                },\n                                \"example\": {\n                                    \"role\": {\n                                        \"branch_id\": \"br-raspy-hill-832856\",\n                                        \"name\": \"thomas\",\n                                        \"protected\": false,\n                                        \"created_at\": \"2022-12-01T14:36:23Z\",\n                                        \"updated_at\": \"2022-12-01T14:36:23Z\"\n                                    },\n                                    \"operations\": [\n                                        {\n                                            \"id\": \"db646be3-eace-4910-9f60-8150823c5cb8\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-raspy-hill-832856\",\n                                            \"endpoint_id\": \"ep-steep-bush-777093\",\n                                            \"action\": \"apply_config\",\n                                            \"status\": \"running\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-01T19:48:11Z\",\n                                            \"updated_at\": \"2022-12-01T19:48:11Z\"\n                                        },\n                                        {\n                                            \"id\": \"ab94cdad-7630-4943-a55e-5a0952d2e598\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-raspy-hill-832856\",\n                                            \"endpoint_id\": \"ep-steep-bush-777093\",\n                                            \"action\": \"suspend_compute\",\n                                            \"status\": \"scheduling\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-01T19:48:11Z\",\n                                            \"updated_at\": \"2022-12-01T19:48:11Z\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/branches/{branch_id}/roles/{role_name}/reveal_password\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"branch_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The branch ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"role_name\",\n                    \"in\": \"path\",\n                    \"description\": \"The role name\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"get\": {\n                \"summary\": \"Get role password\",\n                \"description\": \"Retrieves password of the specified role if possible.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` by listing the project's branches.\\nYou can obtain the `role_name` by listing the roles for a branch.\\nIn Neon, the terms \\\"role\\\" and \\\"user\\\" are synonymous.\\nFor related information, see [Managing users](https://neon.tech/docs/manage/users/).\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"getProjectBranchRolePassword\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Successfully returned password for the specified role\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/RolePasswordResponse\"\n                                },\n                                \"example\": {\n                                    \"password\": \"mypass\"\n                                }\n                            }\n                        }\n                    },\n                    \"404\": {\n                        \"description\": \"Role not found\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/GeneralError\"\n                                }\n                            }\n                        }\n                    },\n                    \"412\": {\n                        \"description\": \"Storing passwords is disabled\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/GeneralError\"\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/branches/{branch_id}/roles/{role_name}/reset_password\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"branch_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The branch ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"role_name\",\n                    \"in\": \"path\",\n                    \"description\": \"The role nam\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"post\": {\n                \"summary\": \"Reset the role password\",\n                \"description\": \"Resets the password for the specified role.\\nReturns a new password and operations. The new password is ready to use when the last operation finishes.\\nThe old password remains valid until last operation finishes.\\nConnections to the read-write endpoint are dropped. If idle,\\nthe read-write endpoint becomes active for a short period of time.\\n\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain the `branch_id` by listing the project's branches.\\nYou can obtain the `role_name` by listing the roles for a branch.\\nIn Neon, the terms \\\"role\\\" and \\\"user\\\" are synonymous.\\nFor related information, see [Managing users](https://neon.tech/docs/manage/users/).\\n\",\n                \"tags\": [\n                    \"Branch\"\n                ],\n                \"operationId\": \"resetProjectBranchRolePassword\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Reset the passsword for the specified role\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/RoleOperations\"\n                                },\n                                \"example\": {\n                                    \"role\": {\n                                        \"branch_id\": \"br-noisy-sunset-458773\",\n                                        \"name\": \"sally\",\n                                        \"password\": \"ClfD0aVuK3eK\",\n                                        \"protected\": false,\n                                        \"created_at\": \"2022-12-03T12:39:39Z\",\n                                        \"updated_at\": \"2022-12-03T12:58:18Z\"\n                                    },\n                                    \"operations\": [\n                                        {\n                                            \"id\": \"6bef07a0-ebca-40cd-9100-7324036cfff2\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-noisy-sunset-458773\",\n                                            \"endpoint_id\": \"ep-small-pine-767857\",\n                                            \"action\": \"apply_config\",\n                                            \"status\": \"running\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-03T12:58:18Z\",\n                                            \"updated_at\": \"2022-12-03T12:58:18Z\"\n                                        },\n                                        {\n                                            \"id\": \"16b5bfca-4697-4194-a338-d2cdc9aca2af\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-noisy-sunset-458773\",\n                                            \"endpoint_id\": \"ep-small-pine-767857\",\n                                            \"action\": \"suspend_compute\",\n                                            \"status\": \"scheduling\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-03T12:58:18Z\",\n                                            \"updated_at\": \"2022-12-03T12:58:18Z\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/endpoints\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"post\": {\n                \"summary\": \"Create an endpoint\",\n                \"description\": \"Creates an endpoint for the specified branch.\\nAn endpoint is a Neon compute instance.\\nThere is a maximum of one endpoint per branch.\\nIf the specified branch already has an endpoint, the operation fails.\\n\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain `branch_id` by listing the project's branches.\\nA `branch_id` has a `br-` prefix.\\nCurrently, only the `read_write` endpoint type is supported.\\nFor supported regions and `region_id` values, see [Regions](https://neon.tech/docs/introduction/regions/).\\nFor more information about endpoints, see [Manage endpoints](https://neon.tech/docs/manage/endpoints/).\\n\",\n                \"tags\": [\n                    \"Endpoint\"\n                ],\n                \"operationId\": \"createProjectEndpoint\",\n                \"requestBody\": {\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/EndpointCreateRequest\"\n                            },\n                            \"examples\": {\n                                \"Required attributes only\": {\n                                    \"value\": {\n                                        \"endpoint\": {\n                                            \"branch_id\": \"br-floral-mountain-251143\",\n                                            \"type\": \"read_write\"\n                                        }\n                                    }\n                                },\n                                \"With region attribute\": {\n                                    \"value\": {\n                                        \"endpoint\": {\n                                            \"branch_id\": \"br-floral-mountain-251143\",\n                                            \"type\": \"read_write\",\n                                            \"region_id\": \"aws-us-east-2\"\n                                        }\n                                    }\n                                },\n                                \"With pooler attribute\": {\n                                    \"value\": {\n                                        \"endpoint\": {\n                                            \"branch_id\": \"br-floral-mountain-251143\",\n                                            \"type\": \"read_write\",\n                                            \"pooler_enabled\": true\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"required\": true\n                },\n                \"responses\": {\n                    \"201\": {\n                        \"description\": \"Created an endpoint\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/EndpointOperations\"\n                                },\n                                \"example\": {\n                                    \"endpoint\": {\n                                        \"host\": \"ep-shrill-thunder-454069.us-east-2.aws.neon.tech\",\n                                        \"id\": \"ep-shrill-thunder-454069\",\n                                        \"project_id\": \"bitter-meadow-966132\",\n                                        \"branch_id\": \"br-proud-paper-090813\",\n                                        \"autoscaling_limit_min_cu\": 1,\n                                        \"autoscaling_limit_max_cu\": 1,\n                                        \"region_id\": \"aws-us-east-2\",\n                                        \"type\": \"read_write\",\n                                        \"current_state\": \"init\",\n                                        \"pending_state\": \"active\",\n                                        \"settings\": {\n                                            \"pg_settings\": {}\n                                        },\n                                        \"pooler_enabled\": false,\n                                        \"pooler_mode\": \"transaction\",\n                                        \"disabled\": false,\n                                        \"passwordless_access\": true,\n                                        \"created_at\": \"2022-12-03T15:37:07Z\",\n                                        \"updated_at\": \"2022-12-03T15:37:07Z\",\n                                        \"proxy_host\": \"us-east-2.aws.neon.tech\"\n                                    },\n                                    \"operations\": {\n                                        \"id\": \"874f8bfe-f51d-4c61-85af-a29bea73e0e2\",\n                                        \"project_id\": \"bitter-meadow-966132\",\n                                        \"branch_id\": \"br-proud-paper-090813\",\n                                        \"endpoint_id\": \"ep-shrill-thunder-454069\",\n                                        \"action\": \"start_compute\",\n                                        \"status\": \"running\",\n                                        \"failures_count\": 0,\n                                        \"created_at\": \"2022-12-03T15:37:07Z\",\n                                        \"updated_at\": \"2022-12-03T15:37:07Z\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"get\": {\n                \"summary\": \"Get a list of endpoints\",\n                \"description\": \"Retrieves a list of endpoints for the specified project.\\nAn endpoint is a Neon compute instance.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nFor more information about endpoints, see [Manage endpoints](https://neon.tech/docs/manage/endpoints/).\\n\",\n                \"tags\": [\n                    \"Endpoint\"\n                ],\n                \"operationId\": \"listProjectEndpoints\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned a list of endpoints for the specified project\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/EndpointsResponse\"\n                                },\n                                \"example\": {\n                                    \"endpoints\": [\n                                        {\n                                            \"host\": \"ep-little-smoke-851426.us-east-2.aws.neon.tech\",\n                                            \"id\": \"ep-little-smoke-851426\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-aged-salad-637688\",\n                                            \"autoscaling_limit_min_cu\": 1,\n                                            \"autoscaling_limit_max_cu\": 1,\n                                            \"region_id\": \"aws-us-east-2\",\n                                            \"type\": \"read_write\",\n                                            \"current_state\": \"idle\",\n                                            \"settings\": {\n                                                \"pg_settings\": {}\n                                            },\n                                            \"pooler_enabled\": false,\n                                            \"pooler_mode\": \"transaction\",\n                                            \"disabled\": false,\n                                            \"passwordless_access\": true,\n                                            \"last_active\": \"2022-11-23T17:00:00Z\",\n                                            \"created_at\": \"2022-11-23T17:42:25Z\",\n                                            \"updated_at\": \"2022-11-30T18:25:21Z\",\n                                            \"proxy_host\": \"us-east-2.aws.neon.tech\"\n                                        },\n                                        {\n                                            \"host\": \"ep-steep-bush-777093.us-east-2.aws.neon.tech\",\n                                            \"id\": \"ep-steep-bush-777093\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-raspy-hill-832856\",\n                                            \"autoscaling_limit_min_cu\": 1,\n                                            \"autoscaling_limit_max_cu\": 1,\n                                            \"region_id\": \"aws-us-east-2\",\n                                            \"type\": \"read_write\",\n                                            \"current_state\": \"idle\",\n                                            \"settings\": {\n                                                \"pg_settings\": {}\n                                            },\n                                            \"pooler_enabled\": false,\n                                            \"pooler_mode\": \"transaction\",\n                                            \"disabled\": false,\n                                            \"passwordless_access\": true,\n                                            \"last_active\": \"2022-11-30T17:00:00Z\",\n                                            \"created_at\": \"2022-11-30T17:36:57Z\",\n                                            \"updated_at\": \"2022-11-30T18:42:58Z\",\n                                            \"proxy_host\": \"us-east-2.aws.neon.tech\"\n                                        },\n                                        {\n                                            \"host\": \"ep-soft-violet-752733.us-east-2.aws.neon.tech\",\n                                            \"id\": \"ep-soft-violet-752733\",\n                                            \"project_id\": \"shiny-wind-028834\",\n                                            \"branch_id\": \"br-sweet-breeze-497520\",\n                                            \"autoscaling_limit_min_cu\": 1,\n                                            \"autoscaling_limit_max_cu\": 1,\n                                            \"region_id\": \"aws-us-east-2\",\n                                            \"type\": \"read_write\",\n                                            \"current_state\": \"idle\",\n                                            \"settings\": {\n                                                \"pg_settings\": {}\n                                            },\n                                            \"pooler_enabled\": false,\n                                            \"pooler_mode\": \"transaction\",\n                                            \"disabled\": false,\n                                            \"passwordless_access\": true,\n                                            \"last_active\": \"2022-11-30T19:00:00Z\",\n                                            \"created_at\": \"2022-11-30T19:09:48Z\",\n                                            \"updated_at\": \"2022-11-30T19:14:51Z\",\n                                            \"proxy_host\": \"us-east-2.aws.neon.tech\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/endpoints/{endpoint_id}\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"endpoint_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The endpoint ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"get\": {\n                \"summary\": \"Get an endpoint\",\n                \"description\": \"Retrieves information about the specified endpoint.\\nAn endpoint is a Neon compute instance.\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain an `endpoint_id` by listing your project's endpoints.\\nAn `endpoint_id` has an `ep-` prefix.\\nFor more information about endpoints, see [Manage endpoints](https://neon.tech/docs/manage/endpoints/).\\n\",\n                \"tags\": [\n                    \"Endpoint\"\n                ],\n                \"operationId\": \"getProjectEndpoint\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned information about the specified endpoint\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/EndpointResponse\"\n                                },\n                                \"example\": {\n                                    \"endpoint\": {\n                                        \"host\": \"ep-little-smoke-851426.us-east-2.aws.neon.tech\",\n                                        \"id\": \"ep-little-smoke-851426\",\n                                        \"project_id\": \"shiny-wind-028834\",\n                                        \"branch_id\": \"br-aged-salad-637688\",\n                                        \"autoscaling_limit_min_cu\": 1,\n                                        \"autoscaling_limit_max_cu\": 1,\n                                        \"region_id\": \"aws-us-east-2\",\n                                        \"type\": \"read_write\",\n                                        \"current_state\": \"idle\",\n                                        \"settings\": {\n                                            \"pg_settings\": {}\n                                        },\n                                        \"pooler_enabled\": false,\n                                        \"pooler_mode\": \"transaction\",\n                                        \"disabled\": false,\n                                        \"passwordless_access\": true,\n                                        \"last_active\": \"2022-11-23T17:00:00Z\",\n                                        \"created_at\": \"2022-11-23T17:42:25Z\",\n                                        \"updated_at\": \"2022-11-30T18:25:21Z\",\n                                        \"proxy_host\": \"us-east-2.aws.neon.tech\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"delete\": {\n                \"summary\": \"Delete an endpoint\",\n                \"description\": \"Delete the specified endpoint.\\nAn endpoint is a Neon compute instance.\\nDeleting an endpoint drops existing network connections to the endpoint.\\nThe deletion is completed when last operation in the chain finishes successfully.\\n\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain an `endpoint_id` by listing your project's endpoints.\\nAn `endpoint_id` has an `ep-` prefix.\\nFor more information about endpoints, see [Manage endpoints](https://neon.tech/docs/manage/endpoints/).\\n\",\n                \"tags\": [\n                    \"Endpoint\"\n                ],\n                \"operationId\": \"deleteProjectEndpoint\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Deleted the specified endpoint\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/EndpointOperations\"\n                                },\n                                \"example\": {\n                                    \"endpoint\": {\n                                        \"host\": \"ep-steep-bush-777093.us-east-2.aws.neon.tech\",\n                                        \"id\": \"ep-steep-bush-777093\",\n                                        \"project_id\": \"shiny-wind-028834\",\n                                        \"branch_id\": \"br-raspy-hill-832856\",\n                                        \"autoscaling_limit_min_cu\": 1,\n                                        \"autoscaling_limit_max_cu\": 1,\n                                        \"region_id\": \"aws-us-east-2\",\n                                        \"type\": \"read_write\",\n                                        \"current_state\": \"idle\",\n                                        \"settings\": {\n                                            \"pg_settings\": {}\n                                        },\n                                        \"pooler_enabled\": false,\n                                        \"pooler_mode\": \"transaction\",\n                                        \"disabled\": false,\n                                        \"passwordless_access\": true,\n                                        \"last_active\": \"2022-12-03T15:00:00Z\",\n                                        \"created_at\": \"2022-12-03T15:37:07Z\",\n                                        \"updated_at\": \"2022-12-03T15:49:10Z\",\n                                        \"proxy_host\": \"us-east-2.aws.neon.tech\"\n                                    },\n                                    \"operations\": {\n                                        \"id\": \"fd11748e-3c68-458f-b9e3-66d409e3eef0\",\n                                        \"project_id\": \"bitter-meadow-966132\",\n                                        \"branch_id\": \"br-proud-paper-090813\",\n                                        \"endpoint_id\": \"ep-shrill-thunder-454069\",\n                                        \"action\": \"suspend_compute\",\n                                        \"status\": \"running\",\n                                        \"failures_count\": 0,\n                                        \"created_at\": \"2022-12-03T15:51:06Z\",\n                                        \"updated_at\": \"2022-12-03T15:51:06Z\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            },\n            \"patch\": {\n                \"tags\": [\n                    \"Endpoint\"\n                ],\n                \"summary\": \"Update an endpoint\",\n                \"description\": \"Updates the specified endpoint. Currently, only changing the associated branch is supported.\\nThe branch that you specify cannot have an existing endpoint.\\n\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain an `endpoint_id` and `branch_id` by listing your project's endpoints.\\nAn `endpoint_id` has an `ep-` prefix. A `branch_id` has a `br-` prefix.\\nFor more information about endpoints, see [Manage endpoints](https://neon.tech/docs/manage/endpoints/).\\n\\nIf the returned list of operations is not empty, the endpoint is not ready to use.\\nThe client must wait for the last operation to finish before using the endpoint.\\nIf the endpoint was idle before the update, the endpoint becomes active for a short period of time,\\nand the control plane suspends it again after the update.\\n\",\n                \"operationId\": \"updateProjectEndpoint\",\n                \"requestBody\": {\n                    \"required\": true,\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/EndpointUpdateRequest\"\n                            },\n                            \"example\": {\n                                \"endpoint\": {\n                                    \"branch_id\": \"br-tiny-grass-283160\"\n                                }\n                            }\n                        }\n                    }\n                },\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Updated the specified endpoint\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/EndpointOperations\"\n                                },\n                                \"example\": {\n                                    \"endpoint\": {\n                                        \"host\": \"ep-steep-bush-777093.us-east-2.aws.neon.tech\",\n                                        \"id\": \"ep-steep-bush-777093\",\n                                        \"project_id\": \"shiny-wind-028834\",\n                                        \"branch_id\": \"br-raspy-hill-832856\",\n                                        \"autoscaling_limit_min_cu\": 1,\n                                        \"autoscaling_limit_max_cu\": 1,\n                                        \"region_id\": \"aws-us-east-2\",\n                                        \"type\": \"read_write\",\n                                        \"current_state\": \"idle\",\n                                        \"settings\": {\n                                            \"pg_settings\": {}\n                                        },\n                                        \"pooler_enabled\": false,\n                                        \"pooler_mode\": \"transaction\",\n                                        \"disabled\": false,\n                                        \"passwordless_access\": true,\n                                        \"last_active\": \"2022-12-03T15:00:00Z\",\n                                        \"created_at\": \"2022-12-03T15:37:07Z\",\n                                        \"updated_at\": \"2022-12-03T15:49:10Z\",\n                                        \"proxy_host\": \"us-east-2.aws.neon.tech\"\n                                    },\n                                    \"operations\": [\n                                        {\n                                            \"id\": \"3fc98ab8-f191-47b8-a427-5eb668ccc5b9\",\n                                            \"project_id\": \"bitter-meadow-966132\",\n                                            \"branch_id\": \"br-proud-paper-090813\",\n                                            \"endpoint_id\": \"ep-shrill-thunder-454069\",\n                                            \"action\": \"apply_config\",\n                                            \"status\": \"running\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-03T15:51:06Z\",\n                                            \"updated_at\": \"2022-12-03T15:51:06Z\"\n                                        },\n                                        {\n                                            \"id\": \"9ffda74b-a582-4cff-b0f0-aaa8d14b8e6a\",\n                                            \"project_id\": \"bitter-meadow-966132\",\n                                            \"branch_id\": \"br-proud-paper-090813\",\n                                            \"endpoint_id\": \"ep-shrill-thunder-454069\",\n                                            \"action\": \"suspend_compute\",\n                                            \"status\": \"scheduling\",\n                                            \"failures_count\": 0,\n                                            \"created_at\": \"2022-12-03T15:51:06Z\",\n                                            \"updated_at\": \"2022-12-03T15:51:06Z\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/endpoints/{endpoint_id}/start\": {\n            \"post\": {\n                \"summary\": \"Start an endpoint\",\n                \"description\": \"Starts an endpoint. The endpoint is ready to use\\nafter the last operation in chain finishes successfully.\\n\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain an `endpoint_id` by listing your project's endpoints.\\nAn `endpoint_id` has an `ep-` prefix.\\nFor more information about endpoints, see [Manage endpoints](https://neon.tech/docs/manage/endpoints/).\\n\",\n                \"tags\": [\n                    \"Endpoint\"\n                ],\n                \"operationId\": \"startProjectEndpoint\",\n                \"parameters\": [\n                    {\n                        \"name\": \"project_id\",\n                        \"in\": \"path\",\n                        \"description\": \"The Neon project ID\",\n                        \"required\": true,\n                        \"schema\": {\n                            \"type\": \"string\"\n                        }\n                    },\n                    {\n                        \"name\": \"endpoint_id\",\n                        \"in\": \"path\",\n                        \"description\": \"The endpoint ID\",\n                        \"required\": true,\n                        \"schema\": {\n                            \"type\": \"string\"\n                        }\n                    }\n                ],\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Started the specified endpoint\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/EndpointOperations\"\n                                },\n                                \"example\": {\n                                    \"endpoint\": {\n                                        \"host\": \"ep-steep-bush-777093.us-east-2.aws.neon.tech\",\n                                        \"id\": \"ep-steep-bush-777093\",\n                                        \"project_id\": \"shiny-wind-028834\",\n                                        \"branch_id\": \"br-raspy-hill-832856\",\n                                        \"autoscaling_limit_min_cu\": 1,\n                                        \"autoscaling_limit_max_cu\": 1,\n                                        \"region_id\": \"aws-us-east-2\",\n                                        \"type\": \"read_write\",\n                                        \"current_state\": \"idle\",\n                                        \"settings\": {\n                                            \"pg_settings\": {}\n                                        },\n                                        \"pooler_enabled\": false,\n                                        \"pooler_mode\": \"transaction\",\n                                        \"disabled\": false,\n                                        \"passwordless_access\": true,\n                                        \"last_active\": \"2022-12-03T15:00:00Z\",\n                                        \"created_at\": \"2022-12-03T15:37:07Z\",\n                                        \"updated_at\": \"2022-12-03T15:49:10Z\",\n                                        \"proxy_host\": \"us-east-2.aws.neon.tech\"\n                                    },\n                                    \"operations\": {\n                                        \"id\": \"e061087e-3c99-4856-b9c8-6b7751a253af\",\n                                        \"project_id\": \"bitter-meadow-966132\",\n                                        \"branch_id\": \"br-proud-paper-090813\",\n                                        \"endpoint_id\": \"ep-shrill-thunder-454069\",\n                                        \"action\": \"start_compute\",\n                                        \"status\": \"running\",\n                                        \"failures_count\": 0,\n                                        \"created_at\": \"2022-12-03T15:51:06Z\",\n                                        \"updated_at\": \"2022-12-03T15:51:06Z\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/endpoints/{endpoint_id}/suspend\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The Neon project ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"endpoint_id\",\n                    \"in\": \"path\",\n                    \"description\": \"The endpoint ID\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ],\n            \"post\": {\n                \"summary\": \"Suspend an endpoint\",\n                \"description\": \"Suspend the specified endpoint\\nYou can obtain a `project_id` by listing the projects for your Neon account.\\nYou can obtain an `endpoint_id` by listing your project's endpoints.\\nAn `endpoint_id` has an `ep-` prefix.\\nFor more information about endpoints, see [Manage endpoints](https://neon.tech/docs/manage/endpoints/).\\n\",\n                \"tags\": [\n                    \"Endpoint\"\n                ],\n                \"operationId\": \"suspendProjectEndpoint\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Suspended the specified endpoint\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/EndpointOperations\"\n                                },\n                                \"example\": {\n                                    \"endpoint\": {\n                                        \"host\": \"ep-steep-bush-777093.us-east-2.aws.neon.tech\",\n                                        \"id\": \"ep-steep-bush-777093\",\n                                        \"project_id\": \"shiny-wind-028834\",\n                                        \"branch_id\": \"br-raspy-hill-832856\",\n                                        \"autoscaling_limit_min_cu\": 1,\n                                        \"autoscaling_limit_max_cu\": 1,\n                                        \"region_id\": \"aws-us-east-2\",\n                                        \"type\": \"read_write\",\n                                        \"current_state\": \"idle\",\n                                        \"settings\": {\n                                            \"pg_settings\": {}\n                                        },\n                                        \"pooler_enabled\": false,\n                                        \"pooler_mode\": \"transaction\",\n                                        \"disabled\": false,\n                                        \"passwordless_access\": true,\n                                        \"last_active\": \"2022-12-03T15:00:00Z\",\n                                        \"created_at\": \"2022-12-03T15:37:07Z\",\n                                        \"updated_at\": \"2022-12-03T15:49:10Z\",\n                                        \"proxy_host\": \"us-east-2.aws.neon.tech\"\n                                    },\n                                    \"operations\": {\n                                        \"id\": \"e061087e-3c99-4856-b9c8-6b7751a253af\",\n                                        \"project_id\": \"bitter-meadow-966132\",\n                                        \"branch_id\": \"br-proud-paper-090813\",\n                                        \"endpoint_id\": \"ep-shrill-thunder-454069\",\n                                        \"action\": \"suspend_compute\",\n                                        \"status\": \"running\",\n                                        \"failures_count\": 0,\n                                        \"created_at\": \"2022-12-03T15:51:06Z\",\n                                        \"updated_at\": \"2022-12-03T15:51:06Z\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        },\n        \"/projects/{project_id}/endpoints/{endpoint_id}/passwordless_auth\": {\n            \"parameters\": [\n                {\n                    \"name\": \"project_id\",\n                    \"in\": \"path\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                },\n                {\n                    \"name\": \"endpoint_id\",\n                    \"in\": \"path\",\n                    \"required\": true,\n                    \"schema\": {\n                        \"type\": \"string\"\n                    }\n                }\n            ]\n        },\n        \"/consumption/projects\": {\n            \"get\": {\n                \"summary\": \"Get a list of projects consumption\",\n                \"description\": \"Note, this is a preview API and could be subjected to significant changes in the future.\\nRetrieves a list of per-project consumption for the current billing period.\\n\",\n                \"tags\": [\n                    \"Preview\"\n                ],\n                \"operationId\": \"listProjectsConsumption\",\n                \"parameters\": [\n                    {\n                        \"name\": \"cursor\",\n                        \"description\": \"Specify the cursor value from the previous response to get the next batch of projects.\",\n                        \"in\": \"query\",\n                        \"schema\": {\n                            \"type\": \"string\"\n                        }\n                    },\n                    {\n                        \"name\": \"limit\",\n                        \"description\": \"Specify a value from 1 to 1000 to limit number of projects in the response.\",\n                        \"in\": \"query\",\n                        \"schema\": {\n                            \"type\": \"integer\",\n                            \"minimum\": 1,\n                            \"default\": 10,\n                            \"maximum\": 1000\n                        }\n                    }\n                ],\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Returned a list of per-project consumption for the Neon account\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"allOf\": [\n                                        {\n                                            \"$ref\": \"#/components/schemas/ProjectsConsumptionResponse\"\n                                        },\n                                        {\n                                            \"$ref\": \"#/components/schemas/PaginationResponse\"\n                                        }\n                                    ]\n                                }\n                            }\n                        }\n                    },\n                    \"default\": {\n                        \"$ref\": \"#/components/responses/GeneralError\"\n                    }\n                }\n            }\n        }\n    },\n    \"components\": {\n        \"responses\": {\n            \"ListOperations\": {\n                \"description\": \"Returned a list of operations\\n\",\n                \"content\": {\n                    \"application/json\": {\n                        \"schema\": {\n                            \"allOf\": [\n                                {\n                                    \"$ref\": \"#/components/schemas/OperationsResponse\"\n                                },\n                                {\n                                    \"$ref\": \"#/components/schemas/PaginationResponse\"\n                                }\n                            ]\n                        }\n                    }\n                }\n            },\n            \"CreatedProject\": {\n                \"description\": \"Created a project.\\nThe project includes a connection URI with a database, password, and role.\\nAt least one non-protected role is created with a password.\\nWait until the operations are finished before attempting to connect to a project database.\\n\",\n                \"content\": {\n                    \"application/json\": {\n                        \"schema\": {\n                            \"allOf\": [\n                                {\n                                    \"$ref\": \"#/components/schemas/ProjectResponse\"\n                                },\n                                {\n                                    \"$ref\": \"#/components/schemas/ConnectionURIsResponse\"\n                                },\n                                {\n                                    \"$ref\": \"#/components/schemas/RolesResponse\"\n                                },\n                                {\n                                    \"$ref\": \"#/components/schemas/DatabasesResponse\"\n                                },\n                                {\n                                    \"$ref\": \"#/components/schemas/OperationsResponse\"\n                                },\n                                {\n                                    \"$ref\": \"#/components/schemas/BranchResponse\"\n                                },\n                                {\n                                    \"$ref\": \"#/components/schemas/EndpointsResponse\"\n                                }\n                            ]\n                        }\n                    }\n                }\n            },\n            \"CreatedBranch\": {\n                \"description\": \"Created a branch. An endpoint is only created if it was specified in the request.\",\n                \"content\": {\n                    \"application/json\": {\n                        \"schema\": {\n                            \"allOf\": [\n                                {\n                                    \"$ref\": \"#/components/schemas/BranchResponse\"\n                                },\n                                {\n                                    \"$ref\": \"#/components/schemas/EndpointsResponse\"\n                                },\n                                {\n                                    \"$ref\": \"#/components/schemas/OperationsResponse\"\n                                },\n                                {\n                                    \"$ref\": \"#/components/schemas/ConnectionURIsOptionalResponse\"\n                                }\n                            ]\n                        }\n                    }\n                }\n            },\n            \"GeneralError\": {\n                \"description\": \"General Error\",\n                \"content\": {\n                    \"application/json\": {\n                        \"schema\": {\n                            \"$ref\": \"#/components/schemas/GeneralError\"\n                        }\n                    }\n                }\n            },\n            \"HealthCheck\": {\n                \"description\": \"Service is running\",\n                \"content\": {\n                    \"application/json\": {\n                        \"schema\": {\n                            \"$ref\": \"#/components/schemas/HealthCheck\"\n                        }\n                    }\n                }\n            }\n        },\n        \"securitySchemes\": {\n            \"BearerAuth\": {\n                \"type\": \"http\",\n                \"scheme\": \"bearer\",\n                \"description\": \"The Neon API requires an API key to authorize your requests, which you can enter below. Refer to our documentation to find out how to generate and use [API keys](https://neon.tech/docs/manage/api-keys).\"\n            }\n        },\n        \"schemas\": {\n            \"ComputeUnit\": {\n                \"type\": \"number\"\n            },\n            \"Provisioner\": {\n                \"type\": \"string\",\n                \"description\": \"The Neon compute provisioner.\\n\",\n                \"enum\": [\n                    \"k8s-pod\",\n                    \"k8s-neonvm\",\n                    \"docker\"\n                ]\n            },\n            \"PaginationResponse\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"pagination\": {\n                        \"$ref\": \"#/components/schemas/Pagination\"\n                    }\n                }\n            },\n            \"Pagination\": {\n                \"description\": \"Cursor based pagination is used. The user must pass the cursor as is to the backend.\\nFor more information about cursor based pagination, see\\nhttps://learn.microsoft.com/en-us/ef/core/querying/pagination#keyset-pagination\\n\",\n                \"type\": \"object\",\n                \"required\": [\n                    \"cursor\",\n                    \"limit\"\n                ],\n                \"properties\": {\n                    \"cursor\": {\n                        \"type\": \"string\",\n                        \"minLength\": 1\n                    }\n                },\n                \"example\": {\n                    \"cursor\": \"2022-12-07T00:45:05.262011Z\"\n                }\n            },\n            \"EmptyResponse\": {\n                \"type\": \"object\",\n                \"description\": \"Empty response.\",\n                \"properties\": {}\n            },\n            \"ApiKeyCreateRequest\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"key_name\"\n                ],\n                \"properties\": {\n                    \"key_name\": {\n                        \"type\": \"string\",\n                        \"description\": \"A user-specified API key name. This value is required when creating an API key.\"\n                    }\n                }\n            },\n            \"ApiKeyCreateResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"key\",\n                    \"id\"\n                ],\n                \"properties\": {\n                    \"id\": {\n                        \"description\": \"The API key ID\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"key\": {\n                        \"description\": \"The generated 64-bit token required to access the Neon API\",\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"ApiKeyRevokeResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"id\",\n                    \"name\",\n                    \"revoked\",\n                    \"last_used_from_addr\"\n                ],\n                \"properties\": {\n                    \"id\": {\n                        \"description\": \"The API key ID\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"name\": {\n                        \"description\": \"The user-specified API key name\",\n                        \"type\": \"string\"\n                    },\n                    \"revoked\": {\n                        \"description\": \"A `true` or `false` value indicating whether the API key is revoked\",\n                        \"type\": \"boolean\"\n                    },\n                    \"last_used_at\": {\n                        \"description\": \"A timestamp indicating when the API was last used\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\",\n                        \"nullable\": true\n                    },\n                    \"last_used_from_addr\": {\n                        \"description\": \"The IP address from which the API key was last used\",\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"ApiKeysListResponseItem\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"last_used_from_addr\",\n                    \"id\",\n                    \"name\",\n                    \"created_at\"\n                ],\n                \"properties\": {\n                    \"id\": {\n                        \"description\": \"The API key ID\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"name\": {\n                        \"description\": \"The user-specified API key name\",\n                        \"type\": \"string\"\n                    },\n                    \"created_at\": {\n                        \"description\": \"A timestamp indicating when the API key was created\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"last_used_at\": {\n                        \"description\": \"A timestamp indicating when the API was last used\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\",\n                        \"nullable\": true\n                    },\n                    \"last_used_from_addr\": {\n                        \"description\": \"The IP address from which the API key was last used\",\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"Operation\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"id\",\n                    \"project_id\",\n                    \"action\",\n                    \"status\",\n                    \"failures_count\",\n                    \"created_at\",\n                    \"updated_at\"\n                ],\n                \"properties\": {\n                    \"id\": {\n                        \"description\": \"The operation ID\",\n                        \"type\": \"string\",\n                        \"format\": \"uuid\"\n                    },\n                    \"project_id\": {\n                        \"description\": \"The Neon project ID\",\n                        \"type\": \"string\"\n                    },\n                    \"branch_id\": {\n                        \"description\": \"The branch ID\",\n                        \"type\": \"string\"\n                    },\n                    \"endpoint_id\": {\n                        \"description\": \"The endpoint ID\",\n                        \"type\": \"string\"\n                    },\n                    \"action\": {\n                        \"$ref\": \"#/components/schemas/OperationAction\"\n                    },\n                    \"status\": {\n                        \"$ref\": \"#/components/schemas/OperationStatus\"\n                    },\n                    \"error\": {\n                        \"description\": \"The error that occured\",\n                        \"type\": \"string\"\n                    },\n                    \"failures_count\": {\n                        \"description\": \"The number of times the operation failed\",\n                        \"type\": \"integer\",\n                        \"format\": \"int32\"\n                    },\n                    \"retry_at\": {\n                        \"description\": \"A timestamp indicating when the operation was last retried\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"created_at\": {\n                        \"description\": \"A timestamp indicating when the operation was created\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"updated_at\": {\n                        \"description\": \"A timestamp indicating when the operation status was last updated\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    }\n                },\n                \"example\": [\n                    {\n                        \"id\": \"a07f8772-1877-4da9-a939-3a3ae62d1d8d\",\n                        \"project_id\": \"spring-example-302709\",\n                        \"branch_id\": \"br-wispy-meadow-118737\",\n                        \"endpoint_id\": \"ep-silent-smoke-806639\",\n                        \"action\": \"create_branch\",\n                        \"status\": \"running\",\n                        \"failures_count\": 0,\n                        \"created_at\": \"2022-11-08T23:33:16Z\",\n                        \"updated_at\": \"2022-11-08T23:33:20Z\"\n                    },\n                    {\n                        \"id\": \"d8ac46eb-a757-42b1-9907-f78322ee394e\",\n                        \"project_id\": \"spring-example-302709\",\n                        \"branch_id\": \"br-wispy-meadow-118737\",\n                        \"endpoint_id\": \"ep-silent-smoke-806639\",\n                        \"action\": \"start_compute\",\n                        \"status\": \"finished\",\n                        \"failures_count\": 0,\n                        \"created_at\": \"2022-11-15T20:02:00Z\",\n                        \"updated_at\": \"2022-11-15T20:02:02Z\"\n                    }\n                ]\n            },\n            \"OperationResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"operation\"\n                ],\n                \"properties\": {\n                    \"operation\": {\n                        \"$ref\": \"#/components/schemas/Operation\"\n                    }\n                }\n            },\n            \"OperationsResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"operations\"\n                ],\n                \"properties\": {\n                    \"operations\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/Operation\"\n                        }\n                    }\n                }\n            },\n            \"OperationAction\": {\n                \"description\": \"The action performed by the operation\",\n                \"type\": \"string\",\n                \"enum\": [\n                    \"create_compute\",\n                    \"create_timeline\",\n                    \"start_compute\",\n                    \"suspend_compute\",\n                    \"apply_config\",\n                    \"check_availability\",\n                    \"delete_timeline\",\n                    \"create_branch\",\n                    \"tenant_migrate\",\n                    \"tenant_detach\",\n                    \"tenant_reattach\",\n                    \"replace_safekeeper\"\n                ]\n            },\n            \"OperationStatus\": {\n                \"description\": \"The status of the operation\",\n                \"type\": \"string\",\n                \"enum\": [\n                    \"running\",\n                    \"finished\",\n                    \"failed\",\n                    \"scheduling\"\n                ]\n            },\n            \"ProjectListItem\": {\n                \"description\": \"Essential data about the project. Full data is available at the getProject endpoint.\\n\",\n                \"type\": \"object\",\n                \"required\": [\n                    \"active_time\",\n                    \"id\",\n                    \"platform_id\",\n                    \"region_id\",\n                    \"name\",\n                    \"pg_version\",\n                    \"proxy_host\",\n                    \"branch_logical_size_limit\",\n                    \"branch_logical_size_limit_bytes\",\n                    \"provisioner\",\n                    \"store_passwords\",\n                    \"cpu_used_sec\",\n                    \"creation_source\",\n                    \"created_at\",\n                    \"updated_at\",\n                    \"owner_id\"\n                ],\n                \"properties\": {\n                    \"id\": {\n                        \"description\": \"The project ID\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"platform_id\": {\n                        \"description\": \"The cloud platform identifier. Currently, only AWS is supported, for which the identifier is `aws`.\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"region_id\": {\n                        \"description\": \"The region identifier\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"name\": {\n                        \"description\": \"The project name\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"provisioner\": {\n                        \"$ref\": \"#/components/schemas/Provisioner\"\n                    },\n                    \"default_endpoint_settings\": {\n                        \"$ref\": \"#/components/schemas/DefaultEndpointSettings\"\n                    },\n                    \"settings\": {\n                        \"$ref\": \"#/components/schemas/ProjectSettingsData\"\n                    },\n                    \"pg_version\": {\n                        \"$ref\": \"#/components/schemas/PgVersion\"\n                    },\n                    \"proxy_host\": {\n                        \"description\": \"The proxy host for the project. This value combines the `region_id`, the `platform_id`, and the Neon domain (`neon.tech`).\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"branch_logical_size_limit\": {\n                        \"description\": \"The logical size limit for a branch. The value is in MiB.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"branch_logical_size_limit_bytes\": {\n                        \"description\": \"The logical size limit for a branch. The value is in B.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"store_passwords\": {\n                        \"description\": \"Whether or not passwords are stored for roles in the Neon project. Storing passwords facilitates access to Neon features that require authorization.\\n\",\n                        \"type\": \"boolean\"\n                    },\n                    \"active_time\": {\n                        \"description\": \"Control plane observed endpoints of this project being active this amount of wall-clock time.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    },\n                    \"cpu_used_sec\": {\n                        \"deprecated\": true,\n                        \"description\": \"DEPRECATED, use data from the getProject endpoint instead.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"maintenance_starts_at\": {\n                        \"description\": \"A timestamp indicating when project maintenance begins. If set, the project is placed into maintenance mode at this time.\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"creation_source\": {\n                        \"description\": \"The project creation source\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"created_at\": {\n                        \"description\": \"A timestamp indicating when the project was created\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"updated_at\": {\n                        \"description\": \"A timestamp indicating when the project was last updated\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"synthetic_storage_size\": {\n                        \"description\": \"Experimental. Do not use this field yet.\\nThe data storage size in bytes.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"quota_reset_at\": {\n                        \"deprecated\": true,\n                        \"description\": \"DEPRECATED. Use `consumption_period_end` from the getProject endpoint instead.\\nA timestamp indicating when the project quota resets\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"owner_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"owner\": {\n                        \"$ref\": \"#/components/schemas/ProjectOwnerData\"\n                    }\n                },\n                \"example\": {\n                    \"id\": \"spring-example-302709\",\n                    \"platform_id\": \"aws\",\n                    \"region_id\": \"aws-us-east-2\",\n                    \"name\": \"spring-example-302709\",\n                    \"provisioner\": \"k8s-pod\",\n                    \"pg_version\": 15,\n                    \"proxy_host\": \"us-east-2.aws.neon.tech\",\n                    \"store_passwords\": true,\n                    \"creation_source\": \"console\",\n                    \"created_at\": \"2022-12-13T01:30:55Z\",\n                    \"updated_at\": \"2022-12-13T01:30:55Z\"\n                }\n            },\n            \"Project\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"consumption_period_end\",\n                    \"consumption_period_start\",\n                    \"active_time_seconds\",\n                    \"compute_time_seconds\",\n                    \"written_data_bytes\",\n                    \"data_transfer_bytes\",\n                    \"data_storage_bytes_hour\",\n                    \"id\",\n                    \"platform_id\",\n                    \"region_id\",\n                    \"name\",\n                    \"pg_version\",\n                    \"proxy_host\",\n                    \"branch_logical_size_limit\",\n                    \"branch_logical_size_limit_bytes\",\n                    \"store_passwords\",\n                    \"cpu_used_sec\",\n                    \"provisioner\",\n                    \"creation_source\",\n                    \"created_at\",\n                    \"updated_at\",\n                    \"owner_id\"\n                ],\n                \"properties\": {\n                    \"data_storage_bytes_hour\": {\n                        \"description\": \"Bytes-Hour. Project consumed that much storage hourly during the billing period. The value has some lag.\\nThe value is reset at the beginning of each billing period.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    },\n                    \"data_transfer_bytes\": {\n                        \"description\": \"Bytes. Egress traffic from the Neon cloud to the client for given project over the billing period.\\nIncludes deleted endpoints. The value has some lag. The value is reset at the beginning of each billing period.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    },\n                    \"written_data_bytes\": {\n                        \"description\": \"Bytes. Amount of WAL that travelled through storage for given project across all branches.\\nThe value has some lag. The value is reset at the beginning of each billing period.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    },\n                    \"compute_time_seconds\": {\n                        \"description\": \"Seconds. The number of CPU seconds used by the project's compute endpoints, including compute endpoints that have been deleted.\\nThe value has some lag. The value is reset at the beginning of each billing period.\\nExamples:\\n1. An endpoint that uses 1 CPU for 1 second is equal to `compute_time=1`.\\n2. An endpoint that uses 2 CPUs simultaneously for 1 second is equal to `compute_time=2`.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    },\n                    \"active_time_seconds\": {\n                        \"description\": \"Seconds. Control plane observed endpoints of this project being active this amount of wall-clock time.\\nThe value has some lag.\\nThe value is reset at the beginning of each billing period.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    },\n                    \"cpu_used_sec\": {\n                        \"description\": \"DEPRECATED, use compute_time instead.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"deprecated\": true\n                    },\n                    \"id\": {\n                        \"description\": \"The project ID\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"platform_id\": {\n                        \"description\": \"The cloud platform identifier. Currently, only AWS is supported, for which the identifier is `aws`.\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"region_id\": {\n                        \"description\": \"The region identifier\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"name\": {\n                        \"description\": \"The project name\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"provisioner\": {\n                        \"$ref\": \"#/components/schemas/Provisioner\"\n                    },\n                    \"default_endpoint_settings\": {\n                        \"$ref\": \"#/components/schemas/DefaultEndpointSettings\"\n                    },\n                    \"settings\": {\n                        \"$ref\": \"#/components/schemas/ProjectSettingsData\"\n                    },\n                    \"pg_version\": {\n                        \"$ref\": \"#/components/schemas/PgVersion\"\n                    },\n                    \"proxy_host\": {\n                        \"description\": \"The proxy host for the project. This value combines the `region_id`, the `platform_id`, and the Neon domain (`neon.tech`).\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"branch_logical_size_limit\": {\n                        \"description\": \"The logical size limit for a branch. The value is in MiB.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"branch_logical_size_limit_bytes\": {\n                        \"description\": \"The logical size limit for a branch. The value is in B.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"store_passwords\": {\n                        \"description\": \"Whether or not passwords are stored for roles in the Neon project. Storing passwords facilitates access to Neon features that require authorization.\\n\",\n                        \"type\": \"boolean\"\n                    },\n                    \"maintenance_starts_at\": {\n                        \"description\": \"A timestamp indicating when project maintenance begins. If set, the project is placed into maintenance mode at this time.\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"creation_source\": {\n                        \"description\": \"The project creation source\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"created_at\": {\n                        \"description\": \"A timestamp indicating when the project was created\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"updated_at\": {\n                        \"description\": \"A timestamp indicating when the project was last updated\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"synthetic_storage_size\": {\n                        \"description\": \"Experimental. Do not use this field yet.\\nThe data storage size in bytes.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"consumption_period_start\": {\n                        \"description\": \"A date-time indicating when Neon Cloud started measuring consumption for current consumption period.\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"consumption_period_end\": {\n                        \"description\": \"A date-time indicating when Neon Cloud plans to stop measuring consumption for current consumption period.\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"quota_reset_at\": {\n                        \"deprecated\": true,\n                        \"description\": \"DEPRECATED. Use `consumption_period_end` from the getProject endpoint instead.\\nA timestamp indicating when the project quota resets\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"owner_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"owner\": {\n                        \"$ref\": \"#/components/schemas/ProjectOwnerData\"\n                    }\n                },\n                \"example\": {\n                    \"id\": \"spring-example-302709\",\n                    \"platform_id\": \"aws\",\n                    \"region_id\": \"aws-us-east-2\",\n                    \"name\": \"spring-example-302709\",\n                    \"provisioner\": \"k8s-pod\",\n                    \"pg_version\": 15,\n                    \"proxy_host\": \"us-east-2.aws.neon.tech\",\n                    \"store_passwords\": true,\n                    \"creation_source\": \"console\",\n                    \"created_at\": \"2022-12-13T01:30:55Z\",\n                    \"updated_at\": \"2022-12-13T01:30:55Z\"\n                }\n            },\n            \"ProjectCreateRequest\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"project\"\n                ],\n                \"properties\": {\n                    \"project\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                            \"settings\": {\n                                \"$ref\": \"#/components/schemas/ProjectSettingsData\"\n                            },\n                            \"name\": {\n                                \"description\": \"The project name\",\n                                \"type\": \"string\"\n                            },\n                            \"branch\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                    \"name\": {\n                                        \"description\": \"The branch name. If not specified, the default branch name will be used.\\n\",\n                                        \"type\": \"string\"\n                                    },\n                                    \"role_name\": {\n                                        \"description\": \"The role name. If not specified, the default role name will be used.\\n\",\n                                        \"type\": \"string\"\n                                    },\n                                    \"database_name\": {\n                                        \"description\": \"The database name. If not specified, the default database name will be used.\\n\",\n                                        \"type\": \"string\"\n                                    }\n                                }\n                            },\n                            \"autoscaling_limit_min_cu\": {\n                                \"description\": \"The minimum number of CPU units\\n\",\n                                \"$ref\": \"#/components/schemas/ComputeUnit\"\n                            },\n                            \"autoscaling_limit_max_cu\": {\n                                \"description\": \"The maximum number of CPU units\\n\",\n                                \"$ref\": \"#/components/schemas/ComputeUnit\"\n                            },\n                            \"provisioner\": {\n                                \"$ref\": \"#/components/schemas/Provisioner\"\n                            },\n                            \"region_id\": {\n                                \"description\": \"The region identifier. See [the documentation](https://neon.tech/docs/introduction/regions) for the list of supported regions.\\n\",\n                                \"type\": \"string\"\n                            },\n                            \"default_endpoint_settings\": {\n                                \"$ref\": \"#/components/schemas/PgSettingsData\"\n                            },\n                            \"pg_version\": {\n                                \"$ref\": \"#/components/schemas/PgVersion\"\n                            },\n                            \"store_passwords\": {\n                                \"description\": \"Whether or not passwords are stored for roles in the Neon project. Storing passwords facilitates access to Neon features that require authorization.\\n\",\n                                \"type\": \"boolean\"\n                            }\n                        }\n                    }\n                }\n            },\n            \"ProjectUpdateRequest\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"project\"\n                ],\n                \"properties\": {\n                    \"project\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                            \"settings\": {\n                                \"$ref\": \"#/components/schemas/ProjectSettingsData\"\n                            },\n                            \"name\": {\n                                \"type\": \"string\"\n                            },\n                            \"default_endpoint_settings\": {\n                                \"$ref\": \"#/components/schemas/PgSettingsData\"\n                            }\n                        }\n                    }\n                }\n            },\n            \"ProjectSettingsData\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"quota\": {\n                        \"$ref\": \"#/components/schemas/ProjectQuota\"\n                    }\n                }\n            },\n            \"ProjectResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"project\"\n                ],\n                \"properties\": {\n                    \"project\": {\n                        \"$ref\": \"#/components/schemas/Project\"\n                    }\n                }\n            },\n            \"ProjectsResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"projects\"\n                ],\n                \"properties\": {\n                    \"projects\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/ProjectListItem\"\n                        }\n                    }\n                }\n            },\n            \"ProjectsConsumptionResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"projects\"\n                ],\n                \"properties\": {\n                    \"projects\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/ProjectConsumption\"\n                        }\n                    }\n                }\n            },\n            \"ProjectConsumption\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"id\",\n                    \"active_time_seconds\",\n                    \"compute_time_seconds\",\n                    \"written_data_bytes\",\n                    \"data_transfer_bytes\",\n                    \"data_storage_bytes_hour\",\n                    \"updated_at\"\n                ],\n                \"properties\": {\n                    \"id\": {\n                        \"description\": \"The project ID\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"data_storage_bytes_hour\": {\n                        \"description\": \"Bytes-Hour. Project consumed that much storage hourly during the billing period. The value has some lag.\\nThe value is reset at the beginning of each billing period.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    },\n                    \"data_transfer_bytes\": {\n                        \"description\": \"Bytes. Egress traffic from the Neon cloud to the client for given project over the billing period.\\nIncludes deleted endpoints. The value has some lag. The value is reset at the beginning of each billing period.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    },\n                    \"written_data_bytes\": {\n                        \"description\": \"Bytes. Amount of WAL that travelled through storage for given project across all branches.\\nThe value has some lag. The value is reset at the beginning of each billing period.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    },\n                    \"compute_time_seconds\": {\n                        \"description\": \"Seconds. The number of CPU seconds used by the project's compute endpoints, including compute endpoints that have been deleted.\\nThe value has some lag. The value is reset at the beginning of each billing period.\\nExamples:\\n1. An endpoint that uses 1 CPU for 1 second is equal to `compute_time=1`.\\n2. An endpoint that uses 2 CPUs simultaneously for 1 second is equal to `compute_time=2`.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    },\n                    \"active_time_seconds\": {\n                        \"description\": \"Seconds. Control plane observed endpoints of this project being active this amount of wall-clock time.\\nThe value has some lag.\\nThe value is reset at the beginning of each billing period.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    },\n                    \"updated_at\": {\n                        \"description\": \"A timestamp indicating when the project was last updated\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    }\n                }\n            },\n            \"Branch\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"id\",\n                    \"project_id\",\n                    \"name\",\n                    \"current_state\",\n                    \"creation_source\",\n                    \"created_at\",\n                    \"updated_at\",\n                    \"primary\",\n                    \"cpu_used_sec\"\n                ],\n                \"properties\": {\n                    \"id\": {\n                        \"description\": \"The branch ID. This value is generated when a branch is created. A `branch_id` value has a `br` prefix. For example: `br-small-term-683261`.\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"project_id\": {\n                        \"description\": \"The ID of the project to which the branch belongs\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"parent_id\": {\n                        \"description\": \"The `branch_id` of the parent branch\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"parent_lsn\": {\n                        \"description\": \"The Log Sequence Number (LSN) on the parent branch from which this branch was created\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"parent_timestamp\": {\n                        \"description\": \"The point in time on the parent branch from which this branch was created\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"name\": {\n                        \"description\": \"The branch name\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"current_state\": {\n                        \"$ref\": \"#/components/schemas/BranchState\"\n                    },\n                    \"pending_state\": {\n                        \"$ref\": \"#/components/schemas/BranchState\"\n                    },\n                    \"logical_size\": {\n                        \"description\": \"The logical size of the branch, in bytes\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"creation_source\": {\n                        \"description\": \"The branch creation source\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"primary\": {\n                        \"description\": \"Whether the branch is the project's primary branch\\n\",\n                        \"type\": \"boolean\"\n                    },\n                    \"cpu_used_sec\": {\n                        \"description\": \"CPU seconds used by all the endpoints of the branch, including deleted ones.\\nThis value is reset at the beginning of each billing period.\\nExamples:\\n1. A branch that uses 1 CPU for 1 second is equal to `cpu_used_sec=1`.\\n2. A branch that uses 2 CPUs simultaneously for 1 second is equal to `cpu_used_sec=2`.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"created_at\": {\n                        \"description\": \"A timestamp indicating when the branch was created\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"updated_at\": {\n                        \"description\": \"A timestamp indicating when the branch was last updated\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    }\n                },\n                \"example\": {\n                    \"id\": \"br-wispy-meadow-118737\",\n                    \"project_id\": \"spring-example-302709\",\n                    \"parent_id\": \"br-aged-salad-637688\",\n                    \"parent_lsn\": \"0/1DE2850\",\n                    \"name\": \"dev2\",\n                    \"current_state\": \"ready\",\n                    \"creation_source\": \"console\",\n                    \"created_at\": \"2022-11-30T19:09:48Z\",\n                    \"updated_at\": \"2022-12-01T19:53:05Z\",\n                    \"primary\": true\n                }\n            },\n            \"BranchState\": {\n                \"description\": \"The branch state\",\n                \"type\": \"string\",\n                \"enum\": [\n                    \"init\",\n                    \"ready\"\n                ]\n            },\n            \"BranchCreateRequestEndpointOptions\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"type\"\n                ],\n                \"properties\": {\n                    \"type\": {\n                        \"$ref\": \"#/components/schemas/EndpointType\"\n                    },\n                    \"autoscaling_limit_min_cu\": {\n                        \"description\": \"The minimum number of CPU units\\n\",\n                        \"$ref\": \"#/components/schemas/ComputeUnit\"\n                    },\n                    \"autoscaling_limit_max_cu\": {\n                        \"description\": \"The maximum number of CPU units\\n\",\n                        \"$ref\": \"#/components/schemas/ComputeUnit\"\n                    },\n                    \"provisioner\": {\n                        \"$ref\": \"#/components/schemas/Provisioner\"\n                    },\n                    \"suspend_timeout_seconds\": {\n                        \"description\": \"Duration of inactivity in seconds after which endpoint will be\\nautomatically suspended. Value `0` means use global default,\\n`-1` means never suspend. Maximum value is 24 hours in seconds.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": -1,\n                        \"maximum\": 86400\n                    }\n                }\n            },\n            \"BranchCreateRequest\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"endpoints\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/BranchCreateRequestEndpointOptions\"\n                        }\n                    },\n                    \"branch\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                            \"parent_id\": {\n                                \"description\": \"The `branch_id` of the parent branch\\n\",\n                                \"type\": \"string\"\n                            },\n                            \"name\": {\n                                \"description\": \"The branch name\\n\",\n                                \"type\": \"string\"\n                            },\n                            \"parent_lsn\": {\n                                \"description\": \"A Log Sequence Number (LSN) on the parent branch. The branch will be created with data from this LSN.\\n\",\n                                \"type\": \"string\"\n                            },\n                            \"parent_timestamp\": {\n                                \"description\": \"A timestamp identifying a point in time on the parent branch. The branch will be created with data starting from this point in time.\\n\",\n                                \"type\": \"string\",\n                                \"format\": \"date-time\"\n                            }\n                        }\n                    }\n                }\n            },\n            \"BranchUpdateRequest\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"branch\"\n                ],\n                \"properties\": {\n                    \"branch\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                            \"name\": {\n                                \"type\": \"string\"\n                            }\n                        }\n                    }\n                }\n            },\n            \"BranchResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"branch\"\n                ],\n                \"properties\": {\n                    \"branch\": {\n                        \"$ref\": \"#/components/schemas/Branch\"\n                    }\n                }\n            },\n            \"BranchesResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"branches\"\n                ],\n                \"properties\": {\n                    \"branches\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/Branch\"\n                        }\n                    }\n                }\n            },\n            \"ConnectionURI\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"connection_uri\"\n                ],\n                \"properties\": {\n                    \"connection_uri\": {\n                        \"description\": \"Connection URI is same as specified in https://www.postgresql.org/docs/current/libpq-connect.html#id-1.7.3.8.3.6\\nIt is a ready to use string for psql or for DATABASE_URL environment variable.\\n\",\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"Endpoint\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"host\",\n                    \"id\",\n                    \"project_id\",\n                    \"branch_id\",\n                    \"region_id\",\n                    \"autoscaling_limit_max_cu\",\n                    \"autoscaling_limit_min_cu\",\n                    \"type\",\n                    \"current_state\",\n                    \"pooler_enabled\",\n                    \"pooler_mode\",\n                    \"disabled\",\n                    \"passwordless_access\",\n                    \"creation_source\",\n                    \"created_at\",\n                    \"updated_at\",\n                    \"settings\",\n                    \"proxy_host\",\n                    \"suspend_timeout_seconds\",\n                    \"provisioner\"\n                ],\n                \"properties\": {\n                    \"host\": {\n                        \"description\": \"The hostname of the compute endpoint. This is the hostname specified when connecting to a Neon database.\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"id\": {\n                        \"description\": \"The compute endpoint ID. Compute endpoint IDs have an `ep-` prefix. For example: `ep-little-smoke-851426`\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"project_id\": {\n                        \"description\": \"The ID of the project to which the compute endpoint belongs\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"branch_id\": {\n                        \"description\": \"The ID of the branch that the compute endpoint is associated with\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"autoscaling_limit_min_cu\": {\n                        \"description\": \"The minimum number of CPU units\\n\",\n                        \"$ref\": \"#/components/schemas/ComputeUnit\"\n                    },\n                    \"autoscaling_limit_max_cu\": {\n                        \"description\": \"The maximum number of CPU units\\n\",\n                        \"$ref\": \"#/components/schemas/ComputeUnit\"\n                    },\n                    \"region_id\": {\n                        \"type\": \"string\",\n                        \"description\": \"The region identifier\\n\"\n                    },\n                    \"type\": {\n                        \"$ref\": \"#/components/schemas/EndpointType\"\n                    },\n                    \"current_state\": {\n                        \"$ref\": \"#/components/schemas/EndpointState\"\n                    },\n                    \"pending_state\": {\n                        \"$ref\": \"#/components/schemas/EndpointState\"\n                    },\n                    \"settings\": {\n                        \"$ref\": \"#/components/schemas/EndpointSettingsData\"\n                    },\n                    \"pooler_enabled\": {\n                        \"description\": \"Whether connection pooling is enabled for the compute endpoint\\n\",\n                        \"type\": \"boolean\"\n                    },\n                    \"pooler_mode\": {\n                        \"$ref\": \"#/components/schemas/EndpointPoolerMode\"\n                    },\n                    \"disabled\": {\n                        \"description\": \"Whether to restrict connections to the compute endpoint\\n\",\n                        \"type\": \"boolean\"\n                    },\n                    \"passwordless_access\": {\n                        \"description\": \"Whether to permit passwordless access to the compute endpoint\\n\",\n                        \"type\": \"boolean\"\n                    },\n                    \"last_active\": {\n                        \"description\": \"A timestamp indicating when the compute endpoint was last active\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"creation_source\": {\n                        \"description\": \"The compute endpoint creation source\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"created_at\": {\n                        \"description\": \"A timestamp indicating when the compute endpoint was created\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"updated_at\": {\n                        \"description\": \"A timestamp indicating when the compute endpoint was last updated\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"proxy_host\": {\n                        \"description\": \"DEPRECATED. Use the \\\"host\\\" property instead.\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"suspend_timeout_seconds\": {\n                        \"description\": \"Duration of inactivity in seconds after which endpoint will be\\nautomatically suspended. Value `0` means use global default,\\n`-1` means never suspend. Maximum value is 24 hours in seconds.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": -1,\n                        \"maximum\": 86400\n                    },\n                    \"provisioner\": {\n                        \"$ref\": \"#/components/schemas/Provisioner\"\n                    }\n                },\n                \"example\": {\n                    \"host\": \"ep-silent-smoke-806639.us-east-2.aws.neon.tech\",\n                    \"id\": \"ep-silent-smoke-806639\",\n                    \"project_id\": \"spring-example-302709\",\n                    \"branch_id\": \"br-wispy-meadow-118737\",\n                    \"autoscaling_limit_min_cu\": 1,\n                    \"autoscaling_limit_max_cu\": 1,\n                    \"region_id\": \"aws-us-east-2\",\n                    \"type\": \"read_write\",\n                    \"current_state\": \"init\",\n                    \"pending_state\": \"active\",\n                    \"settings\": {\n                        \"pg_settings\": {}\n                    },\n                    \"pooler_enabled\": false,\n                    \"pooler_mode\": \"transaction\",\n                    \"disabled\": false,\n                    \"passwordless_access\": true,\n                    \"creation_source\": \"console\",\n                    \"created_at\": \"2022-12-03T15:37:07Z\",\n                    \"updated_at\": \"2022-12-03T15:37:07Z\",\n                    \"proxy_host\": \"us-east-2.aws.neon.tech\",\n                    \"suspend_timeout_seconds\": 0\n                }\n            },\n            \"EndpointState\": {\n                \"description\": \"The state of the compute endpoint\\n\",\n                \"type\": \"string\",\n                \"enum\": [\n                    \"init\",\n                    \"active\",\n                    \"idle\"\n                ]\n            },\n            \"EndpointType\": {\n                \"description\": \"The compute endpoint type. Either `read_write` or `read_only`.\\nThe `read_only` compute endpoint type is not yet supported.\\n\",\n                \"type\": \"string\",\n                \"enum\": [\n                    \"read_only\",\n                    \"read_write\"\n                ]\n            },\n            \"EndpointPoolerMode\": {\n                \"description\": \"The connection pooler mode. Neon supports PgBouncer in `transaction` mode only.\\n\",\n                \"type\": \"string\",\n                \"enum\": [\n                    \"transaction\"\n                ]\n            },\n            \"EndpointCreateRequest\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"endpoint\"\n                ],\n                \"properties\": {\n                    \"endpoint\": {\n                        \"type\": \"object\",\n                        \"required\": [\n                            \"branch_id\",\n                            \"type\",\n                            \"name\"\n                        ],\n                        \"properties\": {\n                            \"branch_id\": {\n                                \"description\": \"The ID of the branch the compute endpoint will be associated with\\n\",\n                                \"type\": \"string\"\n                            },\n                            \"region_id\": {\n                                \"description\": \"The region where the compute endpoint will be created. Only the project's `region_id` is permitted.\\n\",\n                                \"type\": \"string\"\n                            },\n                            \"type\": {\n                                \"$ref\": \"#/components/schemas/EndpointType\"\n                            },\n                            \"settings\": {\n                                \"$ref\": \"#/components/schemas/EndpointSettingsData\"\n                            },\n                            \"autoscaling_limit_min_cu\": {\n                                \"description\": \"The minimum number of CPU units\\n\",\n                                \"$ref\": \"#/components/schemas/ComputeUnit\"\n                            },\n                            \"autoscaling_limit_max_cu\": {\n                                \"description\": \"The maximum number of CPU units\\n\",\n                                \"$ref\": \"#/components/schemas/ComputeUnit\"\n                            },\n                            \"provisioner\": {\n                                \"$ref\": \"#/components/schemas/Provisioner\"\n                            },\n                            \"pooler_enabled\": {\n                                \"description\": \"Whether to enable connection pooling for the compute endpoint\\n\",\n                                \"type\": \"boolean\"\n                            },\n                            \"pooler_mode\": {\n                                \"$ref\": \"#/components/schemas/EndpointPoolerMode\"\n                            },\n                            \"disabled\": {\n                                \"type\": \"boolean\",\n                                \"description\": \"Whether to restrict connections to the compute endpoint\\n\"\n                            },\n                            \"passwordless_access\": {\n                                \"type\": \"boolean\",\n                                \"description\": \"NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.\\n\"\n                            },\n                            \"suspend_timeout_seconds\": {\n                                \"description\": \"Duration of inactivity in seconds after which endpoint will be\\nautomatically suspended. Value `0` means use global default,\\n`-1` means never suspend. Maximum value is 24 hours in seconds.\\n\",\n                                \"type\": \"integer\",\n                                \"format\": \"int64\",\n                                \"minimum\": -1,\n                                \"maximum\": 86400\n                            }\n                        }\n                    }\n                }\n            },\n            \"EndpointUpdateRequest\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"endpoint\"\n                ],\n                \"properties\": {\n                    \"endpoint\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                            \"branch_id\": {\n                                \"description\": \"The destination branch ID. The destination branch must not have an exsiting read-write endpoint.\\n\",\n                                \"type\": \"string\"\n                            },\n                            \"autoscaling_limit_min_cu\": {\n                                \"description\": \"The minimum number of CPU units\\n\",\n                                \"$ref\": \"#/components/schemas/ComputeUnit\"\n                            },\n                            \"autoscaling_limit_max_cu\": {\n                                \"description\": \"The maximum number of CPU units\\n\",\n                                \"$ref\": \"#/components/schemas/ComputeUnit\"\n                            },\n                            \"provisioner\": {\n                                \"$ref\": \"#/components/schemas/Provisioner\"\n                            },\n                            \"settings\": {\n                                \"$ref\": \"#/components/schemas/EndpointSettingsData\"\n                            },\n                            \"pooler_enabled\": {\n                                \"description\": \"Whether to enable connection pooling for the compute endpoint\\n\",\n                                \"type\": \"boolean\"\n                            },\n                            \"pooler_mode\": {\n                                \"$ref\": \"#/components/schemas/EndpointPoolerMode\"\n                            },\n                            \"disabled\": {\n                                \"description\": \"Whether to restrict connections to the compute endpoint\\n\",\n                                \"type\": \"boolean\"\n                            },\n                            \"passwordless_access\": {\n                                \"description\": \"NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.\\n\",\n                                \"type\": \"boolean\"\n                            },\n                            \"suspend_timeout_seconds\": {\n                                \"description\": \"Duration of inactivity in seconds after which endpoint will be\\nautomatically suspended. Value `0` means use global default,\\n`-1` means never suspend. Maximum value is 24 hours in seconds.\\n\",\n                                \"type\": \"integer\",\n                                \"format\": \"int64\",\n                                \"minimum\": -1,\n                                \"maximum\": 86400\n                            }\n                        }\n                    }\n                }\n            },\n            \"EndpointResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"endpoint\"\n                ],\n                \"properties\": {\n                    \"endpoint\": {\n                        \"$ref\": \"#/components/schemas/Endpoint\"\n                    }\n                }\n            },\n            \"ConnectionURIsResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"connection_uris\"\n                ],\n                \"properties\": {\n                    \"connection_uris\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/ConnectionURI\"\n                        }\n                    }\n                }\n            },\n            \"ConnectionURIsOptionalResponse\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"connection_uris\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/ConnectionURI\"\n                        }\n                    }\n                }\n            },\n            \"ConnectionURIResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"connection_uri\"\n                ],\n                \"properties\": {\n                    \"connection_uri\": {\n                        \"$ref\": \"#/components/schemas/ConnectionURI\"\n                    }\n                }\n            },\n            \"EndpointsResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"endpoints\"\n                ],\n                \"properties\": {\n                    \"endpoints\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/Endpoint\"\n                        }\n                    }\n                }\n            },\n            \"EndpointPasswordlessSessionAuthRequest\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"session_id\"\n                ],\n                \"properties\": {\n                    \"session_id\": {\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"Duration\": {\n                \"description\": \"A Duration represents the elapsed time between two instants\\nas an int64 nanosecond count. The representation limits the\\nlargest representable duration to approximately 290 years.\",\n                \"type\": \"integer\",\n                \"format\": \"int64\"\n            },\n            \"StatementResult\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"query\"\n                ],\n                \"properties\": {\n                    \"data\": {\n                        \"$ref\": \"#/components/schemas/StatementData\"\n                    },\n                    \"error\": {\n                        \"type\": \"string\"\n                    },\n                    \"explain_data\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/ExplainData\"\n                        }\n                    },\n                    \"query\": {\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"StatementData\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"truncated\"\n                ],\n                \"properties\": {\n                    \"fields\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"type\": \"string\"\n                        }\n                    },\n                    \"rows\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                                \"type\": \"string\"\n                            }\n                        }\n                    },\n                    \"truncated\": {\n                        \"type\": \"boolean\"\n                    }\n                }\n            },\n            \"ExplainData\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"QUERY PLAN\"\n                ],\n                \"properties\": {\n                    \"QUERY PLAN\": {\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"Role\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"branch_id\",\n                    \"name\",\n                    \"created_at\",\n                    \"updated_at\"\n                ],\n                \"properties\": {\n                    \"branch_id\": {\n                        \"description\": \"The ID of the branch to which the role belongs\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"name\": {\n                        \"description\": \"The role name\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"password\": {\n                        \"description\": \"The role password\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"protected\": {\n                        \"description\": \"Whether or not the role is system-protected\\n\",\n                        \"type\": \"boolean\"\n                    },\n                    \"created_at\": {\n                        \"description\": \"A timestamp indicating when the role was created\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"updated_at\": {\n                        \"description\": \"A timestamp indicating when the role was last updated\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    }\n                },\n                \"example\": {\n                    \"branch_id\": \"br-wispy-meadow-118737\",\n                    \"name\": \"casey\",\n                    \"protected\": false,\n                    \"created_at\": \"2022-11-23T17:42:25Z\",\n                    \"updated_at\": \"2022-11-23T17:42:25Z\"\n                }\n            },\n            \"RoleCreateRequest\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"role\"\n                ],\n                \"properties\": {\n                    \"role\": {\n                        \"type\": \"object\",\n                        \"required\": [\n                            \"name\"\n                        ],\n                        \"properties\": {\n                            \"name\": {\n                                \"description\": \"The role name. Cannot exceed 63 bytes in length.\\n\",\n                                \"type\": \"string\"\n                            }\n                        }\n                    }\n                }\n            },\n            \"RoleResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"role\"\n                ],\n                \"properties\": {\n                    \"role\": {\n                        \"$ref\": \"#/components/schemas/Role\"\n                    }\n                }\n            },\n            \"RolesResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"roles\"\n                ],\n                \"properties\": {\n                    \"roles\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/Role\"\n                        }\n                    }\n                }\n            },\n            \"RolePasswordResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"password\"\n                ],\n                \"properties\": {\n                    \"password\": {\n                        \"description\": \"The role password\\n\",\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"PaymentSourceBankCard\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"last4\"\n                ],\n                \"properties\": {\n                    \"last4\": {\n                        \"type\": \"string\",\n                        \"description\": \"Last 4 digits of the card.\\n\"\n                    }\n                }\n            },\n            \"PaymentSource\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"type\"\n                ],\n                \"properties\": {\n                    \"type\": {\n                        \"type\": \"string\",\n                        \"description\": \"Type of payment source. E.g. \\\"card\\\".\\n\"\n                    },\n                    \"card\": {\n                        \"$ref\": \"#/components/schemas/PaymentSourceBankCard\"\n                    }\n                }\n            },\n            \"BillingAccount\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"payment_source\",\n                    \"subscription_type\",\n                    \"quota_reset_at_last\",\n                    \"email\",\n                    \"address_city\",\n                    \"address_country\",\n                    \"address_line1\",\n                    \"address_line2\",\n                    \"address_postal_code\",\n                    \"address_state\"\n                ],\n                \"properties\": {\n                    \"payment_source\": {\n                        \"$ref\": \"#/components/schemas/PaymentSource\"\n                    },\n                    \"subscription_type\": {\n                        \"$ref\": \"#/components/schemas/BillingSubscriptionType\"\n                    },\n                    \"quota_reset_at_last\": {\n                        \"description\": \"Last time when quota was reset. Defaults to current datetime when account is created.\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"email\": {\n                        \"description\": \"Billing email, to receive emails related to invoices and subscriptions.\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"address_city\": {\n                        \"description\": \"Billing address city.\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"address_country\": {\n                        \"description\": \"Billing address country.\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"address_line1\": {\n                        \"description\": \"Billing address line 1.\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"address_line2\": {\n                        \"description\": \"Billing address line 2.\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"address_postal_code\": {\n                        \"description\": \"Billing address postal code.\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"address_state\": {\n                        \"description\": \"Billing address state or region.\\n\",\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"BillingSubscriptionType\": {\n                \"type\": \"string\",\n                \"description\": \"Type of subscription to Neon Cloud.\\nNotice that for users without billing account this will be \\\"UNKNOWN\\\"\\n\",\n                \"enum\": [\n                    \"UNKNOWN\",\n                    \"free\",\n                    \"pro\",\n                    \"platform_partnership\",\n                    \"enterprise\"\n                ]\n            },\n            \"Database\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"id\",\n                    \"branch_id\",\n                    \"name\",\n                    \"owner_name\",\n                    \"created_at\",\n                    \"updated_at\"\n                ],\n                \"properties\": {\n                    \"id\": {\n                        \"description\": \"The database ID\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"branch_id\": {\n                        \"description\": \"The ID of the branch to which the database belongs\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"name\": {\n                        \"description\": \"The database name\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"owner_name\": {\n                        \"description\": \"The name of role that owns the database\\n\",\n                        \"type\": \"string\"\n                    },\n                    \"created_at\": {\n                        \"description\": \"A timestamp indicating when the database was created\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"updated_at\": {\n                        \"description\": \"A timestamp indicating when the database was last updated\\n\",\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    }\n                },\n                \"example\": {\n                    \"id\": 834686,\n                    \"branch_id\": \"br-wispy-meadow-118737\",\n                    \"name\": \"neondb\",\n                    \"owner_name\": \"casey\",\n                    \"created_at\": \"2022-11-30T18:25:15Z\",\n                    \"updated_at\": \"2022-11-30T18:25:15Z\"\n                }\n            },\n            \"DatabaseCreateRequest\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"database\"\n                ],\n                \"properties\": {\n                    \"database\": {\n                        \"type\": \"object\",\n                        \"required\": [\n                            \"name\",\n                            \"owner_name\"\n                        ],\n                        \"properties\": {\n                            \"name\": {\n                                \"description\": \"The name of the datbase\\n\",\n                                \"type\": \"string\"\n                            },\n                            \"owner_name\": {\n                                \"description\": \"The name of the role that owns the database\\n\",\n                                \"type\": \"string\"\n                            }\n                        }\n                    }\n                }\n            },\n            \"DatabaseUpdateRequest\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"database\"\n                ],\n                \"properties\": {\n                    \"database\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                            \"name\": {\n                                \"description\": \"The name of the database\\n\",\n                                \"type\": \"string\"\n                            },\n                            \"owner_name\": {\n                                \"description\": \"The name of the role that owns the database\\n\",\n                                \"type\": \"string\"\n                            }\n                        }\n                    }\n                }\n            },\n            \"DatabaseResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"database\"\n                ],\n                \"properties\": {\n                    \"database\": {\n                        \"$ref\": \"#/components/schemas/Database\"\n                    }\n                }\n            },\n            \"DatabasesResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"databases\"\n                ],\n                \"properties\": {\n                    \"databases\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/Database\"\n                        }\n                    }\n                }\n            },\n            \"ConsoleSettingsRaw\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"project_creation_forbidden\": {\n                        \"description\": \"management\",\n                        \"type\": \"boolean\"\n                    },\n                    \"proxy_host\": {\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"CurrentUserAuthAccount\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"provider\",\n                    \"email\",\n                    \"name\",\n                    \"login\",\n                    \"image\"\n                ],\n                \"properties\": {\n                    \"email\": {\n                        \"type\": \"string\"\n                    },\n                    \"image\": {\n                        \"type\": \"string\"\n                    },\n                    \"login\": {\n                        \"type\": \"string\"\n                    },\n                    \"name\": {\n                        \"type\": \"string\"\n                    },\n                    \"provider\": {\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"CurrentUserInfoResponse\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"active_seconds_limit\",\n                    \"billing_account\",\n                    \"id\",\n                    \"email\",\n                    \"login\",\n                    \"name\",\n                    \"image\",\n                    \"projects_limit\",\n                    \"branches_limit\",\n                    \"max_autoscaling_limit\",\n                    \"auth_accounts\",\n                    \"plan\"\n                ],\n                \"properties\": {\n                    \"active_seconds_limit\": {\n                        \"description\": \"Control plane observes active endpoints of a user this amount of wall-clock time.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"billing_account\": {\n                        \"$ref\": \"#/components/schemas/BillingAccount\"\n                    },\n                    \"auth_accounts\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/CurrentUserAuthAccount\"\n                        }\n                    },\n                    \"email\": {\n                        \"type\": \"string\"\n                    },\n                    \"id\": {\n                        \"type\": \"string\"\n                    },\n                    \"image\": {\n                        \"type\": \"string\"\n                    },\n                    \"login\": {\n                        \"type\": \"string\"\n                    },\n                    \"name\": {\n                        \"type\": \"string\"\n                    },\n                    \"projects_limit\": {\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"branches_limit\": {\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"max_autoscaling_limit\": {\n                        \"$ref\": \"#/components/schemas/ComputeUnit\"\n                    },\n                    \"compute_seconds_limit\": {\n                        \"type\": \"integer\",\n                        \"format\": \"int64\"\n                    },\n                    \"plan\": {\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"EndpointSettingsData\": {\n                \"type\": \"object\",\n                \"description\": \"A collection of settings for a compute endpoint\",\n                \"properties\": {\n                    \"pg_settings\": {\n                        \"$ref\": \"#/components/schemas/PgSettingsData\"\n                    }\n                }\n            },\n            \"ProjectQuota\": {\n                \"type\": \"object\",\n                \"description\": \"The consumption quota of a project.\\nAfter the quota has been exceeded, it is impossible to use the project until either:\\n* Neon cloud resets the calculated consumption,\\n* or the user increases quota for the project.\\nThe Neon cloud resets the quota at the beginning of the billing period.\\n\\nIf the quota is not set, the project can use as many resources as needed.\\n\",\n                \"properties\": {\n                    \"active_time_sec\": {\n                        \"description\": \"The total amount of wall-clock time allowed to be spent by a project's compute endpoints.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    },\n                    \"cpu_quota_sec\": {\n                        \"description\": \"The total amount of CPU seconds allowed to be spent by a project's compute endpoints.\\n\",\n                        \"type\": \"integer\",\n                        \"format\": \"int64\",\n                        \"minimum\": 0\n                    }\n                }\n            },\n            \"DefaultEndpointSettings\": {\n                \"type\": \"object\",\n                \"description\": \"A collection of settings for a Neon endpoint\",\n                \"properties\": {\n                    \"pg_settings\": {\n                        \"$ref\": \"#/components/schemas/PgSettingsData\"\n                    }\n                }\n            },\n            \"PgSettingsData\": {\n                \"description\": \"A raw representation of PostgreSQL settings\",\n                \"type\": \"object\",\n                \"additionalProperties\": {\n                    \"type\": \"string\"\n                }\n            },\n            \"PgVersion\": {\n                \"description\": \"The major PostgreSQL version number. Currently supported version are `14` and `15`.\",\n                \"type\": \"integer\"\n            },\n            \"HealthCheck\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"status\"\n                ],\n                \"properties\": {\n                    \"status\": {\n                        \"description\": \"Service status\",\n                        \"type\": \"string\"\n                    }\n                },\n                \"example\": {\n                    \"status\": \"ok\"\n                }\n            },\n            \"ProjectOwnerData\": {\n                \"type\": \"object\",\n                \"required\": [\n                    \"email\",\n                    \"branches_limit\",\n                    \"subscription_type\"\n                ],\n                \"properties\": {\n                    \"email\": {\n                        \"type\": \"string\"\n                    },\n                    \"branches_limit\": {\n                        \"type\": \"integer\"\n                    },\n                    \"subscription_type\": {\n                        \"$ref\": \"#/components/schemas/BillingSubscriptionType\"\n                    }\n                }\n            },\n            \"GeneralError\": {\n                \"type\": \"object\",\n                \"description\": \"General Error\",\n                \"required\": [\n                    \"message\",\n                    \"code\"\n                ],\n                \"properties\": {\n                    \"code\": {\n                        \"$ref\": \"#/components/schemas/ErrorCode\"\n                    },\n                    \"message\": {\n                        \"description\": \"Error message\",\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"ErrorCode\": {\n                \"type\": \"string\"\n            },\n            \"ProjectOperations\": {\n                \"allOf\": [\n                    {\n                        \"$ref\": \"#/components/schemas/ProjectResponse\"\n                    },\n                    {\n                        \"$ref\": \"#/components/schemas/OperationsResponse\"\n                    }\n                ]\n            },\n            \"BranchOperations\": {\n                \"allOf\": [\n                    {\n                        \"$ref\": \"#/components/schemas/BranchResponse\"\n                    },\n                    {\n                        \"$ref\": \"#/components/schemas/OperationsResponse\"\n                    }\n                ]\n            },\n            \"EndpointOperations\": {\n                \"allOf\": [\n                    {\n                        \"$ref\": \"#/components/schemas/EndpointResponse\"\n                    },\n                    {\n                        \"$ref\": \"#/components/schemas/OperationsResponse\"\n                    }\n                ]\n            },\n            \"DatabaseOperations\": {\n                \"allOf\": [\n                    {\n                        \"$ref\": \"#/components/schemas/DatabaseResponse\"\n                    },\n                    {\n                        \"$ref\": \"#/components/schemas/OperationsResponse\"\n                    }\n                ]\n            },\n            \"RoleOperations\": {\n                \"allOf\": [\n                    {\n                        \"$ref\": \"#/components/schemas/RoleResponse\"\n                    },\n                    {\n                        \"$ref\": \"#/components/schemas/OperationsResponse\"\n                    }\n                ]\n            }\n        }\n    }\n}"},{"id":"notion","domain":"api.notion.com","openapi":"{\n  \"openapi\": \"3.1.0\",\n  \"info\": {\n    \"title\": \"Notion API\",\n    \"version\": \"1\"\n  },\n  \"servers\": [\n    {\n      \"url\": \"https://api.notion.com\"\n    }\n  ],\n  \"components\": {\n    \"securitySchemes\": {\n      \"sec0\": {\n        \"type\": \"oauth2\",\n        \"flows\": {}\n      }\n    }\n  },\n  \"security\": [\n    {\n      \"sec0\": []\n    }\n  ],\n  \"paths\": {\n    \"/v1/users/{user_id}\": {\n      \"get\": {\n        \"summary\": \"Retrieve a user\",\n        \"description\": \"\",\n        \"operationId\": \"get-user\",\n        \"parameters\": [\n          {\n            \"name\": \"user_id\",\n            \"in\": \"path\",\n            \"description\": \"Identifier for a Notion user\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"user\\\",\\n  \\\"id\\\": \\\"d40e767c-d7af-4b18-a86d-55c61f1e39a4\\\",\\n  \\\"type\\\": \\\"person\\\",\\n\\t\\\"person\\\": {\\n\\t\\t\\\"email\\\": \\\"avo@example.org\\\",\\n\\t},\\n  \\\"name\\\": \\\"Avocado Lovelace\\\",\\n  \\\"avatar_url\\\": \\\"https://secure.notion-static.com/e6a352a8-8381-44d0-a1dc-9ed80e62b53d.jpg\\\",\\n}\"\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const userId = 'd40e767c-d7af-4b18-a86d-55c61f1e39a4';\\n  const response = await notion.users.retrieve({ user_id: userId });\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl 'https://api.notion.com/v1/users/d40e767c-d7af-4b18-a86d-55c61f1e39a4' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H \\\"Notion-Version: 2022-06-28\\\" \\\\\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/users\": {\n      \"get\": {\n        \"summary\": \"List all users\",\n        \"description\": \"\",\n        \"operationId\": \"get-users\",\n        \"parameters\": [\n          {\n            \"name\": \"start_cursor\",\n            \"in\": \"query\",\n            \"description\": \"If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results.\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"page_size\",\n            \"in\": \"query\",\n            \"description\": \"The number of items from the full list desired in the response. Maximum: 100\",\n            \"schema\": {\n              \"type\": \"integer\",\n              \"format\": \"int32\",\n              \"default\": 100\n            }\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"results\\\": [\\n    {\\n      \\\"object\\\": \\\"user\\\",\\n      \\\"id\\\": \\\"d40e767c-d7af-4b18-a86d-55c61f1e39a4\\\",\\n      \\\"type\\\": \\\"person\\\",\\n      \\\"person\\\": {\\n        \\\"email\\\": \\\"avo@example.org\\\",\\n      },\\n      \\\"name\\\": \\\"Avocado Lovelace\\\",\\n      \\\"avatar_url\\\": \\\"https://secure.notion-static.com/e6a352a8-8381-44d0-a1dc-9ed80e62b53d.jpg\\\",\\n    },\\n    {\\n      \\\"object\\\": \\\"user\\\",\\n      \\\"id\\\": \\\"9a3b5ae0-c6e6-482d-b0e1-ed315ee6dc57\\\",\\n      \\\"type\\\": \\\"bot\\\",\\n      \\\"bot\\\": {},\\n      \\\"name\\\": \\\"Doug Engelbot\\\",\\n      \\\"avatar_url\\\": \\\"https://secure.notion-static.com/6720d746-3402-4171-8ebb-28d15144923c.jpg\\\",\\n    }\\n  ],\\n  \\\"next_cursor\\\": \\\"fe2cc560-036c-44cd-90e8-294d5a74cebc\\\",\\n  \\\"has_more\\\": true\\n}\"\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const response = await notion.users.list();\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl 'https://api.notion.com/v1/users' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H \\\"Notion-Version: 2022-06-28\\\"\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/databases/{database_id}/query\": {\n      \"post\": {\n        \"summary\": \"Query a database\",\n        \"description\": \"\",\n        \"operationId\": \"post-database-query\",\n        \"parameters\": [\n          {\n            \"name\": \"database_id\",\n            \"in\": \"path\",\n            \"description\": \"Identifier for a Notion database.\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"filter_properties\",\n            \"in\": \"query\",\n            \"description\": \"A list of page property value IDs associated with the database. Use this param to limit the response to a specific page property value or values for pages that meet the `filter` criteria.\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"filter\": {\n                    \"type\": \"string\",\n                    \"description\": \"When supplied, limits which pages are returned based on the [filter conditions](ref:post-database-query-filter).\",\n                    \"format\": \"json\"\n                  },\n                  \"sorts\": {\n                    \"type\": \"array\",\n                    \"description\": \"When supplied, orders the results based on the provided [sort criteria](ref:post-database-query-sort).\"\n                  },\n                  \"start_cursor\": {\n                    \"type\": \"string\",\n                    \"description\": \"When supplied, returns a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results.\"\n                  },\n                  \"page_size\": {\n                    \"type\": \"integer\",\n                    \"description\": \"The number of items from the full list desired in the response. Maximum: 100\",\n                    \"default\": 100,\n                    \"format\": \"int32\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"list\\\",\\n  \\\"results\\\": [\\n    {\\n      \\\"object\\\": \\\"page\\\",\\n      \\\"id\\\": \\\"59833787-2cf9-4fdf-8782-e53db20768a5\\\",\\n      \\\"created_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n      \\\"last_edited_time\\\": \\\"2022-07-06T20:25:00.000Z\\\",\\n      \\\"created_by\\\": {\\n        \\\"object\\\": \\\"user\\\",\\n        \\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n      },\\n      \\\"last_edited_by\\\": {\\n        \\\"object\\\": \\\"user\\\",\\n        \\\"id\\\": \\\"0c3e9826-b8f7-4f73-927d-2caaf86f1103\\\"\\n      },\\n      \\\"cover\\\": {\\n        \\\"type\\\": \\\"external\\\",\\n        \\\"external\\\": {\\n          \\\"url\\\": \\\"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\\\"\\n        }\\n      },\\n      \\\"icon\\\": {\\n        \\\"type\\\": \\\"emoji\\\",\\n        \\\"emoji\\\": \\\"🥬\\\"\\n      },\\n      \\\"parent\\\": {\\n        \\\"type\\\": \\\"database_id\\\",\\n        \\\"database_id\\\": \\\"d9824bdc-8445-4327-be8b-5b47500af6ce\\\"\\n      },\\n      \\\"archived\\\": false,\\n      \\\"properties\\\": {\\n        \\\"Store availability\\\": {\\n          \\\"id\\\": \\\"%3AUPp\\\",\\n          \\\"type\\\": \\\"multi_select\\\",\\n          \\\"multi_select\\\": [\\n            {\\n              \\\"id\\\": \\\"t|O@\\\",\\n              \\\"name\\\": \\\"Gus's Community Market\\\",\\n              \\\"color\\\": \\\"yellow\\\"\\n            },\\n            {\\n              \\\"id\\\": \\\"{Ml\\\\\\\\\\\",\\n              \\\"name\\\": \\\"Rainbow Grocery\\\",\\n              \\\"color\\\": \\\"gray\\\"\\n            }\\n          ]\\n        },\\n        \\\"Food group\\\": {\\n          \\\"id\\\": \\\"A%40Hk\\\",\\n          \\\"type\\\": \\\"select\\\",\\n          \\\"select\\\": {\\n            \\\"id\\\": \\\"5e8e7e8f-432e-4d8a-8166-1821e10225fc\\\",\\n            \\\"name\\\": \\\"🥬 Vegetable\\\",\\n            \\\"color\\\": \\\"pink\\\"\\n          }\\n        },\\n        \\\"Price\\\": {\\n          \\\"id\\\": \\\"BJXS\\\",\\n          \\\"type\\\": \\\"number\\\",\\n          \\\"number\\\": 2.5\\n        },\\n        \\\"Responsible Person\\\": {\\n          \\\"id\\\": \\\"Iowm\\\",\\n          \\\"type\\\": \\\"people\\\",\\n          \\\"people\\\": [\\n            {\\n              \\\"object\\\": \\\"user\\\",\\n              \\\"id\\\": \\\"cbfe3c6e-71cf-4cd3-b6e7-02f38f371bcc\\\",\\n              \\\"name\\\": \\\"Cristina Cordova\\\",\\n              \\\"avatar_url\\\": \\\"https://lh6.googleusercontent.com/-rapvfCoTq5A/AAAAAAAAAAI/AAAAAAAAAAA/AKF05nDKmmUpkpFvWNBzvu9rnZEy7cbl8Q/photo.jpg\\\",\\n              \\\"type\\\": \\\"person\\\",\\n              \\\"person\\\": {\\n                \\\"email\\\": \\\"cristina@makenotion.com\\\"\\n              }\\n            }\\n          ]\\n        },\\n        \\\"Last ordered\\\": {\\n          \\\"id\\\": \\\"Jsfb\\\",\\n          \\\"type\\\": \\\"date\\\",\\n          \\\"date\\\": {\\n            \\\"start\\\": \\\"2022-02-22\\\",\\n            \\\"end\\\": null,\\n            \\\"time_zone\\\": null\\n          }\\n        },\\n        \\\"Cost of next trip\\\": {\\n          \\\"id\\\": \\\"WOd%3B\\\",\\n          \\\"type\\\": \\\"formula\\\",\\n          \\\"formula\\\": {\\n            \\\"type\\\": \\\"number\\\",\\n            \\\"number\\\": 0\\n          }\\n        },\\n        \\\"Recipes\\\": {\\n          \\\"id\\\": \\\"YfIu\\\",\\n          \\\"type\\\": \\\"relation\\\",\\n          \\\"relation\\\": [\\n            {\\n              \\\"id\\\": \\\"90eeeed8-2cdd-4af4-9cc1-3d24aff5f63c\\\"\\n            },\\n            {\\n              \\\"id\\\": \\\"a2da43ee-d43c-4285-8ae2-6d811f12629a\\\"\\n            }\\n          ],\\n\\t\\t\\t\\t\\t\\\"has_more\\\": false\\n        },\\n        \\\"Description\\\": {\\n          \\\"id\\\": \\\"_Tc_\\\",\\n          \\\"type\\\": \\\"rich_text\\\",\\n          \\\"rich_text\\\": [\\n            {\\n              \\\"type\\\": \\\"text\\\",\\n              \\\"text\\\": {\\n                \\\"content\\\": \\\"A dark \\\",\\n                \\\"link\\\": null\\n              },\\n              \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n              },\\n              \\\"plain_text\\\": \\\"A dark \\\",\\n              \\\"href\\\": null\\n            },\\n            {\\n              \\\"type\\\": \\\"text\\\",\\n              \\\"text\\\": {\\n                \\\"content\\\": \\\"green\\\",\\n                \\\"link\\\": null\\n              },\\n              \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"green\\\"\\n              },\\n              \\\"plain_text\\\": \\\"green\\\",\\n              \\\"href\\\": null\\n            },\\n            {\\n              \\\"type\\\": \\\"text\\\",\\n              \\\"text\\\": {\\n                \\\"content\\\": \\\" leafy vegetable\\\",\\n                \\\"link\\\": null\\n              },\\n              \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n              },\\n              \\\"plain_text\\\": \\\" leafy vegetable\\\",\\n              \\\"href\\\": null\\n            }\\n          ]\\n        },\\n        \\\"In stock\\\": {\\n          \\\"id\\\": \\\"%60%5Bq%3F\\\",\\n          \\\"type\\\": \\\"checkbox\\\",\\n          \\\"checkbox\\\": true\\n        },\\n        \\\"Number of meals\\\": {\\n          \\\"id\\\": \\\"zag~\\\",\\n          \\\"type\\\": \\\"rollup\\\",\\n          \\\"rollup\\\": {\\n            \\\"type\\\": \\\"number\\\",\\n            \\\"number\\\": 2,\\n            \\\"function\\\": \\\"count\\\"\\n          }\\n        },\\n        \\\"Photo\\\": {\\n          \\\"id\\\": \\\"%7DF_L\\\",\\n          \\\"type\\\": \\\"url\\\",\\n          \\\"url\\\": \\\"https://i.insider.com/612fb23c9ef1e50018f93198?width=1136&format=jpeg\\\"\\n        },\\n        \\\"Name\\\": {\\n          \\\"id\\\": \\\"title\\\",\\n          \\\"type\\\": \\\"title\\\",\\n          \\\"title\\\": [\\n            {\\n              \\\"type\\\": \\\"text\\\",\\n              \\\"text\\\": {\\n                \\\"content\\\": \\\"Tuscan kale\\\",\\n                \\\"link\\\": null\\n              },\\n              \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n              },\\n              \\\"plain_text\\\": \\\"Tuscan kale\\\",\\n              \\\"href\\\": null\\n            }\\n          ]\\n        }\\n      },\\n      \\\"url\\\": \\\"https://www.notion.so/Tuscan-kale-598337872cf94fdf8782e53db20768a5\\\"\\n    }\\n  ],\\n  \\\"next_cursor\\\": null,\\n  \\\"has_more\\\": false,\\n  \\\"type\\\": \\\"page\\\",\\n  \\\"page\\\": {}\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"list\"\n                    },\n                    \"results\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"object\": {\n                            \"type\": \"string\",\n                            \"example\": \"page\"\n                          },\n                          \"id\": {\n                            \"type\": \"string\",\n                            \"example\": \"59833787-2cf9-4fdf-8782-e53db20768a5\"\n                          },\n                          \"created_time\": {\n                            \"type\": \"string\",\n                            \"example\": \"2022-03-01T19:05:00.000Z\"\n                          },\n                          \"last_edited_time\": {\n                            \"type\": \"string\",\n                            \"example\": \"2022-07-06T20:25:00.000Z\"\n                          },\n                          \"created_by\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"object\": {\n                                \"type\": \"string\",\n                                \"example\": \"user\"\n                              },\n                              \"id\": {\n                                \"type\": \"string\",\n                                \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                              }\n                            }\n                          },\n                          \"last_edited_by\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"object\": {\n                                \"type\": \"string\",\n                                \"example\": \"user\"\n                              },\n                              \"id\": {\n                                \"type\": \"string\",\n                                \"example\": \"0c3e9826-b8f7-4f73-927d-2caaf86f1103\"\n                              }\n                            }\n                          },\n                          \"cover\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"external\"\n                              },\n                              \"external\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"url\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\"\n                                  }\n                                }\n                              }\n                            }\n                          },\n                          \"icon\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"emoji\"\n                              },\n                              \"emoji\": {\n                                \"type\": \"string\",\n                                \"example\": \"🥬\"\n                              }\n                            }\n                          },\n                          \"parent\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"database_id\"\n                              },\n                              \"database_id\": {\n                                \"type\": \"string\",\n                                \"example\": \"d9824bdc-8445-4327-be8b-5b47500af6ce\"\n                              }\n                            }\n                          },\n                          \"archived\": {\n                            \"type\": \"boolean\",\n                            \"example\": false,\n                            \"default\": true\n                          },\n                          \"properties\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"Store availability\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"%3AUPp\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"multi_select\"\n                                  },\n                                  \"multi_select\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                      \"type\": \"object\",\n                                      \"properties\": {\n                                        \"id\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"t|O@\"\n                                        },\n                                        \"name\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"Gus's Community Market\"\n                                        },\n                                        \"color\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"yellow\"\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              },\n                              \"Food group\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"A%40Hk\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"select\"\n                                  },\n                                  \"select\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"id\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"5e8e7e8f-432e-4d8a-8166-1821e10225fc\"\n                                      },\n                                      \"name\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"🥬 Vegetable\"\n                                      },\n                                      \"color\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"pink\"\n                                      }\n                                    }\n                                  }\n                                }\n                              },\n                              \"Price\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"BJXS\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"number\"\n                                  },\n                                  \"number\": {\n                                    \"type\": \"number\",\n                                    \"example\": 2.5,\n                                    \"default\": 0\n                                  }\n                                }\n                              },\n                              \"Responsible Person\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"Iowm\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"people\"\n                                  },\n                                  \"people\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                      \"type\": \"object\",\n                                      \"properties\": {\n                                        \"object\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"user\"\n                                        },\n                                        \"id\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"cbfe3c6e-71cf-4cd3-b6e7-02f38f371bcc\"\n                                        },\n                                        \"name\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"Cristina Cordova\"\n                                        },\n                                        \"avatar_url\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"https://lh6.googleusercontent.com/-rapvfCoTq5A/AAAAAAAAAAI/AAAAAAAAAAA/AKF05nDKmmUpkpFvWNBzvu9rnZEy7cbl8Q/photo.jpg\"\n                                        },\n                                        \"type\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"person\"\n                                        },\n                                        \"person\": {\n                                          \"type\": \"object\",\n                                          \"properties\": {\n                                            \"email\": {\n                                              \"type\": \"string\",\n                                              \"example\": \"cristina@makenotion.com\"\n                                            }\n                                          }\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              },\n                              \"Last ordered\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"Jsfb\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"date\"\n                                  },\n                                  \"date\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"start\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"2022-02-22\"\n                                      },\n                                      \"end\": {},\n                                      \"time_zone\": {}\n                                    }\n                                  }\n                                }\n                              },\n                              \"Cost of next trip\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"WOd%3B\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"formula\"\n                                  },\n                                  \"formula\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"type\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"number\"\n                                      },\n                                      \"number\": {\n                                        \"type\": \"integer\",\n                                        \"example\": 0,\n                                        \"default\": 0\n                                      }\n                                    }\n                                  }\n                                }\n                              },\n                              \"Recipes\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"YfIu\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"relation\"\n                                  },\n                                  \"relation\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                      \"type\": \"object\",\n                                      \"properties\": {\n                                        \"id\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"90eeeed8-2cdd-4af4-9cc1-3d24aff5f63c\"\n                                        }\n                                      }\n                                    }\n                                  },\n                                  \"has_more\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": false,\n                                    \"default\": true\n                                  }\n                                }\n                              },\n                              \"Description\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"_Tc_\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"rich_text\"\n                                  },\n                                  \"rich_text\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                      \"type\": \"object\",\n                                      \"properties\": {\n                                        \"type\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"text\"\n                                        },\n                                        \"text\": {\n                                          \"type\": \"object\",\n                                          \"properties\": {\n                                            \"content\": {\n                                              \"type\": \"string\",\n                                              \"example\": \"A dark \"\n                                            },\n                                            \"link\": {}\n                                          }\n                                        },\n                                        \"annotations\": {\n                                          \"type\": \"object\",\n                                          \"properties\": {\n                                            \"bold\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"italic\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"strikethrough\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"underline\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"code\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"color\": {\n                                              \"type\": \"string\",\n                                              \"example\": \"default\"\n                                            }\n                                          }\n                                        },\n                                        \"plain_text\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"A dark \"\n                                        },\n                                        \"href\": {}\n                                      }\n                                    }\n                                  }\n                                }\n                              },\n                              \"In stock\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"%60%5Bq%3F\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"checkbox\"\n                                  },\n                                  \"checkbox\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": true,\n                                    \"default\": true\n                                  }\n                                }\n                              },\n                              \"Number of meals\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"zag~\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"rollup\"\n                                  },\n                                  \"rollup\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"type\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"number\"\n                                      },\n                                      \"number\": {\n                                        \"type\": \"integer\",\n                                        \"example\": 2,\n                                        \"default\": 0\n                                      },\n                                      \"function\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"count\"\n                                      }\n                                    }\n                                  }\n                                }\n                              },\n                              \"Photo\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"%7DF_L\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"url\"\n                                  },\n                                  \"url\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"https://i.insider.com/612fb23c9ef1e50018f93198?width=1136&format=jpeg\"\n                                  }\n                                }\n                              },\n                              \"Name\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"title\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"title\"\n                                  },\n                                  \"title\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                      \"type\": \"object\",\n                                      \"properties\": {\n                                        \"type\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"text\"\n                                        },\n                                        \"text\": {\n                                          \"type\": \"object\",\n                                          \"properties\": {\n                                            \"content\": {\n                                              \"type\": \"string\",\n                                              \"example\": \"Tuscan kale\"\n                                            },\n                                            \"link\": {}\n                                          }\n                                        },\n                                        \"annotations\": {\n                                          \"type\": \"object\",\n                                          \"properties\": {\n                                            \"bold\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"italic\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"strikethrough\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"underline\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"code\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"color\": {\n                                              \"type\": \"string\",\n                                              \"example\": \"default\"\n                                            }\n                                          }\n                                        },\n                                        \"plain_text\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"Tuscan kale\"\n                                        },\n                                        \"href\": {}\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          },\n                          \"url\": {\n                            \"type\": \"string\",\n                            \"example\": \"https://www.notion.so/Tuscan-kale-598337872cf94fdf8782e53db20768a5\"\n                          }\n                        }\n                      }\n                    },\n                    \"next_cursor\": {},\n                    \"has_more\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"example\": \"page\"\n                    },\n                    \"page\": {\n                      \"type\": \"object\",\n                      \"properties\": {}\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl -X POST 'https://api.notion.com/v1/databases/897e5a76ae524b489fdfe71f5945d1af/query' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H 'Notion-Version: 2022-06-28' \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n--data '{\\n  \\\"filter\\\": {\\n    \\\"or\\\": [\\n      {\\n        \\\"property\\\": \\\"In stock\\\",\\n\\\"checkbox\\\": {\\n\\\"equals\\\": true\\n}\\n      },\\n      {\\n\\\"property\\\": \\\"Cost of next trip\\\",\\n\\\"number\\\": {\\n\\\"greater_than_or_equal_to\\\": 2\\n}\\n}\\n]\\n},\\n  \\\"sorts\\\": [\\n    {\\n      \\\"property\\\": \\\"Last ordered\\\",\\n      \\\"direction\\\": \\\"ascending\\\"\\n    }\\n  ]\\n}'\"\n            },\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const databaseId = 'd9824bdc-8445-4327-be8b-5b47500af6ce';\\n  const response = await notion.databases.query({\\n    database_id: databaseId,\\n    filter: {\\n      or: [\\n        {\\n          property: 'In stock',\\n          checkbox: {\\n            equals: true,\\n          },\\n        },\\n        {\\n          property: 'Cost of next trip',\\n          number: {\\n            greater_than_or_equal_to: 2,\\n          },\\n        },\\n      ],\\n    },\\n    sorts: [\\n      {\\n        property: 'Last ordered',\\n        direction: 'ascending',\\n      },\\n    ],\\n  });\\n  console.log(response);\\n})();\"\n            }\n          ],\n          \"samples-languages\": [\n            \"curl\",\n            \"javascript\"\n          ]\n        }\n      }\n    },\n    \"/v1/search\": {\n      \"post\": {\n        \"summary\": \"Search by title\",\n        \"description\": \"\",\n        \"operationId\": \"post-search\",\n        \"parameters\": [\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"query\": {\n                    \"type\": \"string\",\n                    \"description\": \"The text that the API compares page and database titles against.\"\n                  },\n                  \"sort\": {\n                    \"type\": \"object\",\n                    \"description\": \"A set of criteria, `direction` and `timestamp` keys, that orders the results. The **only** supported timestamp value is `\\\"last_edited_time\\\"`. Supported `direction` values are `\\\"ascending\\\"` and `\\\"descending\\\"`. If `sort` is not provided, then the most recently edited results are returned first.\",\n                    \"properties\": {\n                      \"direction\": {\n                        \"type\": \"string\",\n                        \"description\": \"The direction to sort. Possible values include `ascending` and `descending`.\"\n                      },\n                      \"timestamp\": {\n                        \"type\": \"string\",\n                        \"description\": \"The name of the timestamp to sort against. Possible values include `last_edited_time`.\"\n                      }\n                    }\n                  },\n                  \"filter\": {\n                    \"type\": \"object\",\n                    \"description\": \"A set of criteria, `value` and `property` keys, that limits the results to either only pages or only databases. Possible `value` values are `\\\"page\\\"` or `\\\"database\\\"`. The only supported `property` value is `\\\"object\\\"`.\",\n                    \"properties\": {\n                      \"value\": {\n                        \"type\": \"string\",\n                        \"description\": \"The value of the property to filter the results by.  Possible values for object type include `page` or `database`.  **Limitation**: Currently the only filter allowed is `object` which will filter by type of object (either `page` or `database`)\"\n                      },\n                      \"property\": {\n                        \"type\": \"string\",\n                        \"description\": \"The name of the property to filter by. Currently the only property you can filter by is the object type.  Possible values include `object`.   Limitation: Currently the only filter allowed is `object` which will filter by type of object (either `page` or `database`)\"\n                      }\n                    }\n                  },\n                  \"start_cursor\": {\n                    \"type\": \"string\",\n                    \"description\": \"A `cursor` value returned in a previous response that If supplied, limits the response to results starting after the `cursor`. If not supplied, then the first page of results is returned. Refer to [pagination](https://developers.notion.com/reference/intro#pagination) for more details.\"\n                  },\n                  \"page_size\": {\n                    \"type\": \"integer\",\n                    \"description\": \"The number of items from the full list to include in the response. Maximum: `100`.\",\n                    \"default\": 100,\n                    \"format\": \"int32\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"list\\\",\\n  \\\"results\\\": [\\n    {\\n      \\\"object\\\": \\\"page\\\",\\n      \\\"id\\\": \\\"954b67f9-3f87-41db-8874-23b92bbd31ee\\\",\\n      \\\"created_time\\\": \\\"2022-07-06T19:30:00.000Z\\\",\\n      \\\"last_edited_time\\\": \\\"2022-07-06T19:30:00.000Z\\\",\\n      \\\"created_by\\\": {\\n        \\\"object\\\": \\\"user\\\",\\n        \\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n      },\\n      \\\"last_edited_by\\\": {\\n        \\\"object\\\": \\\"user\\\",\\n        \\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n      },\\n      \\\"cover\\\": {\\n        \\\"type\\\": \\\"external\\\",\\n        \\\"external\\\": {\\n          \\\"url\\\": \\\"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\\\"\\n        }\\n      },\\n      \\\"icon\\\": {\\n        \\\"type\\\": \\\"emoji\\\",\\n        \\\"emoji\\\": \\\"🥬\\\"\\n      },\\n      \\\"parent\\\": {\\n        \\\"type\\\": \\\"database_id\\\",\\n        \\\"database_id\\\": \\\"d9824bdc-8445-4327-be8b-5b47500af6ce\\\"\\n      },\\n      \\\"archived\\\": false,\\n      \\\"properties\\\": {\\n        \\\"Store availability\\\": {\\n          \\\"id\\\": \\\"%3AUPp\\\",\\n          \\\"type\\\": \\\"multi_select\\\",\\n          \\\"multi_select\\\": []\\n        },\\n        \\\"Food group\\\": {\\n          \\\"id\\\": \\\"A%40Hk\\\",\\n          \\\"type\\\": \\\"select\\\",\\n          \\\"select\\\": {\\n            \\\"id\\\": \\\"5e8e7e8f-432e-4d8a-8166-1821e10225fc\\\",\\n            \\\"name\\\": \\\"🥬 Vegetable\\\",\\n            \\\"color\\\": \\\"pink\\\"\\n          }\\n        },\\n        \\\"Price\\\": {\\n          \\\"id\\\": \\\"BJXS\\\",\\n          \\\"type\\\": \\\"number\\\",\\n          \\\"number\\\": null\\n        },\\n        \\\"Responsible Person\\\": {\\n          \\\"id\\\": \\\"Iowm\\\",\\n          \\\"type\\\": \\\"people\\\",\\n          \\\"people\\\": []\\n        },\\n        \\\"Last ordered\\\": {\\n          \\\"id\\\": \\\"Jsfb\\\",\\n          \\\"type\\\": \\\"date\\\",\\n          \\\"date\\\": null\\n        },\\n        \\\"Cost of next trip\\\": {\\n          \\\"id\\\": \\\"WOd%3B\\\",\\n          \\\"type\\\": \\\"formula\\\",\\n          \\\"formula\\\": {\\n            \\\"type\\\": \\\"number\\\",\\n            \\\"number\\\": null\\n          }\\n        },\\n        \\\"Recipes\\\": {\\n          \\\"id\\\": \\\"YfIu\\\",\\n          \\\"type\\\": \\\"relation\\\",\\n          \\\"relation\\\": []\\n        },\\n        \\\"Description\\\": {\\n          \\\"id\\\": \\\"_Tc_\\\",\\n          \\\"type\\\": \\\"rich_text\\\",\\n          \\\"rich_text\\\": [\\n            {\\n              \\\"type\\\": \\\"text\\\",\\n              \\\"text\\\": {\\n                \\\"content\\\": \\\"A dark green leafy vegetable\\\",\\n                \\\"link\\\": null\\n              },\\n              \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n              },\\n              \\\"plain_text\\\": \\\"A dark green leafy vegetable\\\",\\n              \\\"href\\\": null\\n            }\\n          ]\\n        },\\n        \\\"In stock\\\": {\\n          \\\"id\\\": \\\"%60%5Bq%3F\\\",\\n          \\\"type\\\": \\\"checkbox\\\",\\n          \\\"checkbox\\\": false\\n        },\\n        \\\"Number of meals\\\": {\\n          \\\"id\\\": \\\"zag~\\\",\\n          \\\"type\\\": \\\"rollup\\\",\\n          \\\"rollup\\\": {\\n            \\\"type\\\": \\\"number\\\",\\n            \\\"number\\\": 0,\\n            \\\"function\\\": \\\"count\\\"\\n          }\\n        },\\n        \\\"Photo\\\": {\\n          \\\"id\\\": \\\"%7DF_L\\\",\\n          \\\"type\\\": \\\"url\\\",\\n          \\\"url\\\": null\\n        },\\n        \\\"Name\\\": {\\n          \\\"id\\\": \\\"title\\\",\\n          \\\"type\\\": \\\"title\\\",\\n          \\\"title\\\": [\\n            {\\n              \\\"type\\\": \\\"text\\\",\\n              \\\"text\\\": {\\n                \\\"content\\\": \\\"Tuscan kale\\\",\\n                \\\"link\\\": null\\n              },\\n              \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n              },\\n              \\\"plain_text\\\": \\\"Tuscan kale\\\",\\n              \\\"href\\\": null\\n            }\\n          ]\\n        }\\n      },\\n      \\\"url\\\": \\\"https://www.notion.so/Tuscan-kale-954b67f93f8741db887423b92bbd31ee\\\"\\n    },\\n    {\\n      \\\"object\\\": \\\"page\\\",\\n      \\\"id\\\": \\\"59833787-2cf9-4fdf-8782-e53db20768a5\\\",\\n      \\\"created_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n      \\\"last_edited_time\\\": \\\"2022-07-06T20:25:00.000Z\\\",\\n      \\\"created_by\\\": {\\n        \\\"object\\\": \\\"user\\\",\\n        \\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n      },\\n      \\\"last_edited_by\\\": {\\n        \\\"object\\\": \\\"user\\\",\\n        \\\"id\\\": \\\"0c3e9826-b8f7-4f73-927d-2caaf86f1103\\\"\\n      },\\n      \\\"cover\\\": {\\n        \\\"type\\\": \\\"external\\\",\\n        \\\"external\\\": {\\n          \\\"url\\\": \\\"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\\\"\\n        }\\n      },\\n      \\\"icon\\\": {\\n        \\\"type\\\": \\\"emoji\\\",\\n        \\\"emoji\\\": \\\"🥬\\\"\\n      },\\n      \\\"parent\\\": {\\n        \\\"type\\\": \\\"database_id\\\",\\n        \\\"database_id\\\": \\\"d9824bdc-8445-4327-be8b-5b47500af6ce\\\"\\n      },\\n      \\\"archived\\\": false,\\n      \\\"properties\\\": {\\n        \\\"Store availability\\\": {\\n          \\\"id\\\": \\\"%3AUPp\\\",\\n          \\\"type\\\": \\\"multi_select\\\",\\n          \\\"multi_select\\\": [\\n            {\\n              \\\"id\\\": \\\"t|O@\\\",\\n              \\\"name\\\": \\\"Gus's Community Market\\\",\\n              \\\"color\\\": \\\"yellow\\\"\\n            },\\n            {\\n              \\\"id\\\": \\\"{Ml\\\\\\\\\\\",\\n              \\\"name\\\": \\\"Rainbow Grocery\\\",\\n              \\\"color\\\": \\\"gray\\\"\\n            }\\n          ]\\n        },\\n        \\\"Food group\\\": {\\n          \\\"id\\\": \\\"A%40Hk\\\",\\n          \\\"type\\\": \\\"select\\\",\\n          \\\"select\\\": {\\n            \\\"id\\\": \\\"5e8e7e8f-432e-4d8a-8166-1821e10225fc\\\",\\n            \\\"name\\\": \\\"🥬 Vegetable\\\",\\n            \\\"color\\\": \\\"pink\\\"\\n          }\\n        },\\n        \\\"Price\\\": {\\n          \\\"id\\\": \\\"BJXS\\\",\\n          \\\"type\\\": \\\"number\\\",\\n          \\\"number\\\": 2.5\\n        },\\n        \\\"Responsible Person\\\": {\\n          \\\"id\\\": \\\"Iowm\\\",\\n          \\\"type\\\": \\\"people\\\",\\n          \\\"people\\\": [\\n            {\\n              \\\"object\\\": \\\"user\\\",\\n              \\\"id\\\": \\\"cbfe3c6e-71cf-4cd3-b6e7-02f38f371bcc\\\",\\n              \\\"name\\\": \\\"Cristina Cordova\\\",\\n              \\\"avatar_url\\\": \\\"https://lh6.googleusercontent.com/-rapvfCoTq5A/AAAAAAAAAAI/AAAAAAAAAAA/AKF05nDKmmUpkpFvWNBzvu9rnZEy7cbl8Q/photo.jpg\\\",\\n              \\\"type\\\": \\\"person\\\",\\n              \\\"person\\\": {\\n                \\\"email\\\": \\\"cristina@makenotion.com\\\"\\n              }\\n            }\\n          ]\\n        },\\n        \\\"Last ordered\\\": {\\n          \\\"id\\\": \\\"Jsfb\\\",\\n          \\\"type\\\": \\\"date\\\",\\n          \\\"date\\\": {\\n            \\\"start\\\": \\\"2022-02-22\\\",\\n            \\\"end\\\": null,\\n            \\\"time_zone\\\": null\\n          }\\n        },\\n        \\\"Cost of next trip\\\": {\\n          \\\"id\\\": \\\"WOd%3B\\\",\\n          \\\"type\\\": \\\"formula\\\",\\n          \\\"formula\\\": {\\n            \\\"type\\\": \\\"number\\\",\\n            \\\"number\\\": 0\\n          }\\n        },\\n        \\\"Recipes\\\": {\\n          \\\"id\\\": \\\"YfIu\\\",\\n          \\\"type\\\": \\\"relation\\\",\\n          \\\"relation\\\": [\\n            {\\n              \\\"id\\\": \\\"90eeeed8-2cdd-4af4-9cc1-3d24aff5f63c\\\"\\n            },\\n            {\\n              \\\"id\\\": \\\"a2da43ee-d43c-4285-8ae2-6d811f12629a\\\"\\n            }\\n          ],\\n\\t\\t\\t\\t\\t\\\"has_more\\\": false\\n        },\\n        \\\"Description\\\": {\\n          \\\"id\\\": \\\"_Tc_\\\",\\n          \\\"type\\\": \\\"rich_text\\\",\\n          \\\"rich_text\\\": [\\n            {\\n              \\\"type\\\": \\\"text\\\",\\n              \\\"text\\\": {\\n                \\\"content\\\": \\\"A dark \\\",\\n                \\\"link\\\": null\\n              },\\n              \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n              },\\n              \\\"plain_text\\\": \\\"A dark \\\",\\n              \\\"href\\\": null\\n            },\\n            {\\n              \\\"type\\\": \\\"text\\\",\\n              \\\"text\\\": {\\n                \\\"content\\\": \\\"green\\\",\\n                \\\"link\\\": null\\n              },\\n              \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"green\\\"\\n              },\\n              \\\"plain_text\\\": \\\"green\\\",\\n              \\\"href\\\": null\\n            },\\n            {\\n              \\\"type\\\": \\\"text\\\",\\n              \\\"text\\\": {\\n                \\\"content\\\": \\\" leafy vegetable\\\",\\n                \\\"link\\\": null\\n              },\\n              \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n              },\\n              \\\"plain_text\\\": \\\" leafy vegetable\\\",\\n              \\\"href\\\": null\\n            }\\n          ]\\n        },\\n        \\\"In stock\\\": {\\n          \\\"id\\\": \\\"%60%5Bq%3F\\\",\\n          \\\"type\\\": \\\"checkbox\\\",\\n          \\\"checkbox\\\": true\\n        },\\n        \\\"Number of meals\\\": {\\n          \\\"id\\\": \\\"zag~\\\",\\n          \\\"type\\\": \\\"rollup\\\",\\n          \\\"rollup\\\": {\\n            \\\"type\\\": \\\"number\\\",\\n            \\\"number\\\": 2,\\n            \\\"function\\\": \\\"count\\\"\\n          }\\n        },\\n        \\\"Photo\\\": {\\n          \\\"id\\\": \\\"%7DF_L\\\",\\n          \\\"type\\\": \\\"url\\\",\\n          \\\"url\\\": \\\"https://i.insider.com/612fb23c9ef1e50018f93198?width=1136&format=jpeg\\\"\\n        },\\n        \\\"Name\\\": {\\n          \\\"id\\\": \\\"title\\\",\\n          \\\"type\\\": \\\"title\\\",\\n          \\\"title\\\": [\\n            {\\n              \\\"type\\\": \\\"text\\\",\\n              \\\"text\\\": {\\n                \\\"content\\\": \\\"Tuscan kale\\\",\\n                \\\"link\\\": null\\n              },\\n              \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n              },\\n              \\\"plain_text\\\": \\\"Tuscan kale\\\",\\n              \\\"href\\\": null\\n            }\\n          ]\\n        }\\n      },\\n      \\\"url\\\": \\\"https://www.notion.so/Tuscan-kale-598337872cf94fdf8782e53db20768a5\\\"\\n    }\\n  ],\\n  \\\"next_cursor\\\": null,\\n  \\\"has_more\\\": false,\\n  \\\"type\\\": \\\"page_or_database\\\",\\n  \\\"page_or_database\\\": {}\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"list\"\n                    },\n                    \"results\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"object\": {\n                            \"type\": \"string\",\n                            \"example\": \"page\"\n                          },\n                          \"id\": {\n                            \"type\": \"string\",\n                            \"example\": \"954b67f9-3f87-41db-8874-23b92bbd31ee\"\n                          },\n                          \"created_time\": {\n                            \"type\": \"string\",\n                            \"example\": \"2022-07-06T19:30:00.000Z\"\n                          },\n                          \"last_edited_time\": {\n                            \"type\": \"string\",\n                            \"example\": \"2022-07-06T19:30:00.000Z\"\n                          },\n                          \"created_by\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"object\": {\n                                \"type\": \"string\",\n                                \"example\": \"user\"\n                              },\n                              \"id\": {\n                                \"type\": \"string\",\n                                \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                              }\n                            }\n                          },\n                          \"last_edited_by\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"object\": {\n                                \"type\": \"string\",\n                                \"example\": \"user\"\n                              },\n                              \"id\": {\n                                \"type\": \"string\",\n                                \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                              }\n                            }\n                          },\n                          \"cover\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"external\"\n                              },\n                              \"external\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"url\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\"\n                                  }\n                                }\n                              }\n                            }\n                          },\n                          \"icon\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"emoji\"\n                              },\n                              \"emoji\": {\n                                \"type\": \"string\",\n                                \"example\": \"🥬\"\n                              }\n                            }\n                          },\n                          \"parent\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"database_id\"\n                              },\n                              \"database_id\": {\n                                \"type\": \"string\",\n                                \"example\": \"d9824bdc-8445-4327-be8b-5b47500af6ce\"\n                              }\n                            }\n                          },\n                          \"archived\": {\n                            \"type\": \"boolean\",\n                            \"example\": false,\n                            \"default\": true\n                          },\n                          \"properties\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"Store availability\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"%3AUPp\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"multi_select\"\n                                  },\n                                  \"multi_select\": {\n                                    \"type\": \"array\"\n                                  }\n                                }\n                              },\n                              \"Food group\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"A%40Hk\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"select\"\n                                  },\n                                  \"select\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"id\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"5e8e7e8f-432e-4d8a-8166-1821e10225fc\"\n                                      },\n                                      \"name\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"🥬 Vegetable\"\n                                      },\n                                      \"color\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"pink\"\n                                      }\n                                    }\n                                  }\n                                }\n                              },\n                              \"Price\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"BJXS\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"number\"\n                                  },\n                                  \"number\": {}\n                                }\n                              },\n                              \"Responsible Person\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"Iowm\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"people\"\n                                  },\n                                  \"people\": {\n                                    \"type\": \"array\"\n                                  }\n                                }\n                              },\n                              \"Last ordered\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"Jsfb\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"date\"\n                                  },\n                                  \"date\": {}\n                                }\n                              },\n                              \"Cost of next trip\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"WOd%3B\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"formula\"\n                                  },\n                                  \"formula\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"type\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"number\"\n                                      },\n                                      \"number\": {}\n                                    }\n                                  }\n                                }\n                              },\n                              \"Recipes\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"YfIu\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"relation\"\n                                  },\n                                  \"relation\": {\n                                    \"type\": \"array\"\n                                  }\n                                }\n                              },\n                              \"Description\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"_Tc_\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"rich_text\"\n                                  },\n                                  \"rich_text\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                      \"type\": \"object\",\n                                      \"properties\": {\n                                        \"type\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"text\"\n                                        },\n                                        \"text\": {\n                                          \"type\": \"object\",\n                                          \"properties\": {\n                                            \"content\": {\n                                              \"type\": \"string\",\n                                              \"example\": \"A dark green leafy vegetable\"\n                                            },\n                                            \"link\": {}\n                                          }\n                                        },\n                                        \"annotations\": {\n                                          \"type\": \"object\",\n                                          \"properties\": {\n                                            \"bold\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"italic\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"strikethrough\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"underline\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"code\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"color\": {\n                                              \"type\": \"string\",\n                                              \"example\": \"default\"\n                                            }\n                                          }\n                                        },\n                                        \"plain_text\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"A dark green leafy vegetable\"\n                                        },\n                                        \"href\": {}\n                                      }\n                                    }\n                                  }\n                                }\n                              },\n                              \"In stock\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"%60%5Bq%3F\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"checkbox\"\n                                  },\n                                  \"checkbox\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": false,\n                                    \"default\": true\n                                  }\n                                }\n                              },\n                              \"Number of meals\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"zag~\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"rollup\"\n                                  },\n                                  \"rollup\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"type\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"number\"\n                                      },\n                                      \"number\": {\n                                        \"type\": \"integer\",\n                                        \"example\": 0,\n                                        \"default\": 0\n                                      },\n                                      \"function\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"count\"\n                                      }\n                                    }\n                                  }\n                                }\n                              },\n                              \"Photo\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"%7DF_L\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"url\"\n                                  },\n                                  \"url\": {}\n                                }\n                              },\n                              \"Name\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"title\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"title\"\n                                  },\n                                  \"title\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                      \"type\": \"object\",\n                                      \"properties\": {\n                                        \"type\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"text\"\n                                        },\n                                        \"text\": {\n                                          \"type\": \"object\",\n                                          \"properties\": {\n                                            \"content\": {\n                                              \"type\": \"string\",\n                                              \"example\": \"Tuscan kale\"\n                                            },\n                                            \"link\": {}\n                                          }\n                                        },\n                                        \"annotations\": {\n                                          \"type\": \"object\",\n                                          \"properties\": {\n                                            \"bold\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"italic\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"strikethrough\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"underline\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"code\": {\n                                              \"type\": \"boolean\",\n                                              \"example\": false,\n                                              \"default\": true\n                                            },\n                                            \"color\": {\n                                              \"type\": \"string\",\n                                              \"example\": \"default\"\n                                            }\n                                          }\n                                        },\n                                        \"plain_text\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"Tuscan kale\"\n                                        },\n                                        \"href\": {}\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          },\n                          \"url\": {\n                            \"type\": \"string\",\n                            \"example\": \"https://www.notion.so/Tuscan-kale-954b67f93f8741db887423b92bbd31ee\"\n                          }\n                        }\n                      }\n                    },\n                    \"next_cursor\": {},\n                    \"has_more\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"example\": \"page_or_database\"\n                    },\n                    \"page_or_database\": {\n                      \"type\": \"object\",\n                      \"properties\": {}\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"error\\\",\\n    \\\"status\\\": 400,\\n    \\\"code\\\": \\\"invalid_json\\\",\\n    \\\"message\\\": \\\"Error parsing JSON body.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"error\"\n                    },\n                    \"status\": {\n                      \"type\": \"integer\",\n                      \"example\": 400,\n                      \"default\": 0\n                    },\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"example\": \"invalid_json\"\n                    },\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"Error parsing JSON body.\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"description\": \"429\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"error\\\",\\n  \\\"status\\\": 429,\\n  \\\"code\\\": \\\"rate_limited\\\",\\n  \\\"message\\\": \\\"You have been rate limited. Please try again in a few minutes.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"error\"\n                    },\n                    \"status\": {\n                      \"type\": \"integer\",\n                      \"example\": 429,\n                      \"default\": 0\n                    },\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"example\": \"rate_limited\"\n                    },\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"You have been rate limited. Please try again in a few minutes.\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const response = await notion.search({\\n    query: 'External tasks',\\n    filter: {\\n      value: 'database',\\n      property: 'object'\\n    },\\n    sort: {\\n      direction: 'ascending',\\n      timestamp: 'last_edited_time'\\n    },\\n  });\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl -X POST 'https://api.notion.com/v1/search' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H 'Notion-Version: 2022-06-28' \\\\\\n  --data '{\\n    \\\"query\\\":\\\"External tasks\\\",\\n    \\\"filter\\\": {\\n        \\\"value\\\": \\\"database\\\",\\n        \\\"property\\\": \\\"object\\\"\\n    },\\n    \\\"sort\\\":{\\n      \\\"direction\\\":\\\"ascending\\\",\\n      \\\"timestamp\\\":\\\"last_edited_time\\\"\\n    }\\n  }'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/blocks/{block_id}/children\": {\n      \"get\": {\n        \"summary\": \"Retrieve block children\",\n        \"description\": \"\",\n        \"operationId\": \"get-block-children\",\n        \"parameters\": [\n          {\n            \"name\": \"block_id\",\n            \"in\": \"path\",\n            \"description\": \"Identifier for a [block](ref:block)\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"start_cursor\",\n            \"in\": \"query\",\n            \"description\": \"If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results.\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"page_size\",\n            \"in\": \"query\",\n            \"description\": \"The number of items from the full list desired in the response. Maximum: 100\",\n            \"schema\": {\n              \"type\": \"integer\",\n              \"format\": \"int32\",\n              \"default\": 100\n            }\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n\\t\\\"object\\\": \\\"list\\\",\\n\\t\\\"results\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"object\\\": \\\"block\\\",\\n\\t\\t\\t\\\"id\\\": \\\"c02fc1d3-db8b-45c5-a222-27595b15aea7\\\",\\n\\t\\t\\t\\\"parent\\\": {\\n\\t\\t\\t\\t\\\"type\\\": \\\"page_id\\\",\\n\\t\\t\\t\\t\\\"page_id\\\": \\\"59833787-2cf9-4fdf-8782-e53db20768a5\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"created_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n\\t\\t\\t\\\"last_edited_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n\\t\\t\\t\\\"created_by\\\": {\\n\\t\\t\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"last_edited_by\\\": {\\n\\t\\t\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"has_children\\\": false,\\n\\t\\t\\t\\\"archived\\\": false,\\n\\t\\t\\t\\\"type\\\": \\\"heading_2\\\",\\n\\t\\t\\t\\\"heading_2\\\": {\\n\\t\\t\\t\\t\\\"rich_text\\\": [\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\\"type\\\": \\\"text\\\",\\n\\t\\t\\t\\t\\t\\t\\\"text\\\": {\\n\\t\\t\\t\\t\\t\\t\\t\\\"content\\\": \\\"Lacinato kale\\\",\\n\\t\\t\\t\\t\\t\\t\\t\\\"link\\\": null\\n\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\\"annotations\\\": {\\n\\t\\t\\t\\t\\t\\t\\t\\\"bold\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"italic\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"strikethrough\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"underline\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"code\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"color\\\": \\\"default\\\"\\n\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\\"plain_text\\\": \\\"Lacinato kale\\\",\\n\\t\\t\\t\\t\\t\\t\\\"href\\\": null\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t],\\n\\t\\t\\t\\t\\\"color\\\": \\\"default\\\",\\n        \\\"is_toggleable\\\": false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\\"object\\\": \\\"block\\\",\\n\\t\\t\\t\\\"id\\\": \\\"acc7eb06-05cd-4603-a384-5e1e4f1f4e72\\\",\\n\\t\\t\\t\\\"parent\\\": {\\n\\t\\t\\t\\t\\\"type\\\": \\\"page_id\\\",\\n\\t\\t\\t\\t\\\"page_id\\\": \\\"59833787-2cf9-4fdf-8782-e53db20768a5\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"created_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n\\t\\t\\t\\\"last_edited_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n\\t\\t\\t\\\"created_by\\\": {\\n\\t\\t\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"last_edited_by\\\": {\\n\\t\\t\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"has_children\\\": false,\\n\\t\\t\\t\\\"archived\\\": false,\\n\\t\\t\\t\\\"type\\\": \\\"paragraph\\\",\\n\\t\\t\\t\\\"paragraph\\\": {\\n\\t\\t\\t\\t\\\"rich_text\\\": [\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\\"type\\\": \\\"text\\\",\\n\\t\\t\\t\\t\\t\\t\\\"text\\\": {\\n\\t\\t\\t\\t\\t\\t\\t\\\"content\\\": \\\"Lacinato kale is a variety of kale with a long tradition in Italian cuisine, especially that of Tuscany. It is also known as Tuscan kale, Italian kale, dinosaur kale, kale, flat back kale, palm tree kale, or black Tuscan palm.\\\",\\n\\t\\t\\t\\t\\t\\t\\t\\\"link\\\": {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\"url\\\": \\\"https://en.wikipedia.org/wiki/Lacinato_kale\\\"\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\\"annotations\\\": {\\n\\t\\t\\t\\t\\t\\t\\t\\\"bold\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"italic\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"strikethrough\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"underline\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"code\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"color\\\": \\\"default\\\"\\n\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\\"plain_text\\\": \\\"Lacinato kale is a variety of kale with a long tradition in Italian cuisine, especially that of Tuscany. It is also known as Tuscan kale, Italian kale, dinosaur kale, kale, flat back kale, palm tree kale, or black Tuscan palm.\\\",\\n\\t\\t\\t\\t\\t\\t\\\"href\\\": \\\"https://en.wikipedia.org/wiki/Lacinato_kale\\\"\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t],\\n\\t\\t\\t\\t\\\"color\\\": \\\"default\\\"\\n\\t\\t\\t}\\n\\t\\t}\\n\\t],\\n\\t\\\"next_cursor\\\": null,\\n\\t\\\"has_more\\\": false,\\n\\t\\\"type\\\": \\\"block\\\",\\n\\t\\\"block\\\": {}\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"list\"\n                    },\n                    \"results\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"object\": {\n                            \"type\": \"string\",\n                            \"example\": \"block\"\n                          },\n                          \"id\": {\n                            \"type\": \"string\",\n                            \"example\": \"c02fc1d3-db8b-45c5-a222-27595b15aea7\"\n                          },\n                          \"parent\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"page_id\"\n                              },\n                              \"page_id\": {\n                                \"type\": \"string\",\n                                \"example\": \"59833787-2cf9-4fdf-8782-e53db20768a5\"\n                              }\n                            }\n                          },\n                          \"created_time\": {\n                            \"type\": \"string\",\n                            \"example\": \"2022-03-01T19:05:00.000Z\"\n                          },\n                          \"last_edited_time\": {\n                            \"type\": \"string\",\n                            \"example\": \"2022-03-01T19:05:00.000Z\"\n                          },\n                          \"created_by\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"object\": {\n                                \"type\": \"string\",\n                                \"example\": \"user\"\n                              },\n                              \"id\": {\n                                \"type\": \"string\",\n                                \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                              }\n                            }\n                          },\n                          \"last_edited_by\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"object\": {\n                                \"type\": \"string\",\n                                \"example\": \"user\"\n                              },\n                              \"id\": {\n                                \"type\": \"string\",\n                                \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                              }\n                            }\n                          },\n                          \"has_children\": {\n                            \"type\": \"boolean\",\n                            \"example\": false,\n                            \"default\": true\n                          },\n                          \"archived\": {\n                            \"type\": \"boolean\",\n                            \"example\": false,\n                            \"default\": true\n                          },\n                          \"type\": {\n                            \"type\": \"string\",\n                            \"example\": \"heading_2\"\n                          },\n                          \"heading_2\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"rich_text\": {\n                                \"type\": \"array\",\n                                \"items\": {\n                                  \"type\": \"object\",\n                                  \"properties\": {\n                                    \"type\": {\n                                      \"type\": \"string\",\n                                      \"example\": \"text\"\n                                    },\n                                    \"text\": {\n                                      \"type\": \"object\",\n                                      \"properties\": {\n                                        \"content\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"Lacinato kale\"\n                                        },\n                                        \"link\": {}\n                                      }\n                                    },\n                                    \"annotations\": {\n                                      \"type\": \"object\",\n                                      \"properties\": {\n                                        \"bold\": {\n                                          \"type\": \"boolean\",\n                                          \"example\": false,\n                                          \"default\": true\n                                        },\n                                        \"italic\": {\n                                          \"type\": \"boolean\",\n                                          \"example\": false,\n                                          \"default\": true\n                                        },\n                                        \"strikethrough\": {\n                                          \"type\": \"boolean\",\n                                          \"example\": false,\n                                          \"default\": true\n                                        },\n                                        \"underline\": {\n                                          \"type\": \"boolean\",\n                                          \"example\": false,\n                                          \"default\": true\n                                        },\n                                        \"code\": {\n                                          \"type\": \"boolean\",\n                                          \"example\": false,\n                                          \"default\": true\n                                        },\n                                        \"color\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"default\"\n                                        }\n                                      }\n                                    },\n                                    \"plain_text\": {\n                                      \"type\": \"string\",\n                                      \"example\": \"Lacinato kale\"\n                                    },\n                                    \"href\": {}\n                                  }\n                                }\n                              },\n                              \"color\": {\n                                \"type\": \"string\",\n                                \"example\": \"default\"\n                              },\n                              \"is_toggleable\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              }\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"next_cursor\": {},\n                    \"has_more\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"example\": \"block\"\n                    },\n                    \"block\": {\n                      \"type\": \"object\",\n                      \"properties\": {}\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const blockId = '59833787-2cf9-4fdf-8782-e53db20768a5';\\n  const response = await notion.blocks.children.list({\\n    block_id: blockId,\\n    page_size: 50,\\n  });\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl 'https://api.notion.com/v1/blocks/b55c9c91-384d-452b-81db-d1ef79372b75/children?page_size=100' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H \\\"Notion-Version: 2022-02-22\\\"\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      },\n      \"patch\": {\n        \"summary\": \"Append block children\",\n        \"description\": \"\",\n        \"operationId\": \"patch-block-children\",\n        \"parameters\": [\n          {\n            \"name\": \"block_id\",\n            \"in\": \"path\",\n            \"description\": \"Identifier for a [block](ref:block)\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\n                  \"children\"\n                ],\n                \"properties\": {\n                  \"children\": {\n                    \"type\": \"array\",\n                    \"description\": \"Child content to append to a container block as an array of [block objects](ref:block)\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n\\t\\\"object\\\": \\\"list\\\",\\n\\t\\\"results\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"object\\\": \\\"block\\\",\\n\\t\\t\\t\\\"id\\\": \\\"c02fc1d3-db8b-45c5-a222-27595b15aea7\\\",\\n\\t\\t\\t\\\"parent\\\": {\\n\\t\\t\\t\\t\\\"type\\\": \\\"page_id\\\",\\n\\t\\t\\t\\t\\\"page_id\\\": \\\"59833787-2cf9-4fdf-8782-e53db20768a5\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"created_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n\\t\\t\\t\\\"last_edited_time\\\": \\\"2022-07-06T19:41:00.000Z\\\",\\n\\t\\t\\t\\\"created_by\\\": {\\n\\t\\t\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"last_edited_by\\\": {\\n\\t\\t\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"has_children\\\": false,\\n\\t\\t\\t\\\"archived\\\": false,\\n\\t\\t\\t\\\"type\\\": \\\"heading_2\\\",\\n\\t\\t\\t\\\"heading_2\\\": {\\n\\t\\t\\t\\t\\\"rich_text\\\": [\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\\"type\\\": \\\"text\\\",\\n\\t\\t\\t\\t\\t\\t\\\"text\\\": {\\n\\t\\t\\t\\t\\t\\t\\t\\\"content\\\": \\\"Lacinato kale\\\",\\n\\t\\t\\t\\t\\t\\t\\t\\\"link\\\": null\\n\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\\"annotations\\\": {\\n\\t\\t\\t\\t\\t\\t\\t\\\"bold\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"italic\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"strikethrough\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"underline\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"code\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"color\\\": \\\"default\\\"\\n\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\\"plain_text\\\": \\\"Lacinato kale\\\",\\n\\t\\t\\t\\t\\t\\t\\\"href\\\": null\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t],\\n\\t\\t\\t\\t\\\"color\\\": \\\"default\\\",\\n        \\\"is_toggleable\\\": false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\\"object\\\": \\\"block\\\",\\n\\t\\t\\t\\\"id\\\": \\\"acc7eb06-05cd-4603-a384-5e1e4f1f4e72\\\",\\n\\t\\t\\t\\\"parent\\\": {\\n\\t\\t\\t\\t\\\"type\\\": \\\"page_id\\\",\\n\\t\\t\\t\\t\\\"page_id\\\": \\\"59833787-2cf9-4fdf-8782-e53db20768a5\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"created_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n\\t\\t\\t\\\"last_edited_time\\\": \\\"2022-07-06T19:51:00.000Z\\\",\\n\\t\\t\\t\\\"created_by\\\": {\\n\\t\\t\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"last_edited_by\\\": {\\n\\t\\t\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\t\\t\\\"id\\\": \\\"0c3e9826-b8f7-4f73-927d-2caaf86f1103\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"has_children\\\": false,\\n\\t\\t\\t\\\"archived\\\": false,\\n\\t\\t\\t\\\"type\\\": \\\"paragraph\\\",\\n\\t\\t\\t\\\"paragraph\\\": {\\n\\t\\t\\t\\t\\\"rich_text\\\": [\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\\"type\\\": \\\"text\\\",\\n\\t\\t\\t\\t\\t\\t\\\"text\\\": {\\n\\t\\t\\t\\t\\t\\t\\t\\\"content\\\": \\\"Lacinato kale is a variety of kale with a long tradition in Italian cuisine, especially that of Tuscany. It is also known as Tuscan kale, Italian kale, dinosaur kale, kale, flat back kale, palm tree kale, or black Tuscan palm.\\\",\\n\\t\\t\\t\\t\\t\\t\\t\\\"link\\\": {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\"url\\\": \\\"https://en.wikipedia.org/wiki/Lacinato_kale\\\"\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\\"annotations\\\": {\\n\\t\\t\\t\\t\\t\\t\\t\\\"bold\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"italic\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"strikethrough\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"underline\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"code\\\": false,\\n\\t\\t\\t\\t\\t\\t\\t\\\"color\\\": \\\"default\\\"\\n\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\\"plain_text\\\": \\\"Lacinato kale is a variety of kale with a long tradition in Italian cuisine, especially that of Tuscany. It is also known as Tuscan kale, Italian kale, dinosaur kale, kale, flat back kale, palm tree kale, or black Tuscan palm.\\\",\\n\\t\\t\\t\\t\\t\\t\\\"href\\\": \\\"https://en.wikipedia.org/wiki/Lacinato_kale\\\"\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t],\\n\\t\\t\\t\\t\\\"color\\\": \\\"default\\\"\\n\\t\\t\\t}\\n\\t\\t}\\n\\t],\\n\\t\\\"next_cursor\\\": null,\\n\\t\\\"has_more\\\": false,\\n\\t\\\"type\\\": \\\"block\\\",\\n\\t\\\"block\\\": {}\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"list\"\n                    },\n                    \"results\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"object\": {\n                            \"type\": \"string\",\n                            \"example\": \"block\"\n                          },\n                          \"id\": {\n                            \"type\": \"string\",\n                            \"example\": \"c02fc1d3-db8b-45c5-a222-27595b15aea7\"\n                          },\n                          \"parent\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"page_id\"\n                              },\n                              \"page_id\": {\n                                \"type\": \"string\",\n                                \"example\": \"59833787-2cf9-4fdf-8782-e53db20768a5\"\n                              }\n                            }\n                          },\n                          \"created_time\": {\n                            \"type\": \"string\",\n                            \"example\": \"2022-03-01T19:05:00.000Z\"\n                          },\n                          \"last_edited_time\": {\n                            \"type\": \"string\",\n                            \"example\": \"2022-07-06T19:41:00.000Z\"\n                          },\n                          \"created_by\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"object\": {\n                                \"type\": \"string\",\n                                \"example\": \"user\"\n                              },\n                              \"id\": {\n                                \"type\": \"string\",\n                                \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                              }\n                            }\n                          },\n                          \"last_edited_by\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"object\": {\n                                \"type\": \"string\",\n                                \"example\": \"user\"\n                              },\n                              \"id\": {\n                                \"type\": \"string\",\n                                \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                              }\n                            }\n                          },\n                          \"has_children\": {\n                            \"type\": \"boolean\",\n                            \"example\": false,\n                            \"default\": true\n                          },\n                          \"archived\": {\n                            \"type\": \"boolean\",\n                            \"example\": false,\n                            \"default\": true\n                          },\n                          \"type\": {\n                            \"type\": \"string\",\n                            \"example\": \"heading_2\"\n                          },\n                          \"heading_2\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"rich_text\": {\n                                \"type\": \"array\",\n                                \"items\": {\n                                  \"type\": \"object\",\n                                  \"properties\": {\n                                    \"type\": {\n                                      \"type\": \"string\",\n                                      \"example\": \"text\"\n                                    },\n                                    \"text\": {\n                                      \"type\": \"object\",\n                                      \"properties\": {\n                                        \"content\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"Lacinato kale\"\n                                        },\n                                        \"link\": {}\n                                      }\n                                    },\n                                    \"annotations\": {\n                                      \"type\": \"object\",\n                                      \"properties\": {\n                                        \"bold\": {\n                                          \"type\": \"boolean\",\n                                          \"example\": false,\n                                          \"default\": true\n                                        },\n                                        \"italic\": {\n                                          \"type\": \"boolean\",\n                                          \"example\": false,\n                                          \"default\": true\n                                        },\n                                        \"strikethrough\": {\n                                          \"type\": \"boolean\",\n                                          \"example\": false,\n                                          \"default\": true\n                                        },\n                                        \"underline\": {\n                                          \"type\": \"boolean\",\n                                          \"example\": false,\n                                          \"default\": true\n                                        },\n                                        \"code\": {\n                                          \"type\": \"boolean\",\n                                          \"example\": false,\n                                          \"default\": true\n                                        },\n                                        \"color\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"default\"\n                                        }\n                                      }\n                                    },\n                                    \"plain_text\": {\n                                      \"type\": \"string\",\n                                      \"example\": \"Lacinato kale\"\n                                    },\n                                    \"href\": {}\n                                  }\n                                }\n                              },\n                              \"color\": {\n                                \"type\": \"string\",\n                                \"example\": \"default\"\n                              },\n                              \"is_toggleable\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              }\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"next_cursor\": {},\n                    \"has_more\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"example\": \"block\"\n                    },\n                    \"block\": {\n                      \"type\": \"object\",\n                      \"properties\": {}\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const blockId = 'b55c9c91-384d-452b-81db-d1ef79372b75';\\n  const response = await notion.blocks.children.append({\\n    block_id: blockId,\\n    children: [\\n      {\\n        \\\"heading_2\\\": {\\n          \\\"rich_text\\\": [\\n            {\\n              \\\"text\\\": {\\n                \\\"content\\\": \\\"Lacinato kale\\\"\\n              }\\n            }\\n          ]\\n        }\\n      },\\n      {\\n        \\\"paragraph\\\": {\\n          \\\"rich_text\\\": [\\n            {\\n              \\\"text\\\": {\\n                \\\"content\\\": \\\"Lacinato kale is a variety of kale with a long tradition in Italian cuisine, especially that of Tuscany. It is also known as Tuscan kale, Italian kale, dinosaur kale, kale, flat back kale, palm tree kale, or black Tuscan palm.\\\",\\n                \\\"link\\\": {\\n                  \\\"url\\\": \\\"https://en.wikipedia.org/wiki/Lacinato_kale\\\"\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      }\\n    ],\\n  });\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl -X PATCH 'https://api.notion.com/v1/blocks/b55c9c91-384d-452b-81db-d1ef79372b75/children' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Notion-Version: 2022-02-22\\\" \\\\\\n  --data '{\\n\\t\\\"children\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"object\\\": \\\"block\\\",\\n\\t\\t\\t\\\"type\\\": \\\"heading_2\\\",\\n\\t\\t\\t\\\"heading_2\\\": {\\n\\t\\t\\t\\t\\\"rich_text\\\": [{ \\\"type\\\": \\\"text\\\", \\\"text\\\": { \\\"content\\\": \\\"Lacinato kale\\\" } }]\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\\"object\\\": \\\"block\\\",\\n\\t\\t\\t\\\"type\\\": \\\"paragraph\\\",\\n\\t\\t\\t\\\"paragraph\\\": {\\n\\t\\t\\t\\t\\\"rich_text\\\": [\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\\"type\\\": \\\"text\\\",\\n\\t\\t\\t\\t\\t\\t\\\"text\\\": {\\n\\t\\t\\t\\t\\t\\t\\t\\\"content\\\": \\\"Lacinato kale is a variety of kale with a long tradition in Italian cuisine, especially that of Tuscany. It is also known as Tuscan kale, Italian kale, dinosaur kale, kale, flat back kale, palm tree kale, or black Tuscan palm.\\\",\\n\\t\\t\\t\\t\\t\\t\\t\\\"link\\\": { \\\"url\\\": \\\"https://en.wikipedia.org/wiki/Lacinato_kale\\\" }\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t]\\n\\t\\t\\t}\\n\\t\\t}\\n\\t]\\n}'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/blocks/{block_id}\": {\n      \"get\": {\n        \"summary\": \"Retrieve a block\",\n        \"description\": \"\",\n        \"operationId\": \"retrieve-a-block\",\n        \"parameters\": [\n          {\n            \"name\": \"block_id\",\n            \"in\": \"path\",\n            \"description\": \"Identifier for a Notion block\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n\\t\\\"object\\\": \\\"block\\\",\\n\\t\\\"id\\\": \\\"c02fc1d3-db8b-45c5-a222-27595b15aea7\\\",\\n\\t\\\"parent\\\": {\\n\\t\\t\\\"type\\\": \\\"page_id\\\",\\n\\t\\t\\\"page_id\\\": \\\"59833787-2cf9-4fdf-8782-e53db20768a5\\\"\\n\\t},\\n\\t\\\"created_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n\\t\\\"last_edited_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n\\t\\\"created_by\\\": {\\n\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t},\\n\\t\\\"last_edited_by\\\": {\\n\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t},\\n\\t\\\"has_children\\\": false,\\n\\t\\\"archived\\\": false,\\n\\t\\\"type\\\": \\\"heading_2\\\",\\n\\t\\\"heading_2\\\": {\\n\\t\\t\\\"rich_text\\\": [\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\\"type\\\": \\\"text\\\",\\n\\t\\t\\t\\t\\\"text\\\": {\\n\\t\\t\\t\\t\\t\\\"content\\\": \\\"Lacinato kale\\\",\\n\\t\\t\\t\\t\\t\\\"link\\\": null\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\\"annotations\\\": {\\n\\t\\t\\t\\t\\t\\\"bold\\\": false,\\n\\t\\t\\t\\t\\t\\\"italic\\\": false,\\n\\t\\t\\t\\t\\t\\\"strikethrough\\\": false,\\n\\t\\t\\t\\t\\t\\\"underline\\\": false,\\n\\t\\t\\t\\t\\t\\\"code\\\": false,\\n\\t\\t\\t\\t\\t\\\"color\\\": \\\"default\\\"\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\\"plain_text\\\": \\\"Lacinato kale\\\",\\n\\t\\t\\t\\t\\\"href\\\": null\\n\\t\\t\\t}\\n\\t\\t],\\n\\t\\t\\\"color\\\": \\\"default\\\",\\n    \\\"is_toggleable\\\": false\\n\\t}\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"block\"\n                    },\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"example\": \"c02fc1d3-db8b-45c5-a222-27595b15aea7\"\n                    },\n                    \"parent\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"page_id\"\n                        },\n                        \"page_id\": {\n                          \"type\": \"string\",\n                          \"example\": \"59833787-2cf9-4fdf-8782-e53db20768a5\"\n                        }\n                      }\n                    },\n                    \"created_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-03-01T19:05:00.000Z\"\n                    },\n                    \"last_edited_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-03-01T19:05:00.000Z\"\n                    },\n                    \"created_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                        }\n                      }\n                    },\n                    \"last_edited_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                        }\n                      }\n                    },\n                    \"has_children\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"archived\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"example\": \"heading_2\"\n                    },\n                    \"heading_2\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"rich_text\": {\n                          \"type\": \"array\",\n                          \"items\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"text\"\n                              },\n                              \"text\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"content\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"Lacinato kale\"\n                                  },\n                                  \"link\": {}\n                                }\n                              },\n                              \"annotations\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"bold\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": false,\n                                    \"default\": true\n                                  },\n                                  \"italic\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": false,\n                                    \"default\": true\n                                  },\n                                  \"strikethrough\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": false,\n                                    \"default\": true\n                                  },\n                                  \"underline\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": false,\n                                    \"default\": true\n                                  },\n                                  \"code\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": false,\n                                    \"default\": true\n                                  },\n                                  \"color\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"default\"\n                                  }\n                                }\n                              },\n                              \"plain_text\": {\n                                \"type\": \"string\",\n                                \"example\": \"Lacinato kale\"\n                              },\n                              \"href\": {}\n                            }\n                          }\n                        },\n                        \"color\": {\n                          \"type\": \"string\",\n                          \"example\": \"default\"\n                        },\n                        \"is_toggleable\": {\n                          \"type\": \"boolean\",\n                          \"example\": false,\n                          \"default\": true\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const blockId = 'c02fc1d3-db8b-45c5-a222-27595b15aea7';\\n  const response = await notion.blocks.retrieve({\\n    block_id: blockId,\\n  });\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl 'https://api.notion.com/v1/blocks/0c940186-ab70-4351-bb34-2d16f0635d49' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H 'Notion-Version: 2022-02-22'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      },\n      \"patch\": {\n        \"summary\": \"Update a block\",\n        \"description\": \"\",\n        \"operationId\": \"update-a-block\",\n        \"parameters\": [\n          {\n            \"name\": \"block_id\",\n            \"in\": \"path\",\n            \"description\": \"Identifier for a Notion block\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"{type}\": {\n                    \"type\": \"object\",\n                    \"description\": \"The [block object `type`](ref:block#block-object-keys) value with the properties to be updated. Currently only `text` (for supported block types) and `checked` (for `to_do` blocks) fields can be updated.\",\n                    \"properties\": {}\n                  },\n                  \"archived\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"Set to true to archive (delete) a block. Set to false to un-archive (restore) a block.\",\n                    \"default\": true\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n\\t\\\"object\\\": \\\"block\\\",\\n\\t\\\"id\\\": \\\"c02fc1d3-db8b-45c5-a222-27595b15aea7\\\",\\n\\t\\\"parent\\\": {\\n\\t\\t\\\"type\\\": \\\"page_id\\\",\\n\\t\\t\\\"page_id\\\": \\\"59833787-2cf9-4fdf-8782-e53db20768a5\\\"\\n\\t},\\n\\t\\\"created_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n\\t\\\"last_edited_time\\\": \\\"2022-07-06T19:41:00.000Z\\\",\\n\\t\\\"created_by\\\": {\\n\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t},\\n\\t\\\"last_edited_by\\\": {\\n\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t},\\n\\t\\\"has_children\\\": false,\\n\\t\\\"archived\\\": false,\\n\\t\\\"type\\\": \\\"heading_2\\\",\\n\\t\\\"heading_2\\\": {\\n\\t\\t\\\"rich_text\\\": [\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\\"type\\\": \\\"text\\\",\\n\\t\\t\\t\\t\\\"text\\\": {\\n\\t\\t\\t\\t\\t\\\"content\\\": \\\"Lacinato kale\\\",\\n\\t\\t\\t\\t\\t\\\"link\\\": null\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\\"annotations\\\": {\\n\\t\\t\\t\\t\\t\\\"bold\\\": false,\\n\\t\\t\\t\\t\\t\\\"italic\\\": false,\\n\\t\\t\\t\\t\\t\\\"strikethrough\\\": false,\\n\\t\\t\\t\\t\\t\\\"underline\\\": false,\\n\\t\\t\\t\\t\\t\\\"code\\\": false,\\n\\t\\t\\t\\t\\t\\\"color\\\": \\\"green\\\"\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\\"plain_text\\\": \\\"Lacinato kale\\\",\\n\\t\\t\\t\\t\\\"href\\\": null\\n\\t\\t\\t}\\n\\t\\t],\\n\\t\\t\\\"color\\\": \\\"default\\\",\\n    \\\"is_toggleable\\\": false\\n\\t}\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"block\"\n                    },\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"example\": \"c02fc1d3-db8b-45c5-a222-27595b15aea7\"\n                    },\n                    \"parent\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"page_id\"\n                        },\n                        \"page_id\": {\n                          \"type\": \"string\",\n                          \"example\": \"59833787-2cf9-4fdf-8782-e53db20768a5\"\n                        }\n                      }\n                    },\n                    \"created_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-03-01T19:05:00.000Z\"\n                    },\n                    \"last_edited_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-07-06T19:41:00.000Z\"\n                    },\n                    \"created_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                        }\n                      }\n                    },\n                    \"last_edited_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                        }\n                      }\n                    },\n                    \"has_children\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"archived\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"example\": \"heading_2\"\n                    },\n                    \"heading_2\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"rich_text\": {\n                          \"type\": \"array\",\n                          \"items\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"text\"\n                              },\n                              \"text\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"content\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"Lacinato kale\"\n                                  },\n                                  \"link\": {}\n                                }\n                              },\n                              \"annotations\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"bold\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": false,\n                                    \"default\": true\n                                  },\n                                  \"italic\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": false,\n                                    \"default\": true\n                                  },\n                                  \"strikethrough\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": false,\n                                    \"default\": true\n                                  },\n                                  \"underline\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": false,\n                                    \"default\": true\n                                  },\n                                  \"code\": {\n                                    \"type\": \"boolean\",\n                                    \"example\": false,\n                                    \"default\": true\n                                  },\n                                  \"color\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"green\"\n                                  }\n                                }\n                              },\n                              \"plain_text\": {\n                                \"type\": \"string\",\n                                \"example\": \"Lacinato kale\"\n                              },\n                              \"href\": {}\n                            }\n                          }\n                        },\n                        \"color\": {\n                          \"type\": \"string\",\n                          \"example\": \"default\"\n                        },\n                        \"is_toggleable\": {\n                          \"type\": \"boolean\",\n                          \"example\": false,\n                          \"default\": true\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const blockId = '9bc30ad4-9373-46a5-84ab-0a7845ee52e6';\\n  const response = await notion.blocks.update({\\n\\t\\\"block_id\\\": blockId,\\n\\t\\\"heading_2\\\": {\\n\\t\\t\\\"rich_text\\\": [\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\\"text\\\": {\\n\\t\\t\\t\\t\\t\\\"content\\\": \\\"Lacinato kale\\\"\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\\"annotations\\\": {\\n\\t\\t\\t\\t\\t\\\"color\\\": \\\"green\\\"\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t]\\n\\t}\\n});\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl https://api.notion.com/v1/blocks/9bc30ad4-9373-46a5-84ab-0a7845ee52e6 \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Notion-Version: 2022-02-22\\\" \\\\\\n  -X PATCH \\\\\\n  --data '{\\n  \\\"to_do\\\": {\\n    \\\"rich_text\\\": [{ \\n      \\\"text\\\": { \\\"content\\\": \\\"Lacinato kale\\\" } \\n      }],\\n    \\\"checked\\\": false\\n  }\\n}'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      },\n      \"delete\": {\n        \"summary\": \"Delete a block\",\n        \"description\": \"\",\n        \"operationId\": \"delete-a-block\",\n        \"parameters\": [\n          {\n            \"name\": \"block_id\",\n            \"in\": \"path\",\n            \"description\": \"Identifier for a Notion block\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n\\t\\\"object\\\": \\\"block\\\",\\n\\t\\\"id\\\": \\\"7985540b-2e77-4ac6-8615-c3047e36f872\\\",\\n\\t\\\"parent\\\": {\\n\\t\\t\\\"type\\\": \\\"page_id\\\",\\n\\t\\t\\\"page_id\\\": \\\"59833787-2cf9-4fdf-8782-e53db20768a5\\\"\\n\\t},\\n\\t\\\"created_time\\\": \\\"2022-07-06T19:52:00.000Z\\\",\\n\\t\\\"last_edited_time\\\": \\\"2022-07-06T19:52:00.000Z\\\",\\n\\t\\\"created_by\\\": {\\n\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\\"id\\\": \\\"0c3e9826-b8f7-4f73-927d-2caaf86f1103\\\"\\n\\t},\\n\\t\\\"last_edited_by\\\": {\\n\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t},\\n\\t\\\"has_children\\\": false,\\n\\t\\\"archived\\\": true,\\n\\t\\\"type\\\": \\\"paragraph\\\",\\n\\t\\\"paragraph\\\": {\\n\\t\\t\\\"rich_text\\\": [],\\n\\t\\t\\\"color\\\": \\\"default\\\"\\n\\t}\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"block\"\n                    },\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"example\": \"7985540b-2e77-4ac6-8615-c3047e36f872\"\n                    },\n                    \"parent\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"page_id\"\n                        },\n                        \"page_id\": {\n                          \"type\": \"string\",\n                          \"example\": \"59833787-2cf9-4fdf-8782-e53db20768a5\"\n                        }\n                      }\n                    },\n                    \"created_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-07-06T19:52:00.000Z\"\n                    },\n                    \"last_edited_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-07-06T19:52:00.000Z\"\n                    },\n                    \"created_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"0c3e9826-b8f7-4f73-927d-2caaf86f1103\"\n                        }\n                      }\n                    },\n                    \"last_edited_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                        }\n                      }\n                    },\n                    \"has_children\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"archived\": {\n                      \"type\": \"boolean\",\n                      \"example\": true,\n                      \"default\": true\n                    },\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"example\": \"paragraph\"\n                    },\n                    \"paragraph\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"rich_text\": {\n                          \"type\": \"array\"\n                        },\n                        \"color\": {\n                          \"type\": \"string\",\n                          \"example\": \"default\"\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const blockId = '7985540b-2e77-4ac6-8615-c3047e36f872';\\n  const response = await notion.blocks.delete({\\n    block_id: blockId,\\n  });\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl -X DELETE 'https://api.notion.com/v1/blocks/9bc30ad4-9373-46a5-84ab-0a7845ee52e6' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H 'Notion-Version: 2022-02-22'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/pages/{page_id}\": {\n      \"get\": {\n        \"summary\": \"Retrieve a page\",\n        \"description\": \"\",\n        \"operationId\": \"retrieve-a-page\",\n        \"parameters\": [\n          {\n            \"name\": \"page_id\",\n            \"in\": \"path\",\n            \"description\": \"Identifier for a Notion page\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"filter_properties\",\n            \"in\": \"query\",\n            \"description\": \"A list of page property value IDs associated with the page. Use this param to limit the response to a specific page property value or values. To retrieve multiple properties, specify each page property ID. For example: `?filter_properties=iAk8&filter_properties=b7dh`.\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"page\\\",\\n  \\\"id\\\": \\\"59833787-2cf9-4fdf-8782-e53db20768a5\\\",\\n  \\\"created_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n  \\\"last_edited_time\\\": \\\"2022-07-06T20:25:00.000Z\\\",\\n  \\\"created_by\\\": {\\n    \\\"object\\\": \\\"user\\\",\\n    \\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n  },\\n  \\\"last_edited_by\\\": {\\n    \\\"object\\\": \\\"user\\\",\\n    \\\"id\\\": \\\"0c3e9826-b8f7-4f73-927d-2caaf86f1103\\\"\\n  },\\n  \\\"cover\\\": {\\n    \\\"type\\\": \\\"external\\\",\\n    \\\"external\\\": {\\n      \\\"url\\\": \\\"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\\\"\\n    }\\n  },\\n  \\\"icon\\\": {\\n    \\\"type\\\": \\\"emoji\\\",\\n    \\\"emoji\\\": \\\"🥬\\\"\\n  },\\n  \\\"parent\\\": {\\n    \\\"type\\\": \\\"database_id\\\",\\n    \\\"database_id\\\": \\\"d9824bdc-8445-4327-be8b-5b47500af6ce\\\"\\n  },\\n  \\\"archived\\\": false,\\n  \\\"properties\\\": {\\n    \\\"Store availability\\\": {\\n      \\\"id\\\": \\\"%3AUPp\\\",\\n      \\\"type\\\": \\\"multi_select\\\",\\n      \\\"multi_select\\\": [\\n        {\\n          \\\"id\\\": \\\"t|O@\\\",\\n          \\\"name\\\": \\\"Gus's Community Market\\\",\\n          \\\"color\\\": \\\"yellow\\\"\\n        },\\n        {\\n          \\\"id\\\": \\\"{Ml\\\\\\\\\\\",\\n          \\\"name\\\": \\\"Rainbow Grocery\\\",\\n          \\\"color\\\": \\\"gray\\\"\\n        }\\n      ]\\n    },\\n    \\\"Food group\\\": {\\n      \\\"id\\\": \\\"A%40Hk\\\",\\n      \\\"type\\\": \\\"select\\\",\\n      \\\"select\\\": {\\n        \\\"id\\\": \\\"5e8e7e8f-432e-4d8a-8166-1821e10225fc\\\",\\n        \\\"name\\\": \\\"🥬 Vegetable\\\",\\n        \\\"color\\\": \\\"pink\\\"\\n      }\\n    },\\n    \\\"Price\\\": {\\n      \\\"id\\\": \\\"BJXS\\\",\\n      \\\"type\\\": \\\"number\\\",\\n      \\\"number\\\": 2.5\\n    },\\n    \\\"Responsible Person\\\": {\\n      \\\"id\\\": \\\"Iowm\\\",\\n      \\\"type\\\": \\\"people\\\",\\n      \\\"people\\\": [\\n        {\\n          \\\"object\\\": \\\"user\\\",\\n          \\\"id\\\": \\\"cbfe3c6e-71cf-4cd3-b6e7-02f38f371bcc\\\",\\n          \\\"name\\\": \\\"Cristina Cordova\\\",\\n          \\\"avatar_url\\\": \\\"https://lh6.googleusercontent.com/-rapvfCoTq5A/AAAAAAAAAAI/AAAAAAAAAAA/AKF05nDKmmUpkpFvWNBzvu9rnZEy7cbl8Q/photo.jpg\\\",\\n          \\\"type\\\": \\\"person\\\",\\n          \\\"person\\\": {\\n            \\\"email\\\": \\\"cristina@makenotion.com\\\"\\n          }\\n        }\\n      ]\\n    },\\n    \\\"Last ordered\\\": {\\n      \\\"id\\\": \\\"Jsfb\\\",\\n      \\\"type\\\": \\\"date\\\",\\n      \\\"date\\\": {\\n        \\\"start\\\": \\\"2022-02-22\\\",\\n        \\\"end\\\": null,\\n        \\\"time_zone\\\": null\\n      }\\n    },\\n    \\\"Cost of next trip\\\": {\\n      \\\"id\\\": \\\"WOd%3B\\\",\\n      \\\"type\\\": \\\"formula\\\",\\n      \\\"formula\\\": {\\n        \\\"type\\\": \\\"number\\\",\\n        \\\"number\\\": 0\\n      }\\n    },\\n    \\\"Recipes\\\": {\\n      \\\"id\\\": \\\"YfIu\\\",\\n      \\\"type\\\": \\\"relation\\\",\\n      \\\"relation\\\": [\\n        {\\n          \\\"id\\\": \\\"90eeeed8-2cdd-4af4-9cc1-3d24aff5f63c\\\"\\n        },\\n        {\\n          \\\"id\\\": \\\"a2da43ee-d43c-4285-8ae2-6d811f12629a\\\"\\n        }\\n      ],\\n\\t\\t\\t\\\"has_more\\\": false\\n    },\\n    \\\"Description\\\": {\\n      \\\"id\\\": \\\"_Tc_\\\",\\n      \\\"type\\\": \\\"rich_text\\\",\\n      \\\"rich_text\\\": [\\n        {\\n          \\\"type\\\": \\\"text\\\",\\n          \\\"text\\\": {\\n            \\\"content\\\": \\\"A dark \\\",\\n            \\\"link\\\": null\\n          },\\n          \\\"annotations\\\": {\\n            \\\"bold\\\": false,\\n            \\\"italic\\\": false,\\n            \\\"strikethrough\\\": false,\\n            \\\"underline\\\": false,\\n            \\\"code\\\": false,\\n            \\\"color\\\": \\\"default\\\"\\n          },\\n          \\\"plain_text\\\": \\\"A dark \\\",\\n          \\\"href\\\": null\\n        },\\n        {\\n          \\\"type\\\": \\\"text\\\",\\n          \\\"text\\\": {\\n            \\\"content\\\": \\\"green\\\",\\n            \\\"link\\\": null\\n          },\\n          \\\"annotations\\\": {\\n            \\\"bold\\\": false,\\n            \\\"italic\\\": false,\\n            \\\"strikethrough\\\": false,\\n            \\\"underline\\\": false,\\n            \\\"code\\\": false,\\n            \\\"color\\\": \\\"green\\\"\\n          },\\n          \\\"plain_text\\\": \\\"green\\\",\\n          \\\"href\\\": null\\n        },\\n        {\\n          \\\"type\\\": \\\"text\\\",\\n          \\\"text\\\": {\\n            \\\"content\\\": \\\" leafy vegetable\\\",\\n            \\\"link\\\": null\\n          },\\n          \\\"annotations\\\": {\\n            \\\"bold\\\": false,\\n            \\\"italic\\\": false,\\n            \\\"strikethrough\\\": false,\\n            \\\"underline\\\": false,\\n            \\\"code\\\": false,\\n            \\\"color\\\": \\\"default\\\"\\n          },\\n          \\\"plain_text\\\": \\\" leafy vegetable\\\",\\n          \\\"href\\\": null\\n        }\\n      ]\\n    },\\n    \\\"In stock\\\": {\\n      \\\"id\\\": \\\"%60%5Bq%3F\\\",\\n      \\\"type\\\": \\\"checkbox\\\",\\n      \\\"checkbox\\\": true\\n    },\\n    \\\"Number of meals\\\": {\\n      \\\"id\\\": \\\"zag~\\\",\\n      \\\"type\\\": \\\"rollup\\\",\\n      \\\"rollup\\\": {\\n        \\\"type\\\": \\\"number\\\",\\n        \\\"number\\\": 2,\\n        \\\"function\\\": \\\"count\\\"\\n      }\\n    },\\n    \\\"Photo\\\": {\\n      \\\"id\\\": \\\"%7DF_L\\\",\\n      \\\"type\\\": \\\"url\\\",\\n      \\\"url\\\": \\\"https://i.insider.com/612fb23c9ef1e50018f93198?width=1136&format=jpeg\\\"\\n    },\\n    \\\"Name\\\": {\\n      \\\"id\\\": \\\"title\\\",\\n      \\\"type\\\": \\\"title\\\",\\n      \\\"title\\\": [\\n        {\\n          \\\"type\\\": \\\"text\\\",\\n          \\\"text\\\": {\\n            \\\"content\\\": \\\"Tuscan kale\\\",\\n            \\\"link\\\": null\\n          },\\n          \\\"annotations\\\": {\\n            \\\"bold\\\": false,\\n            \\\"italic\\\": false,\\n            \\\"strikethrough\\\": false,\\n            \\\"underline\\\": false,\\n            \\\"code\\\": false,\\n            \\\"color\\\": \\\"default\\\"\\n          },\\n          \\\"plain_text\\\": \\\"Tuscan kale\\\",\\n          \\\"href\\\": null\\n        }\\n      ]\\n    }\\n  },\\n  \\\"url\\\": \\\"https://www.notion.so/Tuscan-kale-598337872cf94fdf8782e53db20768a5\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"page\"\n                    },\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"example\": \"59833787-2cf9-4fdf-8782-e53db20768a5\"\n                    },\n                    \"created_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-03-01T19:05:00.000Z\"\n                    },\n                    \"last_edited_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-07-06T20:25:00.000Z\"\n                    },\n                    \"created_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                        }\n                      }\n                    },\n                    \"last_edited_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"0c3e9826-b8f7-4f73-927d-2caaf86f1103\"\n                        }\n                      }\n                    },\n                    \"cover\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"external\"\n                        },\n                        \"external\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"url\": {\n                              \"type\": \"string\",\n                              \"example\": \"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\"\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"icon\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"emoji\"\n                        },\n                        \"emoji\": {\n                          \"type\": \"string\",\n                          \"example\": \"🥬\"\n                        }\n                      }\n                    },\n                    \"parent\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"database_id\"\n                        },\n                        \"database_id\": {\n                          \"type\": \"string\",\n                          \"example\": \"d9824bdc-8445-4327-be8b-5b47500af6ce\"\n                        }\n                      }\n                    },\n                    \"archived\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"properties\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"Store availability\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"%3AUPp\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"multi_select\"\n                            },\n                            \"multi_select\": {\n                              \"type\": \"array\",\n                              \"items\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"t|O@\"\n                                  },\n                                  \"name\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"Gus's Community Market\"\n                                  },\n                                  \"color\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"yellow\"\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        },\n                        \"Food group\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"A%40Hk\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"select\"\n                            },\n                            \"select\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"id\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"5e8e7e8f-432e-4d8a-8166-1821e10225fc\"\n                                },\n                                \"name\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"🥬 Vegetable\"\n                                },\n                                \"color\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"pink\"\n                                }\n                              }\n                            }\n                          }\n                        },\n                        \"Price\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"BJXS\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"number\"\n                            },\n                            \"number\": {\n                              \"type\": \"number\",\n                              \"example\": 2.5,\n                              \"default\": 0\n                            }\n                          }\n                        },\n                        \"Responsible Person\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"Iowm\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"people\"\n                            },\n                            \"people\": {\n                              \"type\": \"array\",\n                              \"items\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"object\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"user\"\n                                  },\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"cbfe3c6e-71cf-4cd3-b6e7-02f38f371bcc\"\n                                  },\n                                  \"name\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"Cristina Cordova\"\n                                  },\n                                  \"avatar_url\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"https://lh6.googleusercontent.com/-rapvfCoTq5A/AAAAAAAAAAI/AAAAAAAAAAA/AKF05nDKmmUpkpFvWNBzvu9rnZEy7cbl8Q/photo.jpg\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"person\"\n                                  },\n                                  \"person\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"email\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"cristina@makenotion.com\"\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        },\n                        \"Last ordered\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"Jsfb\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"date\"\n                            },\n                            \"date\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"start\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"2022-02-22\"\n                                },\n                                \"end\": {},\n                                \"time_zone\": {}\n                              }\n                            }\n                          }\n                        },\n                        \"Cost of next trip\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"WOd%3B\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"formula\"\n                            },\n                            \"formula\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"type\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"number\"\n                                },\n                                \"number\": {\n                                  \"type\": \"integer\",\n                                  \"example\": 0,\n                                  \"default\": 0\n                                }\n                              }\n                            }\n                          }\n                        },\n                        \"Recipes\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"YfIu\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"relation\"\n                            },\n                            \"relation\": {\n                              \"type\": \"array\",\n                              \"items\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"90eeeed8-2cdd-4af4-9cc1-3d24aff5f63c\"\n                                  }\n                                }\n                              }\n                            },\n                            \"has_more\": {\n                              \"type\": \"boolean\",\n                              \"example\": false,\n                              \"default\": true\n                            }\n                          }\n                        },\n                        \"Description\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"_Tc_\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"rich_text\"\n                            },\n                            \"rich_text\": {\n                              \"type\": \"array\",\n                              \"items\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"text\"\n                                  },\n                                  \"text\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"content\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"A dark \"\n                                      },\n                                      \"link\": {}\n                                    }\n                                  },\n                                  \"annotations\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"bold\": {\n                                        \"type\": \"boolean\",\n                                        \"example\": false,\n                                        \"default\": true\n                                      },\n                                      \"italic\": {\n                                        \"type\": \"boolean\",\n                                        \"example\": false,\n                                        \"default\": true\n                                      },\n                                      \"strikethrough\": {\n                                        \"type\": \"boolean\",\n                                        \"example\": false,\n                                        \"default\": true\n                                      },\n                                      \"underline\": {\n                                        \"type\": \"boolean\",\n                                        \"example\": false,\n                                        \"default\": true\n                                      },\n                                      \"code\": {\n                                        \"type\": \"boolean\",\n                                        \"example\": false,\n                                        \"default\": true\n                                      },\n                                      \"color\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"default\"\n                                      }\n                                    }\n                                  },\n                                  \"plain_text\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"A dark \"\n                                  },\n                                  \"href\": {}\n                                }\n                              }\n                            }\n                          }\n                        },\n                        \"In stock\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"%60%5Bq%3F\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"checkbox\"\n                            },\n                            \"checkbox\": {\n                              \"type\": \"boolean\",\n                              \"example\": true,\n                              \"default\": true\n                            }\n                          }\n                        },\n                        \"Number of meals\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"zag~\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"rollup\"\n                            },\n                            \"rollup\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"type\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"number\"\n                                },\n                                \"number\": {\n                                  \"type\": \"integer\",\n                                  \"example\": 2,\n                                  \"default\": 0\n                                },\n                                \"function\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"count\"\n                                }\n                              }\n                            }\n                          }\n                        },\n                        \"Photo\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"%7DF_L\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"url\"\n                            },\n                            \"url\": {\n                              \"type\": \"string\",\n                              \"example\": \"https://i.insider.com/612fb23c9ef1e50018f93198?width=1136&format=jpeg\"\n                            }\n                          }\n                        },\n                        \"Name\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"title\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"title\"\n                            },\n                            \"title\": {\n                              \"type\": \"array\",\n                              \"items\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"text\"\n                                  },\n                                  \"text\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"content\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"Tuscan kale\"\n                                      },\n                                      \"link\": {}\n                                    }\n                                  },\n                                  \"annotations\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"bold\": {\n                                        \"type\": \"boolean\",\n                                        \"example\": false,\n                                        \"default\": true\n                                      },\n                                      \"italic\": {\n                                        \"type\": \"boolean\",\n                                        \"example\": false,\n                                        \"default\": true\n                                      },\n                                      \"strikethrough\": {\n                                        \"type\": \"boolean\",\n                                        \"example\": false,\n                                        \"default\": true\n                                      },\n                                      \"underline\": {\n                                        \"type\": \"boolean\",\n                                        \"example\": false,\n                                        \"default\": true\n                                      },\n                                      \"code\": {\n                                        \"type\": \"boolean\",\n                                        \"example\": false,\n                                        \"default\": true\n                                      },\n                                      \"color\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"default\"\n                                      }\n                                    }\n                                  },\n                                  \"plain_text\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"Tuscan kale\"\n                                  },\n                                  \"href\": {}\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"url\": {\n                      \"type\": \"string\",\n                      \"example\": \"https://www.notion.so/Tuscan-kale-598337872cf94fdf8782e53db20768a5\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const pageId = '59833787-2cf9-4fdf-8782-e53db20768a5';\\n  const response = await notion.pages.retrieve({ page_id: pageId });\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl 'https://api.notion.com/v1/pages/b55c9c91-384d-452b-81db-d1ef79372b75' \\\\\\n  -H 'Notion-Version: 2022-06-28' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"''\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      },\n      \"patch\": {\n        \"summary\": \"Update page\",\n        \"description\": \"\",\n        \"operationId\": \"patch-page\",\n        \"parameters\": [\n          {\n            \"name\": \"page_id\",\n            \"in\": \"path\",\n            \"description\": \"The identifier for the Notion page to be updated.\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"properties\": {\n                    \"type\": \"string\",\n                    \"description\": \"The property values to update for the page. The keys are the names or IDs of the property and the values are property values. If a page property ID is not included, then it is not changed.\",\n                    \"format\": \"json\"\n                  },\n                  \"archived\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"Whether the page is archived (deleted). Set to true to archive a page. Set to false to un-archive (restore) a page.\"\n                  },\n                  \"icon\": {\n                    \"type\": \"string\",\n                    \"description\": \"A page icon for the page. Supported types are [external file object](https://developers.notion.com/reference/file-object) or [emoji object](https://developers.notion.com/reference/emoji-object).\",\n                    \"format\": \"json\"\n                  },\n                  \"cover\": {\n                    \"type\": \"string\",\n                    \"description\": \"A cover image for the page. Only [external file objects](https://developers.notion.com/reference/file-object) are supported.\",\n                    \"format\": \"json\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n\\t\\\"object\\\": \\\"page\\\",\\n\\t\\\"id\\\": \\\"59833787-2cf9-4fdf-8782-e53db20768a5\\\",\\n\\t\\\"created_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n\\t\\\"last_edited_time\\\": \\\"2022-07-06T19:16:00.000Z\\\",\\n\\t\\\"created_by\\\": {\\n\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t},\\n\\t\\\"last_edited_by\\\": {\\n\\t\\t\\\"object\\\": \\\"user\\\",\\n\\t\\t\\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n\\t},\\n\\t\\\"cover\\\": {\\n\\t\\t\\\"type\\\": \\\"external\\\",\\n\\t\\t\\\"external\\\": {\\n\\t\\t\\t\\\"url\\\": \\\"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\\\"\\n\\t\\t}\\n\\t},\\n\\t\\\"icon\\\": {\\n\\t\\t\\\"type\\\": \\\"emoji\\\",\\n\\t\\t\\\"emoji\\\": \\\"🥬\\\"\\n\\t},\\n\\t\\\"parent\\\": {\\n\\t\\t\\\"type\\\": \\\"database_id\\\",\\n\\t\\t\\\"database_id\\\": \\\"d9824bdc-8445-4327-be8b-5b47500af6ce\\\"\\n\\t},\\n\\t\\\"archived\\\": false,\\n\\t\\\"properties\\\": {\\n\\t\\t\\\"Store availability\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"%3AUPp\\\"\\n\\t\\t},\\n\\t\\t\\\"Food group\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"A%40Hk\\\"\\n\\t\\t},\\n\\t\\t\\\"Price\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"BJXS\\\"\\n\\t\\t},\\n\\t\\t\\\"Responsible Person\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"Iowm\\\"\\n\\t\\t},\\n\\t\\t\\\"Last ordered\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"Jsfb\\\"\\n\\t\\t},\\n\\t\\t\\\"Cost of next trip\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"WOd%3B\\\"\\n\\t\\t},\\n\\t\\t\\\"Recipes\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"YfIu\\\"\\n\\t\\t},\\n\\t\\t\\\"Description\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"_Tc_\\\"\\n\\t\\t},\\n\\t\\t\\\"In stock\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"%60%5Bq%3F\\\"\\n\\t\\t},\\n\\t\\t\\\"Number of meals\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"zag~\\\"\\n\\t\\t},\\n\\t\\t\\\"Photo\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"%7DF_L\\\"\\n\\t\\t},\\n\\t\\t\\\"Name\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"title\\\"\\n\\t\\t}\\n\\t},\\n\\t\\\"url\\\": \\\"https://www.notion.so/Tuscan-Kale-598337872cf94fdf8782e53db20768a5\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"page\"\n                    },\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"example\": \"59833787-2cf9-4fdf-8782-e53db20768a5\"\n                    },\n                    \"created_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-03-01T19:05:00.000Z\"\n                    },\n                    \"last_edited_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-07-06T19:16:00.000Z\"\n                    },\n                    \"created_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                        }\n                      }\n                    },\n                    \"last_edited_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                        }\n                      }\n                    },\n                    \"cover\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"external\"\n                        },\n                        \"external\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"url\": {\n                              \"type\": \"string\",\n                              \"example\": \"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\"\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"icon\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"emoji\"\n                        },\n                        \"emoji\": {\n                          \"type\": \"string\",\n                          \"example\": \"🥬\"\n                        }\n                      }\n                    },\n                    \"parent\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"database_id\"\n                        },\n                        \"database_id\": {\n                          \"type\": \"string\",\n                          \"example\": \"d9824bdc-8445-4327-be8b-5b47500af6ce\"\n                        }\n                      }\n                    },\n                    \"archived\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"properties\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"Store availability\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"%3AUPp\"\n                            }\n                          }\n                        },\n                        \"Food group\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"A%40Hk\"\n                            }\n                          }\n                        },\n                        \"Price\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"BJXS\"\n                            }\n                          }\n                        },\n                        \"Responsible Person\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"Iowm\"\n                            }\n                          }\n                        },\n                        \"Last ordered\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"Jsfb\"\n                            }\n                          }\n                        },\n                        \"Cost of next trip\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"WOd%3B\"\n                            }\n                          }\n                        },\n                        \"Recipes\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"YfIu\"\n                            }\n                          }\n                        },\n                        \"Description\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"_Tc_\"\n                            }\n                          }\n                        },\n                        \"In stock\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"%60%5Bq%3F\"\n                            }\n                          }\n                        },\n                        \"Number of meals\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"zag~\"\n                            }\n                          }\n                        },\n                        \"Photo\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"%7DF_L\"\n                            }\n                          }\n                        },\n                        \"Name\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"title\"\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"url\": {\n                      \"type\": \"string\",\n                      \"example\": \"https://www.notion.so/Tuscan-Kale-598337872cf94fdf8782e53db20768a5\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  },\n                  \"has_more is set to true for a page property\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"error\\\",\\n  \\\"status\\\": 400,\\n  \\\"code\\\": \\\"invalid_request\\\",\\n  \\\"message\\\": ”Can't update page because has_more is set to true for page property '${invalidPageProperty}’”\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"description\": \"404\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"error\\\",\\n    \\\"status\\\": 404,\\n    \\\"code\\\": \\\"object_not_found\\\",\\n    \\\"message\\\": \\\"Could not find page with ID: 4cc3b486-0b48-4cfe-8ce9-67c47100eb6a. Make sure the relevant pages and databases are shared with your integration.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"error\"\n                    },\n                    \"status\": {\n                      \"type\": \"integer\",\n                      \"example\": 404,\n                      \"default\": 0\n                    },\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"example\": \"object_not_found\"\n                    },\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"Could not find page with ID: 4cc3b486-0b48-4cfe-8ce9-67c47100eb6a. Make sure the relevant pages and databases are shared with your integration.\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"description\": \"429\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"error\\\",\\n  \\\"status\\\": 429,\\n  \\\"code\\\": \\\"rate_limited\\\",\\n  \\\"message\\\": \\\"You have been rate limited. Please try again in a few minutes.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"error\"\n                    },\n                    \"status\": {\n                      \"type\": \"integer\",\n                      \"example\": 429,\n                      \"default\": 0\n                    },\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"example\": \"rate_limited\"\n                    },\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"You have been rate limited. Please try again in a few minutes.\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const pageId = '59833787-2cf9-4fdf-8782-e53db20768a5';\\n  const response = await notion.pages.update({\\n    page_id: pageId,\\n    properties: {\\n      'In stock': {\\n        checkbox: true,\\n      },\\n    },\\n  });\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl https://api.notion.com/v1/pages/60bdc8bd-3880-44b8-a9cd-8a145b3ffbd7 \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Notion-Version: 2022-06-28\\\" \\\\\\n  -X PATCH \\\\\\n\\t--data '{\\n  \\\"properties\\\": {\\n    \\\"In stock\\\": { \\\"checkbox\\\": true }\\n  }\\n}'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/pages\": {\n      \"post\": {\n        \"summary\": \"Create a page\",\n        \"description\": \"\",\n        \"operationId\": \"post-page\",\n        \"parameters\": [\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\n                  \"parent\",\n                  \"properties\"\n                ],\n                \"properties\": {\n                  \"parent\": {\n                    \"type\": \"string\",\n                    \"description\": \"The parent page or database where the new page is inserted, represented as a JSON object with a `page_id` or `database_id` key, and the corresponding ID.\",\n                    \"format\": \"json\"\n                  },\n                  \"properties\": {\n                    \"type\": \"string\",\n                    \"description\": \"The values of the page’s properties. If the `parent` is a database, then the schema must match the parent database’s properties. If the `parent` is a page, then the only valid object key is `title`.\",\n                    \"format\": \"json\"\n                  },\n                  \"children\": {\n                    \"type\": \"array\",\n                    \"description\": \"The content to be rendered on the new page, represented as an array of [block objects](https://developers.notion.com/reference/block).\",\n                    \"items\": {\n                      \"type\": \"string\"\n                    }\n                  },\n                  \"icon\": {\n                    \"type\": \"string\",\n                    \"description\": \"The icon of the new page. Either an [emoji object](https://developers.notion.com/reference/emoji-object) or an [external file object](https://developers.notion.com/reference/file-object)..\",\n                    \"format\": \"json\"\n                  },\n                  \"cover\": {\n                    \"type\": \"string\",\n                    \"description\": \"The cover image of the new page, represented as a [file object](https://developers.notion.com/reference/file-object).\",\n                    \"format\": \"json\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"page\\\",\\n  \\\"id\\\": \\\"59833787-2cf9-4fdf-8782-e53db20768a5\\\",\\n  \\\"created_time\\\": \\\"2022-03-01T19:05:00.000Z\\\",\\n  \\\"last_edited_time\\\": \\\"2022-07-06T19:16:00.000Z\\\",\\n  \\\"created_by\\\": {\\n    \\\"object\\\": \\\"user\\\",\\n    \\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n  },\\n  \\\"last_edited_by\\\": {\\n    \\\"object\\\": \\\"user\\\",\\n    \\\"id\\\": \\\"ee5f0f84-409a-440f-983a-a5315961c6e4\\\"\\n  },\\n  \\\"cover\\\": {\\n    \\\"type\\\": \\\"external\\\",\\n    \\\"external\\\": {\\n      \\\"url\\\": \\\"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\\\"\\n    }\\n  },\\n  \\\"icon\\\": {\\n    \\\"type\\\": \\\"emoji\\\",\\n    \\\"emoji\\\": \\\"🥬\\\"\\n  },\\n  \\\"parent\\\": {\\n    \\\"type\\\": \\\"database_id\\\",\\n    \\\"database_id\\\": \\\"d9824bdc-8445-4327-be8b-5b47500af6ce\\\"\\n  },\\n  \\\"archived\\\": false,\\n  \\\"properties\\\": {\\n    \\\"Store availability\\\": {\\n      \\\"id\\\": \\\"%3AUPp\\\"\\n    },\\n    \\\"Food group\\\": {\\n      \\\"id\\\": \\\"A%40Hk\\\"\\n    },\\n    \\\"Price\\\": {\\n      \\\"id\\\": \\\"BJXS\\\"\\n    },\\n    \\\"Responsible Person\\\": {\\n      \\\"id\\\": \\\"Iowm\\\"\\n    },\\n    \\\"Last ordered\\\": {\\n      \\\"id\\\": \\\"Jsfb\\\"\\n    },\\n    \\\"Cost of next trip\\\": {\\n      \\\"id\\\": \\\"WOd%3B\\\"\\n    },\\n    \\\"Recipes\\\": {\\n      \\\"id\\\": \\\"YfIu\\\"\\n    },\\n    \\\"Description\\\": {\\n      \\\"id\\\": \\\"_Tc_\\\"\\n    },\\n    \\\"In stock\\\": {\\n      \\\"id\\\": \\\"%60%5Bq%3F\\\"\\n    },\\n    \\\"Number of meals\\\": {\\n      \\\"id\\\": \\\"zag~\\\"\\n    },\\n    \\\"Photo\\\": {\\n      \\\"id\\\": \\\"%7DF_L\\\"\\n    },\\n    \\\"Name\\\": {\\n      \\\"id\\\": \\\"title\\\"\\n    }\\n  },\\n  \\\"url\\\": \\\"https://www.notion.so/Tuscan-Kale-598337872cf94fdf8782e53db20768a5\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"page\"\n                    },\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"example\": \"59833787-2cf9-4fdf-8782-e53db20768a5\"\n                    },\n                    \"created_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-03-01T19:05:00.000Z\"\n                    },\n                    \"last_edited_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-07-06T19:16:00.000Z\"\n                    },\n                    \"created_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                        }\n                      }\n                    },\n                    \"last_edited_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"ee5f0f84-409a-440f-983a-a5315961c6e4\"\n                        }\n                      }\n                    },\n                    \"cover\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"external\"\n                        },\n                        \"external\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"url\": {\n                              \"type\": \"string\",\n                              \"example\": \"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\"\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"icon\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"emoji\"\n                        },\n                        \"emoji\": {\n                          \"type\": \"string\",\n                          \"example\": \"🥬\"\n                        }\n                      }\n                    },\n                    \"parent\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"database_id\"\n                        },\n                        \"database_id\": {\n                          \"type\": \"string\",\n                          \"example\": \"d9824bdc-8445-4327-be8b-5b47500af6ce\"\n                        }\n                      }\n                    },\n                    \"archived\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"properties\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"Store availability\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"%3AUPp\"\n                            }\n                          }\n                        },\n                        \"Food group\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"A%40Hk\"\n                            }\n                          }\n                        },\n                        \"Price\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"BJXS\"\n                            }\n                          }\n                        },\n                        \"Responsible Person\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"Iowm\"\n                            }\n                          }\n                        },\n                        \"Last ordered\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"Jsfb\"\n                            }\n                          }\n                        },\n                        \"Cost of next trip\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"WOd%3B\"\n                            }\n                          }\n                        },\n                        \"Recipes\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"YfIu\"\n                            }\n                          }\n                        },\n                        \"Description\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"_Tc_\"\n                            }\n                          }\n                        },\n                        \"In stock\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"%60%5Bq%3F\"\n                            }\n                          }\n                        },\n                        \"Number of meals\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"zag~\"\n                            }\n                          }\n                        },\n                        \"Photo\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"%7DF_L\"\n                            }\n                          }\n                        },\n                        \"Name\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"title\"\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"url\": {\n                      \"type\": \"string\",\n                      \"example\": \"https://www.notion.so/Tuscan-Kale-598337872cf94fdf8782e53db20768a5\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"description\": \"404\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"error\\\",\\n    \\\"status\\\": 404,\\n    \\\"code\\\": \\\"object_not_found\\\",\\n    \\\"message\\\": \\\"Could not find page with ID: 4cc3b486-0b48-4cfe-8ce9-67c47100eb6a. Make sure the relevant pages and databases are shared with your integration.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"error\"\n                    },\n                    \"status\": {\n                      \"type\": \"integer\",\n                      \"example\": 404,\n                      \"default\": 0\n                    },\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"example\": \"object_not_found\"\n                    },\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"Could not find page with ID: 4cc3b486-0b48-4cfe-8ce9-67c47100eb6a. Make sure the relevant pages and databases are shared with your integration.\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"description\": \"429\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"error\\\",\\n  \\\"status\\\": 429,\\n  \\\"code\\\": \\\"rate_limited\\\",\\n  \\\"message\\\": \\\"You have been rate limited. Please try again in a few minutes.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"error\"\n                    },\n                    \"status\": {\n                      \"type\": \"integer\",\n                      \"example\": 429,\n                      \"default\": 0\n                    },\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"example\": \"rate_limited\"\n                    },\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"You have been rate limited. Please try again in a few minutes.\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const response = await notion.pages.create({\\n    \\\"cover\\\": {\\n        \\\"type\\\": \\\"external\\\",\\n        \\\"external\\\": {\\n            \\\"url\\\": \\\"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\\\"\\n        }\\n    },\\n    \\\"icon\\\": {\\n        \\\"type\\\": \\\"emoji\\\",\\n        \\\"emoji\\\": \\\"🥬\\\"\\n    },\\n    \\\"parent\\\": {\\n        \\\"type\\\": \\\"database_id\\\",\\n        \\\"database_id\\\": \\\"d9824bdc-8445-4327-be8b-5b47500af6ce\\\"\\n    },\\n    \\\"properties\\\": {\\n        \\\"Name\\\": {\\n            \\\"title\\\": [\\n                {\\n                    \\\"text\\\": {\\n                        \\\"content\\\": \\\"Tuscan kale\\\"\\n                    }\\n                }\\n            ]\\n        },\\n        \\\"Description\\\": {\\n            \\\"rich_text\\\": [\\n                {\\n                    \\\"text\\\": {\\n                        \\\"content\\\": \\\"A dark green leafy vegetable\\\"\\n                    }\\n                }\\n            ]\\n        },\\n        \\\"Food group\\\": {\\n            \\\"select\\\": {\\n                \\\"name\\\": \\\"🥬 Vegetable\\\"\\n            }\\n        }\\n    },\\n    \\\"children\\\": [\\n        {\\n            \\\"object\\\": \\\"block\\\",\\n            \\\"heading_2\\\": {\\n                \\\"rich_text\\\": [\\n                    {\\n                        \\\"text\\\": {\\n                            \\\"content\\\": \\\"Lacinato kale\\\"\\n                        }\\n                    }\\n                ]\\n            }\\n        },\\n        {\\n            \\\"object\\\": \\\"block\\\",\\n            \\\"paragraph\\\": {\\n                \\\"rich_text\\\": [\\n                    {\\n                        \\\"text\\\": {\\n                            \\\"content\\\": \\\"Lacinato kale is a variety of kale with a long tradition in Italian cuisine, especially that of Tuscany. It is also known as Tuscan kale, Italian kale, dinosaur kale, kale, flat back kale, palm tree kale, or black Tuscan palm.\\\",\\n                            \\\"link\\\": {\\n                                \\\"url\\\": \\\"https://en.wikipedia.org/wiki/Lacinato_kale\\\"\\n                            }\\n                        },\\n                        \\\"href\\\": \\\"https://en.wikipedia.org/wiki/Lacinato_kale\\\"\\n                    }\\n                ],\\n                \\\"color\\\": \\\"default\\\"\\n            }\\n        }\\n    ]\\n});\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl 'https://api.notion.com/v1/pages' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Notion-Version: 2022-06-28\\\" \\\\\\n  --data '{\\n\\t\\\"parent\\\": { \\\"database_id\\\": \\\"d9824bdc84454327be8b5b47500af6ce\\\" },\\n  \\\"icon\\\": {\\n  \\t\\\"emoji\\\": \\\"🥬\\\"\\n  },\\n\\t\\\"cover\\\": {\\n\\t\\t\\\"external\\\": {\\n\\t\\t\\t\\\"url\\\": \\\"https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg\\\"\\n\\t\\t}\\n\\t},\\n\\t\\\"properties\\\": {\\n\\t\\t\\\"Name\\\": {\\n\\t\\t\\t\\\"title\\\": [\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\\"text\\\": {\\n\\t\\t\\t\\t\\t\\t\\\"content\\\": \\\"Tuscan Kale\\\"\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t]\\n\\t\\t},\\n\\t\\t\\\"Description\\\": {\\n\\t\\t\\t\\\"rich_text\\\": [\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\\"text\\\": {\\n\\t\\t\\t\\t\\t\\t\\\"content\\\": \\\"A dark green leafy vegetable\\\"\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t]\\n\\t\\t},\\n\\t\\t\\\"Food group\\\": {\\n\\t\\t\\t\\\"select\\\": {\\n\\t\\t\\t\\t\\\"name\\\": \\\"Vegetable\\\"\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\t\\\"Price\\\": { \\\"number\\\": 2.5 }\\n\\t},\\n\\t\\\"children\\\": [\\n\\t\\t{\\n\\t\\t\\t\\\"object\\\": \\\"block\\\",\\n\\t\\t\\t\\\"type\\\": \\\"heading_2\\\",\\n\\t\\t\\t\\\"heading_2\\\": {\\n\\t\\t\\t\\t\\\"rich_text\\\": [{ \\\"type\\\": \\\"text\\\", \\\"text\\\": { \\\"content\\\": \\\"Lacinato kale\\\" } }]\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\\"object\\\": \\\"block\\\",\\n\\t\\t\\t\\\"type\\\": \\\"paragraph\\\",\\n\\t\\t\\t\\\"paragraph\\\": {\\n\\t\\t\\t\\t\\\"rich_text\\\": [\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\\"type\\\": \\\"text\\\",\\n\\t\\t\\t\\t\\t\\t\\\"text\\\": {\\n\\t\\t\\t\\t\\t\\t\\t\\\"content\\\": \\\"Lacinato kale is a variety of kale with a long tradition in Italian cuisine, especially that of Tuscany. It is also known as Tuscan kale, Italian kale, dinosaur kale, kale, flat back kale, palm tree kale, or black Tuscan palm.\\\",\\n\\t\\t\\t\\t\\t\\t\\t\\\"link\\\": { \\\"url\\\": \\\"https://en.wikipedia.org/wiki/Lacinato_kale\\\" }\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t]\\n\\t\\t\\t}\\n\\t\\t}\\n\\t]\\n}'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/databases\": {\n      \"post\": {\n        \"summary\": \"Create a database\",\n        \"description\": \"\",\n        \"operationId\": \"create-a-database\",\n        \"parameters\": [\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\n                  \"parent\",\n                  \"properties\"\n                ],\n                \"properties\": {\n                  \"parent\": {\n                    \"type\": \"string\",\n                    \"description\": \"A [page parent](/reference/database#page-parent)\",\n                    \"format\": \"json\"\n                  },\n                  \"title\": {\n                    \"type\": \"array\",\n                    \"description\": \"Title of database as it appears in Notion. An array of [rich text objects](ref:rich-text).\"\n                  },\n                  \"properties\": {\n                    \"type\": \"string\",\n                    \"description\": \"Property schema of database. The keys are the names of properties as they appear in Notion and the values are [property schema objects](https://developers.notion.com/reference/property-schema-object).\",\n                    \"format\": \"json\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"database\\\",\\n    \\\"id\\\": \\\"bc1211ca-e3f1-4939-ae34-5260b16f627c\\\",\\n    \\\"created_time\\\": \\\"2021-07-08T23:50:00.000Z\\\",\\n    \\\"last_edited_time\\\": \\\"2021-07-08T23:50:00.000Z\\\",\\n    \\\"icon\\\": {\\n        \\\"type\\\": \\\"emoji\\\",\\n        \\\"emoji\\\": \\\"🎉\\\"\\n    },\\n    \\\"cover\\\": {\\n        \\\"type\\\": \\\"external\\\",\\n        \\\"external\\\": {\\n            \\\"url\\\": \\\"https://website.domain/images/image.png\\\"\\n        }\\n    },\\n    \\\"url\\\": \\\"https://www.notion.so/bc1211cae3f14939ae34260b16f627c\\\",\\n    \\\"title\\\": [\\n        {\\n            \\\"type\\\": \\\"text\\\",\\n            \\\"text\\\": {\\n                \\\"content\\\": \\\"Grocery List\\\",\\n                \\\"link\\\": null\\n            },\\n            \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n            },\\n            \\\"plain_text\\\": \\\"Grocery List\\\",\\n            \\\"href\\\": null\\n        }\\n    ],\\n    \\\"properties\\\": {\\n        \\\"+1\\\": {\\n            \\\"id\\\": \\\"Wp%3DC\\\",\\n            \\\"name\\\": \\\"+1\\\",\\n            \\\"type\\\": \\\"people\\\",\\n            \\\"people\\\": {}\\n        },\\n        \\\"In stock\\\": {\\n            \\\"id\\\": \\\"fk%5EY\\\",\\n            \\\"name\\\": \\\"In stock\\\",\\n            \\\"type\\\": \\\"checkbox\\\",\\n            \\\"checkbox\\\": {}\\n        },\\n        \\\"Price\\\": {\\n            \\\"id\\\": \\\"evWq\\\",\\n            \\\"name\\\": \\\"Price\\\",\\n            \\\"type\\\": \\\"number\\\",\\n            \\\"number\\\": {\\n                \\\"format\\\": \\\"dollar\\\"\\n            }\\n        },\\n        \\\"Description\\\": {\\n            \\\"id\\\": \\\"V}lX\\\",\\n            \\\"name\\\": \\\"Description\\\",\\n            \\\"type\\\": \\\"rich_text\\\",\\n            \\\"rich_text\\\": {}\\n        },\\n        \\\"Last ordered\\\": {\\n            \\\"id\\\": \\\"eVnV\\\",\\n            \\\"name\\\": \\\"Last ordered\\\",\\n            \\\"type\\\": \\\"date\\\",\\n            \\\"date\\\": {}\\n        },\\n        \\\"Meals\\\": {\\n            \\\"id\\\": \\\"%7DWA~\\\",\\n            \\\"name\\\": \\\"Meals\\\",\\n            \\\"type\\\": \\\"relation\\\",\\n            \\\"relation\\\": {\\n                \\\"database_id\\\": \\\"668d797c-76fa-4934-9b05-ad288df2d136\\\",\\n                \\\"single_property\\\": {}\\n            }\\n        },\\n        \\\"Number of meals\\\": {\\n            \\\"id\\\": \\\"Z\\\\\\\\Eh\\\",\\n            \\\"name\\\": \\\"Number of meals\\\",\\n            \\\"type\\\": \\\"rollup\\\",\\n            \\\"rollup\\\": {\\n                \\\"rollup_property_name\\\": \\\"Name\\\",\\n                \\\"relation_property_name\\\": \\\"Meals\\\",\\n                \\\"rollup_property_id\\\": \\\"title\\\",\\n                \\\"relation_property_id\\\": \\\"mxp^\\\",\\n                \\\"function\\\": \\\"count\\\"\\n            }\\n        },\\n        \\\"Store availability\\\": {\\n            \\\"id\\\": \\\"s}Kq\\\",\\n            \\\"name\\\": \\\"Store availability\\\",\\n            \\\"type\\\": \\\"multi_select\\\",\\n            \\\"multi_select\\\": {\\n                \\\"options\\\": [\\n                    {\\n                        \\\"id\\\": \\\"cb79b393-d1c1-4528-b517-c450859de766\\\",\\n                        \\\"name\\\": \\\"Duc Loi Market\\\",\\n                        \\\"color\\\": \\\"blue\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"58aae162-75d4-403b-a793-3bc7308e4cd2\\\",\\n                        \\\"name\\\": \\\"Rainbow Grocery\\\",\\n                        \\\"color\\\": \\\"gray\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"22d0f199-babc-44ff-bd80-a9eae3e3fcbf\\\",\\n                        \\\"name\\\": \\\"Nijiya Market\\\",\\n                        \\\"color\\\": \\\"purple\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"0d069987-ffb0-4347-bde2-8e4068003dbc\\\",\\n                        \\\"name\\\": \\\"Gus's Community Market\\\",\\n                        \\\"color\\\": \\\"yellow\\\"\\n                    }\\n                ]\\n            }\\n        },\\n        \\\"Photo\\\": {\\n            \\\"id\\\": \\\"yfiK\\\",\\n            \\\"name\\\": \\\"Photo\\\",\\n            \\\"type\\\": \\\"files\\\",\\n            \\\"files\\\": {}\\n        },\\n        \\\"Food group\\\": {\\n            \\\"id\\\": \\\"CM%3EH\\\",\\n            \\\"name\\\": \\\"Food group\\\",\\n            \\\"type\\\": \\\"select\\\",\\n            \\\"select\\\": {\\n                \\\"options\\\": [\\n                    {\\n                        \\\"id\\\": \\\"6d4523fa-88cb-4ffd-9364-1e39d0f4e566\\\",\\n                        \\\"name\\\": \\\"🥦Vegetable\\\",\\n                        \\\"color\\\": \\\"green\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"268d7e75-de8f-4c4b-8b9d-de0f97021833\\\",\\n                        \\\"name\\\": \\\"🍎Fruit\\\",\\n                        \\\"color\\\": \\\"red\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"1b234a00-dc97-489c-b987-829264cfdfef\\\",\\n                        \\\"name\\\": \\\"💪Protein\\\",\\n                        \\\"color\\\": \\\"yellow\\\"\\n                    }\\n                ]\\n            }\\n        },\\n        \\\"Name\\\": {\\n            \\\"id\\\": \\\"title\\\",\\n            \\\"name\\\": \\\"Name\\\",\\n            \\\"type\\\": \\\"title\\\",\\n            \\\"title\\\": {}\\n        }\\n    },\\n    \\\"parent\\\": {\\n        \\\"type\\\": \\\"page_id\\\",\\n        \\\"page_id\\\": \\\"98ad959b-2b6a-4774-80ee-00246fb0ea9b\\\"\\n    },\\n    \\\"archived\\\": false\\n}{\\n    \\\"object\\\": \\\"database\\\",\\n    \\\"id\\\": \\\"bc1211ca-e3f1-4939-ae34-5260b16f627c\\\",\\n    \\\"created_time\\\": \\\"2021-07-08T23:50:00.000Z\\\",\\n    \\\"last_edited_time\\\": \\\"2021-07-08T23:50:00.000Z\\\",\\n    \\\"icon\\\": {\\n        \\\"type\\\": \\\"emoji\\\",\\n        \\\"emoji\\\": \\\"🎉\\\"\\n    },\\n    \\\"cover\\\": {\\n        \\\"type\\\": \\\"external\\\",\\n        \\\"external\\\": {\\n            \\\"url\\\": \\\"https://website.domain/images/image.png\\\"\\n        }\\n    },\\n    \\\"url\\\": \\\"https://www.notion.so/bc1211cae3f14939ae34260b16f627c\\\",\\n    \\\"title\\\": [\\n        {\\n            \\\"type\\\": \\\"text\\\",\\n            \\\"text\\\": {\\n                \\\"content\\\": \\\"Grocery List\\\",\\n                \\\"link\\\": null\\n            },\\n            \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n            },\\n            \\\"plain_text\\\": \\\"Grocery List\\\",\\n            \\\"href\\\": null\\n        }\\n    ],\\n    \\\"properties\\\": {\\n        \\\"+1\\\": {\\n            \\\"id\\\": \\\"Wp%3DC\\\",\\n            \\\"name\\\": \\\"+1\\\",\\n            \\\"type\\\": \\\"people\\\",\\n            \\\"people\\\": {}\\n        },\\n        \\\"In stock\\\": {\\n            \\\"id\\\": \\\"fk%5EY\\\",\\n            \\\"name\\\": \\\"In stock\\\",\\n            \\\"type\\\": \\\"checkbox\\\",\\n            \\\"checkbox\\\": {}\\n        },\\n        \\\"Price\\\": {\\n            \\\"id\\\": \\\"evWq\\\",\\n            \\\"name\\\": \\\"Price\\\",\\n            \\\"type\\\": \\\"number\\\",\\n            \\\"number\\\": {\\n                \\\"format\\\": \\\"dollar\\\"\\n            }\\n        },\\n        \\\"Description\\\": {\\n            \\\"id\\\": \\\"V}lX\\\",\\n            \\\"name\\\": \\\"Description\\\",\\n            \\\"type\\\": \\\"rich_text\\\",\\n            \\\"rich_text\\\": {}\\n        },\\n        \\\"Last ordered\\\": {\\n            \\\"id\\\": \\\"eVnV\\\",\\n            \\\"name\\\": \\\"Last ordered\\\",\\n            \\\"type\\\": \\\"date\\\",\\n            \\\"date\\\": {}\\n        },\\n        \\\"Meals\\\": {\\n            \\\"id\\\": \\\"%7DWA~\\\",\\n            \\\"name\\\": \\\"Meals\\\",\\n            \\\"type\\\": \\\"relation\\\",\\n            \\\"relation\\\": {\\n                \\\"database_id\\\": \\\"668d797c-76fa-4934-9b05-ad288df2d136\\\",\\n                \\\"synced_property_name\\\": \\\"Related to Grocery List (Meals)\\\"\\n            }\\n        },\\n        \\\"Number of meals\\\": {\\n            \\\"id\\\": \\\"Z\\\\\\\\Eh\\\",\\n            \\\"name\\\": \\\"Number of meals\\\",\\n            \\\"type\\\": \\\"rollup\\\",\\n            \\\"rollup\\\": {\\n                \\\"rollup_property_name\\\": \\\"Name\\\",\\n                \\\"relation_property_name\\\": \\\"Meals\\\",\\n                \\\"rollup_property_id\\\": \\\"title\\\",\\n                \\\"relation_property_id\\\": \\\"mxp^\\\",\\n                \\\"function\\\": \\\"count\\\"\\n            }\\n        },\\n        \\\"Store availability\\\": {\\n            \\\"id\\\": \\\"s}Kq\\\",\\n            \\\"name\\\": \\\"Store availability\\\",\\n            \\\"type\\\": \\\"multi_select\\\",\\n            \\\"multi_select\\\": {\\n                \\\"options\\\": [\\n                    {\\n                        \\\"id\\\": \\\"cb79b393-d1c1-4528-b517-c450859de766\\\",\\n                        \\\"name\\\": \\\"Duc Loi Market\\\",\\n                        \\\"color\\\": \\\"blue\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"58aae162-75d4-403b-a793-3bc7308e4cd2\\\",\\n                        \\\"name\\\": \\\"Rainbow Grocery\\\",\\n                        \\\"color\\\": \\\"gray\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"22d0f199-babc-44ff-bd80-a9eae3e3fcbf\\\",\\n                        \\\"name\\\": \\\"Nijiya Market\\\",\\n                        \\\"color\\\": \\\"purple\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"0d069987-ffb0-4347-bde2-8e4068003dbc\\\",\\n                        \\\"name\\\": \\\"Gus's Community Market\\\",\\n                        \\\"color\\\": \\\"yellow\\\"\\n                    }\\n                ]\\n            }\\n        },\\n        \\\"Photo\\\": {\\n            \\\"id\\\": \\\"yfiK\\\",\\n            \\\"name\\\": \\\"Photo\\\",\\n            \\\"type\\\": \\\"files\\\",\\n            \\\"files\\\": {}\\n        },\\n        \\\"Food group\\\": {\\n            \\\"id\\\": \\\"CM%3EH\\\",\\n            \\\"name\\\": \\\"Food group\\\",\\n            \\\"type\\\": \\\"select\\\",\\n            \\\"select\\\": {\\n                \\\"options\\\": [\\n                    {\\n                        \\\"id\\\": \\\"6d4523fa-88cb-4ffd-9364-1e39d0f4e566\\\",\\n                        \\\"name\\\": \\\"🥦Vegetable\\\",\\n                        \\\"color\\\": \\\"green\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"268d7e75-de8f-4c4b-8b9d-de0f97021833\\\",\\n                        \\\"name\\\": \\\"🍎Fruit\\\",\\n                        \\\"color\\\": \\\"red\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"1b234a00-dc97-489c-b987-829264cfdfef\\\",\\n                        \\\"name\\\": \\\"💪Protein\\\",\\n                        \\\"color\\\": \\\"yellow\\\"\\n                    }\\n                ]\\n            }\\n        },\\n        \\\"Name\\\": {\\n            \\\"id\\\": \\\"title\\\",\\n            \\\"name\\\": \\\"Name\\\",\\n            \\\"type\\\": \\\"title\\\",\\n            \\\"title\\\": {}\\n        }\\n    },\\n    \\\"parent\\\": {\\n        \\\"type\\\": \\\"page_id\\\",\\n        \\\"page_id\\\": \\\"98ad959b-2b6a-4774-80ee-00246fb0ea9b\\\"\\n    },\\n    \\\"archived\\\": false,\\n    \\\"is_inline\\\": false\\n}\"\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl --location --request POST 'https://api.notion.com/v1/databases/' \\\\\\n--header 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n--header 'Content-Type: application/json' \\\\\\n--header 'Notion-Version: 2022-06-28' \\\\\\n--data '{\\n    \\\"parent\\\": {\\n        \\\"type\\\": \\\"page_id\\\",\\n        \\\"page_id\\\": \\\"98ad959b-2b6a-4774-80ee-00246fb0ea9b\\\"\\n    },\\n    \\\"icon\\\": {\\n    \\t\\\"type\\\": \\\"emoji\\\",\\n\\t\\t\\t\\\"emoji\\\": \\\"📝\\\"\\n  \\t},\\n  \\t\\\"cover\\\": {\\n  \\t\\t\\\"type\\\": \\\"external\\\",\\n    \\t\\\"external\\\": {\\n    \\t\\t\\\"url\\\": \\\"https://website.domain/images/image.png\\\"\\n    \\t}\\n  \\t},\\n    \\\"title\\\": [\\n        {\\n            \\\"type\\\": \\\"text\\\",\\n            \\\"text\\\": {\\n                \\\"content\\\": \\\"Grocery List\\\",\\n                \\\"link\\\": null\\n            }\\n        }\\n    ],\\n    \\\"properties\\\": {\\n        \\\"Name\\\": {\\n            \\\"title\\\": {}\\n        },\\n        \\\"Description\\\": {\\n            \\\"rich_text\\\": {}\\n        },\\n        \\\"In stock\\\": {\\n            \\\"checkbox\\\": {}\\n        },\\n        \\\"Food group\\\": {\\n            \\\"select\\\": {\\n                \\\"options\\\": [\\n                    {\\n                        \\\"name\\\": \\\"🥦Vegetable\\\",\\n                        \\\"color\\\": \\\"green\\\"\\n                    },\\n                    {\\n                        \\\"name\\\": \\\"🍎Fruit\\\",\\n                        \\\"color\\\": \\\"red\\\"\\n                    },\\n                    {\\n                        \\\"name\\\": \\\"💪Protein\\\",\\n                        \\\"color\\\": \\\"yellow\\\"\\n                    }\\n                ]\\n            }\\n        },\\n        \\\"Price\\\": {\\n            \\\"number\\\": {\\n                \\\"format\\\": \\\"dollar\\\"\\n            }\\n        },\\n        \\\"Last ordered\\\": {\\n            \\\"date\\\": {}\\n        },\\n        \\\"Meals\\\": {\\n          \\\"relation\\\": {\\n            \\\"database_id\\\": \\\"668d797c-76fa-4934-9b05-ad288df2d136\\\",\\n            \\\"single_property\\\": {}\\n          }\\n    \\t\\t},\\n        \\\"Number of meals\\\": {\\n          \\\"rollup\\\": {\\n            \\\"rollup_property_name\\\": \\\"Name\\\",\\n            \\\"relation_property_name\\\": \\\"Meals\\\",\\n            \\\"function\\\": \\\"count\\\"\\n          }\\n        },\\n        \\\"Store availability\\\": {\\n            \\\"type\\\": \\\"multi_select\\\",\\n            \\\"multi_select\\\": {\\n                \\\"options\\\": [\\n                    {\\n                        \\\"name\\\": \\\"Duc Loi Market\\\",\\n                        \\\"color\\\": \\\"blue\\\"\\n                    },\\n                    {\\n                        \\\"name\\\": \\\"Rainbow Grocery\\\",\\n                        \\\"color\\\": \\\"gray\\\"\\n                    },\\n                    {\\n                        \\\"name\\\": \\\"Nijiya Market\\\",\\n                        \\\"color\\\": \\\"purple\\\"\\n                    },\\n                    {\\n                        \\\"name\\\": \\\"Gus'\\\\''s Community Market\\\",\\n                        \\\"color\\\": \\\"yellow\\\"\\n                    }\\n                ]\\n            }\\n        },\\n        \\\"+1\\\": {\\n            \\\"people\\\": {}\\n        },\\n        \\\"Photo\\\": {\\n            \\\"files\\\": {}\\n        }\\n    }\\n}'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"curl\"\n          ]\n        }\n      },\n      \"get\": {\n        \"summary\": \"List databases (deprecated)\",\n        \"description\": \"\",\n        \"operationId\": \"get-databases\",\n        \"parameters\": [\n          {\n            \"name\": \"start_cursor\",\n            \"in\": \"query\",\n            \"description\": \"If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results.\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"page_size\",\n            \"in\": \"query\",\n            \"description\": \"The number of items from the full list desired in the response. Maximum: 100\",\n            \"schema\": {\n              \"type\": \"integer\",\n              \"format\": \"int32\",\n              \"default\": 100\n            }\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2021-08-16\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"list\\\",\\n  \\\"results\\\": [\\n    {\\n      \\\"object\\\": \\\"database\\\",\\n      \\\"id\\\": \\\"668d797c-76fa-4934-9b05-ad288df2d136\\\",\\n      \\\"created_time\\\": \\\"2021-05-12T19:34:00.000Z\\\",\\n      \\\"last_edited_time\\\": \\\"2021-05-13T04:55:00.000Z\\\",\\n      \\\"parent\\\": {\\n\\t\\t    \\\"type\\\": \\\"page_id\\\",\\n   \\t\\t  \\\"page_id\\\": \\\"48f8fee9-cd79-4180-bc2f-ec0398253067\\\"\\n      },\\n      \\\"title\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": {\\\"content\\\": \\\"Grocery List\\\", \\\"link\\\": null}, \\\"annotations\\\": {\\\"bold\\\": false, \\\"italic\\\": false, \\\"strikethrough\\\": false, \\\"underline\\\": false, \\\"code\\\": false, \\\"color\\\": \\\"default\\\"}, \\\"plain_text\\\": \\\"Grocery List\\\", \\\"href\\\": null}],\\n      \\\"icon\\\": {\\n    \\t\\t\\\"type\\\": \\\"emoji\\\",\\n    \\t\\t\\\"emoji\\\": \\\"🎉\\\"\\n \\t\\t\\t},\\n  \\t\\t\\\"cover\\\": {\\n  \\t\\t\\t\\\"type\\\": \\\"external\\\",\\n    \\t\\t\\\"external\\\": {\\n    \\t\\t\\t\\\"url\\\": \\\"https://website.domain/images/image.png\\\"\\n    \\t\\t}\\n  \\t\\t},\\n      \\\"properties\\\": {\\n        \\\"Description\\\": {\\n          \\\"id\\\": \\\">otN\\\",\\n          \\\"name\\\": \\\"Description\\\",\\n          \\\"type\\\": \\\"rich_text\\\",\\n          \\\"rich_text\\\": {}\\n        }\\n      }\\n    },\\n    {\\n      \\\"object\\\": \\\"database\\\",\\n      \\\"id\\\": \\\"74ba0cb2-732c-4d2f-954a-fcaa0d93a898\\\",\\n      \\\"created_time\\\": \\\"2021-05-12T19:34:00.000Z\\\",\\n      \\\"last_edited_time\\\": \\\"2021-05-13T04:55:00.000Z\\\",\\n      \\\"parent\\\": {\\n\\t\\t    \\\"type\\\": \\\"workspace\\\",\\n        \\\"workspace\\\": true\\n      },\\n      \\\"title\\\": [{\\\"type\\\":\\\" text\\\", \\\"text\\\": {\\\"content\\\": \\\"Pantry\\\", \\\"link\\\": null}, \\\"annotations\\\": {\\\"bold\\\": false, \\\"italic\\\": false, \\\"strikethrough\\\": false, \\\"underline\\\": false, \\\"code\\\": false, \\\"color\\\": \\\"default\\\"}, \\\"plain_text\\\": \\\"Pantry\\\", \\\"href\\\": null}],\\n      \\\"icon\\\": {\\n    \\t\\t\\\"type\\\": \\\"emoji\\\",\\n    \\t\\t\\\"emoji\\\": \\\"🚀\\\"\\n \\t\\t\\t},\\n      \\\"cover\\\": null,\\n      \\\"properties\\\": {\\n        \\\"Description\\\": {\\n          \\\"id\\\": \\\"Y:FB\\\",\\n          \\\"name\\\": \\\"Description\\\",\\n          \\\"type\\\": \\\"rich_text\\\",\\n          \\\"rich_text\\\": {}\\n        }\\n      }\\n    }\\n  ],\\n  \\\"next_cursor\\\": null,\\n  \\\"has_more\\\": false\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"list\"\n                    },\n                    \"results\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"object\": {\n                            \"type\": \"string\",\n                            \"example\": \"database\"\n                          },\n                          \"id\": {\n                            \"type\": \"string\",\n                            \"example\": \"668d797c-76fa-4934-9b05-ad288df2d136\"\n                          },\n                          \"created_time\": {\n                            \"type\": \"string\",\n                            \"example\": \"2021-05-12T19:34:00.000Z\"\n                          },\n                          \"last_edited_time\": {\n                            \"type\": \"string\",\n                            \"example\": \"2021-05-13T04:55:00.000Z\"\n                          },\n                          \"parent\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"page_id\"\n                              },\n                              \"page_id\": {\n                                \"type\": \"string\",\n                                \"example\": \"48f8fee9-cd79-4180-bc2f-ec0398253067\"\n                              }\n                            }\n                          },\n                          \"title\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"type\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"text\"\n                                },\n                                \"text\": {\n                                  \"type\": \"object\",\n                                  \"properties\": {\n                                    \"content\": {\n                                      \"type\": \"string\",\n                                      \"example\": \"Grocery List\"\n                                    },\n                                    \"link\": {}\n                                  }\n                                },\n                                \"annotations\": {\n                                  \"type\": \"object\",\n                                  \"properties\": {\n                                    \"bold\": {\n                                      \"type\": \"boolean\",\n                                      \"example\": false,\n                                      \"default\": true\n                                    },\n                                    \"italic\": {\n                                      \"type\": \"boolean\",\n                                      \"example\": false,\n                                      \"default\": true\n                                    },\n                                    \"strikethrough\": {\n                                      \"type\": \"boolean\",\n                                      \"example\": false,\n                                      \"default\": true\n                                    },\n                                    \"underline\": {\n                                      \"type\": \"boolean\",\n                                      \"example\": false,\n                                      \"default\": true\n                                    },\n                                    \"code\": {\n                                      \"type\": \"boolean\",\n                                      \"example\": false,\n                                      \"default\": true\n                                    },\n                                    \"color\": {\n                                      \"type\": \"string\",\n                                      \"example\": \"default\"\n                                    }\n                                  }\n                                },\n                                \"plain_text\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"Grocery List\"\n                                },\n                                \"href\": {}\n                              }\n                            }\n                          },\n                          \"icon\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"emoji\"\n                              },\n                              \"emoji\": {\n                                \"type\": \"string\",\n                                \"example\": \"🎉\"\n                              }\n                            }\n                          },\n                          \"cover\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"external\"\n                              },\n                              \"external\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"url\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"https://website.domain/images/image.png\"\n                                  }\n                                }\n                              }\n                            }\n                          },\n                          \"properties\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"Description\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                  \"id\": {\n                                    \"type\": \"string\",\n                                    \"example\": \">otN\"\n                                  },\n                                  \"name\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"Description\"\n                                  },\n                                  \"type\": {\n                                    \"type\": \"string\",\n                                    \"example\": \"rich_text\"\n                                  },\n                                  \"rich_text\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {}\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"next_cursor\": {},\n                    \"has_more\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const response = await notion.databases.list();\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl 'https://api.notion.com/v1/databases' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H 'Notion-Version: 2021-08-16'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/databases/{database_id}\": {\n      \"patch\": {\n        \"summary\": \"Update a database\",\n        \"description\": \"Update the title, description, or properties of a specified database. Properties define the columns of a database.\",\n        \"operationId\": \"update-a-database\",\n        \"parameters\": [\n          {\n            \"name\": \"database_id\",\n            \"in\": \"path\",\n            \"description\": \"identifier for a Notion database\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"title\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of [rich text objects](https://developers.notion.com/reference/rich-text) that represents the title of the database that is displayed in the Notion UI. If omitted, then the database title remains unchanged.\"\n                  },\n                  \"description\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of [rich text objects](https://developers.notion.com/reference/rich-text) that represents the description of the database that is displayed in the Notion UI. If omitted, then the database description remains unchanged.\"\n                  },\n                  \"properties\": {\n                    \"type\": \"string\",\n                    \"description\": \"The properties of a database to be changed in the request, in the form of a JSON object. If updating an existing property, then the keys are the names or IDs of the properties as they appear in Notion, and the values are [property schema objects](ref:property-schema-object). If adding a new property, then the key is the name of the new database property and the value is a [property schema object](ref:property-schema-object).\",\n                    \"format\": \"json\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"database\\\",\\n  \\\"id\\\": \\\"668d797c-76fa-4934-9b05-ad288df2d136\\\",\\n  \\\"created_time\\\": \\\"2020-03-17T19:10:00.000Z\\\",\\n  \\\"last_edited_time\\\": \\\"2021-08-11T17:26:00.000Z\\\",\\n  \\\"parent\\\": {\\n    \\\"type\\\": \\\"page_id\\\",\\n    \\\"page_id\\\": \\\"48f8fee9-cd79-4180-bc2f-ec0398253067\\\"\\n  },  \\n  \\\"icon\\\": {\\n    \\\"type\\\": \\\"emoji\\\",\\n    \\\"emoji\\\": \\\"📝\\\"\\n \\t},\\n  \\\"cover\\\": {\\n  \\t\\\"type\\\": \\\"external\\\",\\n    \\\"external\\\": {\\n    \\t\\\"url\\\": \\\"https://website.domain/images/image.png\\\"\\n    }\\n  },\\n  \\\"url\\\": \\\"https://www.notion.so/668d797c76fa49349b05ad288df2d136\\\",\\n  \\\"title\\\": [\\n    {\\n      \\\"type\\\": \\\"text\\\",\\n      \\\"text\\\": {\\n        \\\"content\\\": \\\"Today'\\\\''s grocery list\\\",\\n        \\\"link\\\": null\\n      },\\n      \\\"annotations\\\": {\\n        \\\"bold\\\": false,\\n        \\\"italic\\\": false,\\n        \\\"strikethrough\\\": false,\\n        \\\"underline\\\": false,\\n        \\\"code\\\": false,\\n        \\\"color\\\": \\\"default\\\"\\n      },\\n      \\\"plain_text\\\": \\\"Today'\\\\''s grocery list\\\",\\n      \\\"href\\\": null\\n    }\\n  ],\\n  \\\"description\\\": [\\n    {\\n      \\\"type\\\": \\\"text\\\",\\n      \\\"text\\\": {\\n        \\\"content\\\": \\\"Grocery list for just kale 🥬\\\",\\n        \\\"link\\\": null\\n      },\\n      \\\"annotations\\\": {\\n        \\\"bold\\\": false,\\n        \\\"italic\\\": false,\\n        \\\"strikethrough\\\": false,\\n        \\\"underline\\\": false,\\n        \\\"code\\\": false,\\n        \\\"color\\\": \\\"default\\\"\\n      },\\n      \\\"plain_text\\\": \\\"Grocery list for just kale 🥬\\\",\\n      \\\"href\\\": null\\n    }\\n  ],\\n  \\\"properties\\\": {\\n    \\\"Name\\\": {\\n      \\\"id\\\": \\\"title\\\",\\n\\t\\t\\t\\\"name\\\": \\\"Name\\\",\\n      \\\"type\\\": \\\"title\\\",\\n      \\\"title\\\": {}\\n    },\\n    \\\"Description\\\": {\\n      \\\"id\\\": \\\"J@cS\\\",\\n\\t\\t\\t\\\"name\\\": \\\"Description\\\",\\n      \\\"type\\\": \\\"rich_text\\\",\\n      \\\"rich_text\\\": {}\\n    },\\n    \\\"In stock\\\": {\\n      \\\"id\\\": \\\"{xY`\\\",\\n\\t\\t\\t\\\"name\\\": \\\"In stock\\\",\\n      \\\"type\\\": \\\"checkbox\\\",\\n      \\\"checkbox\\\": {}\\n    },\\n    \\\"Food group\\\": {\\n      \\\"id\\\": \\\"TJmr\\\",\\n\\t\\t\\t\\\"name\\\": \\\"Food group\\\",\\n      \\\"type\\\": \\\"select\\\",\\n      \\\"select\\\": {\\n        \\\"options\\\": [\\n          {\\n            \\\"id\\\": \\\"96eb622f-4b88-4283-919d-ece2fbed3841\\\",\\n            \\\"name\\\": \\\"🥦Vegetable\\\",\\n            \\\"color\\\": \\\"green\\\"\\n          },\\n          {\\n            \\\"id\\\": \\\"bb443819-81dc-46fb-882d-ebee6e22c432\\\",\\n            \\\"name\\\": \\\"🍎Fruit\\\",\\n            \\\"color\\\": \\\"red\\\"\\n          },\\n          {\\n            \\\"id\\\": \\\"7da9d1b9-8685-472e-9da3-3af57bdb221e\\\",\\n            \\\"name\\\": \\\"💪Protein\\\",\\n            \\\"color\\\": \\\"yellow\\\"\\n          }\\n        ]\\n      }\\n    },\\n    \\\"Price\\\": {\\n      \\\"id\\\": \\\"cU^N\\\",\\n\\t\\t\\t\\\"name\\\": \\\"Price\\\",\\n      \\\"type\\\": \\\"number\\\",\\n      \\\"number\\\": {\\n        \\\"format\\\": \\\"dollar\\\"\\n      }\\n    },\\n    \\\"Cost of next trip\\\": {\\n      \\\"id\\\": \\\"p:sC\\\",\\n\\t\\t\\t\\\"name\\\": \\\"Cost of next trip\\\",\\n      \\\"type\\\": \\\"formula\\\",\\n      \\\"formula\\\": {\\n        \\\"value\\\": \\\"if(prop(\\\\\\\"In stock\\\\\\\"), 0, prop(\\\\\\\"Price\\\\\\\"))\\\"\\n      }\\n    },\\n    \\\"Last ordered\\\": {\\n      \\\"id\\\": \\\"]\\\\\\\\R[\\\",\\n\\t\\t\\t\\\"name\\\": \\\"Last ordered\\\",\\n      \\\"type\\\": \\\"date\\\",\\n      \\\"date\\\": {}\\n    },\\n    \\\"Meals\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"gqk%60\\\",\\n            \\\"name\\\": \\\"Meals\\\",\\n      \\\"type\\\": \\\"relation\\\",\\n      \\\"relation\\\": {\\n        \\\"database\\\": \\\"668d797c-76fa-4934-9b05-ad288df2d136\\\",\\n        \\\"synced_property_name\\\": null\\n      }\\n    },\\n    \\\"Number of meals\\\": {\\n      \\\"id\\\": \\\"Z\\\\\\\\Eh\\\",\\n\\t\\t\\t\\\"name\\\": \\\"Number of meals\\\",\\n      \\\"type\\\": \\\"rollup\\\",\\n      \\\"rollup\\\": {\\n        \\\"rollup_property_name\\\": \\\"Name\\\",\\n        \\\"relation_property_name\\\": \\\"Meals\\\",\\n        \\\"rollup_property_id\\\": \\\"title\\\",\\n        \\\"relation_property_id\\\": \\\"mxp^\\\",\\n        \\\"function\\\": \\\"count\\\"\\n      }\\n    },\\n    \\\"Store availability\\\": {\\n\\t\\t\\t\\\"id\\\": \\\"G%7Dji\\\",\\n      \\\"name\\\": \\\"Store availability\\\",\\n      \\\"type\\\": \\\"multi_select\\\",\\n      \\\"multi_select\\\": {\\n        \\\"options\\\": [\\n          [\\n            {\\n              \\\"id\\\": \\\"d209b920-212c-4040-9d4a-bdf349dd8b2a\\\",\\n              \\\"name\\\": \\\"Duc Loi Market\\\",\\n              \\\"color\\\": \\\"blue\\\"\\n            },\\n            {\\n              \\\"id\\\": \\\"70104074-0f91-467b-9787-00d59e6e1e41\\\",\\n              \\\"name\\\": \\\"Rainbow Grocery\\\",\\n              \\\"color\\\": \\\"gray\\\"\\n            },\\n            {\\n              \\\"id\\\": \\\"6c3867c5-d542-4f84-b6e9-a420c43094e7\\\",\\n              \\\"name\\\": \\\"Gus's Community Market\\\",\\n              \\\"color\\\": \\\"yellow\\\"\\n            },\\n            {\\n\\t\\t\\t\\t\\t\\t\\t\\\"id\\\": \\\"a62fbb5f-fed4-44a4-8cac-cba5f518c1a1\\\",\\n              \\\"name\\\": \\\"The Good Life Grocery\\\",\\n              \\\"color\\\": \\\"orange\\\"\\n           }\\n          ]\\n        ]\\n      }\\n    }\\n    \\\"Photo\\\": {\\n      \\\"id\\\": \\\"aTIT\\\",\\n\\t\\t\\t\\\"name\\\": \\\"Photo\\\",\\n      \\\"type\\\": \\\"url\\\",\\n      \\\"url\\\": {}\\n    }\\n  },\\n  \\\"is_inline\\\": false\\n}\"\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"error\\\",\\n    \\\"status\\\": 400,\\n    \\\"code\\\": \\\"validation_error\\\",\\n    \\\"message\\\": \\\"body failed validation: body.title[0].text.content.length should be ≤ `2000`, instead was `2022`.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"oneOf\": [\n                    {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"error\"\n                        },\n                        \"status\": {\n                          \"type\": \"integer\",\n                          \"example\": 400,\n                          \"default\": 0\n                        },\n                        \"code\": {\n                          \"type\": \"string\",\n                          \"example\": \"invalid_json\"\n                        },\n                        \"message\": {\n                          \"type\": \"string\",\n                          \"example\": \"Error parsing JSON body.\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"error\"\n                        },\n                        \"status\": {\n                          \"type\": \"integer\",\n                          \"example\": 400,\n                          \"default\": 0\n                        },\n                        \"code\": {\n                          \"type\": \"string\",\n                          \"example\": \"validation_error\"\n                        },\n                        \"message\": {\n                          \"type\": \"string\",\n                          \"example\": \"body failed validation: body.title[0].text.content.length should be ≤ `2000`, instead was `2022`.\"\n                        }\n                      }\n                    }\n                  ]\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"description\": \"404\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"error\\\",\\n    \\\"status\\\": 404,\\n    \\\"code\\\": \\\"object_not_found\\\",\\n    \\\"message\\\": \\\"Could not find database with ID: a1d8501e-1ac1-43e9-a6bd-ea9fe6c8822c. Make sure the relevant pages and databases are shared with your integration.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"error\"\n                    },\n                    \"status\": {\n                      \"type\": \"integer\",\n                      \"example\": 404,\n                      \"default\": 0\n                    },\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"example\": \"object_not_found\"\n                    },\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"Could not find database with ID: a1d8501e-1ac1-43e9-a6bd-ea9fe6c8822c. Make sure the relevant pages and databases are shared with your integration.\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"description\": \"429\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n\\t\\\"object\\\": \\\"error\\\",\\n\\t\\\"status\\\": 429,\\n\\t\\\"code\\\": \\\"rate_limited\\\",\\n\\t\\\"message\\\": \\\"You have been rate limited. Please try again in a few minutes.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"error\"\n                    },\n                    \"status\": {\n                      \"type\": \"integer\",\n                      \"example\": 429,\n                      \"default\": 0\n                    },\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"example\": \"rate_limited\"\n                    },\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"You have been rate limited. Please try again in a few minutes.\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl --location --request PATCH 'https://api.notion.com/v1/databases/668d797c-76fa-4934-9b05-ad288df2d136' \\\\\\n--header 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n--header 'Content-Type: application/json' \\\\\\n--header 'Notion-Version: 2022-06-28' \\\\\\n--data '{\\n    \\\"title\\\": [\\n        {\\n            \\\"text\\\": {\\n                \\\"content\\\": \\\"Today'\\\\''s grocery list\\\"\\n            }\\n        }\\n    ],\\n    \\\"description\\\": [\\n        {\\n            \\\"text\\\": {\\n                \\\"content\\\": \\\"Grocery list for just kale 🥬\\\"\\n            }\\n        }\\n    ],\\n    \\\"properties\\\": {\\n        \\\"+1\\\": null,\\n        \\\"Photo\\\": {\\n            \\\"url\\\": {}\\n        },\\n        \\\"Store availability\\\": {\\n            \\\"multi_select\\\": {\\n                \\\"options\\\": [\\n                    {\\n                        \\\"name\\\": \\\"Duc Loi Market\\\"\\n                    },\\n                    {\\n                        \\\"name\\\": \\\"Rainbow Grocery\\\"\\n                    },\\n                    {\\n                        \\\"name\\\": \\\"Gus'\\\\''s Community Market\\\"\\n                    },\\n                    {\\n                        \\\"name\\\": \\\"The Good Life Grocery\\\",\\n                        \\\"color\\\": \\\"orange\\\"\\n                    }\\n                ]\\n            }\\n        }\\n    }       \\n}'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"curl\"\n          ]\n        }\n      },\n      \"get\": {\n        \"summary\": \"Retrieve a database\",\n        \"description\": \"\",\n        \"operationId\": \"retrieve-a-database\",\n        \"parameters\": [\n          {\n            \"name\": \"database_id\",\n            \"in\": \"path\",\n            \"description\": \"An identifier for the Notion database.\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"database\\\",\\n    \\\"id\\\": \\\"bc1211ca-e3f1-4939-ae34-5260b16f627c\\\",\\n    \\\"created_time\\\": \\\"2021-07-08T23:50:00.000Z\\\",\\n    \\\"last_edited_time\\\": \\\"2021-07-08T23:50:00.000Z\\\",\\n    \\\"icon\\\": {\\n        \\\"type\\\": \\\"emoji\\\",\\n        \\\"emoji\\\": \\\"🎉\\\"\\n    },\\n    \\\"cover\\\": {\\n        \\\"type\\\": \\\"external\\\",\\n        \\\"external\\\": {\\n            \\\"url\\\": \\\"https://website.domain/images/image.png\\\"\\n        }\\n    },\\n    \\\"url\\\": \\\"https://www.notion.so/bc1211cae3f14939ae34260b16f627c\\\",\\n    \\\"title\\\": [\\n        {\\n            \\\"type\\\": \\\"text\\\",\\n            \\\"text\\\": {\\n                \\\"content\\\": \\\"Grocery List\\\",\\n                \\\"link\\\": null\\n            },\\n            \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n            },\\n            \\\"plain_text\\\": \\\"Grocery List\\\",\\n            \\\"href\\\": null\\n        }\\n    ],\\n    \\\"description\\\": [\\n        {\\n            \\\"type\\\": \\\"text\\\",\\n            \\\"text\\\": {\\n                \\\"content\\\": \\\"Grocery list for just kale 🥬\\\",\\n                \\\"link\\\": null\\n            },\\n            \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n            },\\n            \\\"plain_text\\\": \\\"Grocery list for just kale 🥬\\\",\\n            \\\"href\\\": null\\n        }\\n    ],\\n    \\\"properties\\\": {\\n        \\\"+1\\\": {\\n            \\\"id\\\": \\\"Wp%3DC\\\",\\n            \\\"name\\\": \\\"+1\\\",\\n            \\\"type\\\": \\\"people\\\",\\n            \\\"people\\\": {}\\n        },\\n        \\\"In stock\\\": {\\n            \\\"id\\\": \\\"fk%5EY\\\",\\n            \\\"name\\\": \\\"In stock\\\",\\n            \\\"type\\\": \\\"checkbox\\\",\\n            \\\"checkbox\\\": {}\\n        },\\n        \\\"Price\\\": {\\n            \\\"id\\\": \\\"evWq\\\",\\n            \\\"name\\\": \\\"Price\\\",\\n            \\\"type\\\": \\\"number\\\",\\n            \\\"number\\\": {\\n                \\\"format\\\": \\\"dollar\\\"\\n            }\\n        },\\n        \\\"Description\\\": {\\n            \\\"id\\\": \\\"V}lX\\\",\\n            \\\"name\\\": \\\"Description\\\",\\n            \\\"type\\\": \\\"rich_text\\\",\\n            \\\"rich_text\\\": {}\\n        },\\n        \\\"Last ordered\\\": {\\n            \\\"id\\\": \\\"eVnV\\\",\\n            \\\"name\\\": \\\"Last ordered\\\",\\n            \\\"type\\\": \\\"date\\\",\\n            \\\"date\\\": {}\\n        },\\n        \\\"Meals\\\": {\\n            \\\"id\\\": \\\"%7DWA~\\\",\\n            \\\"name\\\": \\\"Meals\\\",\\n            \\\"type\\\": \\\"relation\\\",\\n            \\\"relation\\\": {\\n                \\\"database_id\\\": \\\"668d797c-76fa-4934-9b05-ad288df2d136\\\",\\n                \\\"synced_property_name\\\": \\\"Related to Grocery List (Meals)\\\"\\n            }\\n        },\\n        \\\"Number of meals\\\": {\\n            \\\"id\\\": \\\"Z\\\\\\\\Eh\\\",\\n            \\\"name\\\": \\\"Number of meals\\\",\\n            \\\"type\\\": \\\"rollup\\\",\\n            \\\"rollup\\\": {\\n                \\\"rollup_property_name\\\": \\\"Name\\\",\\n                \\\"relation_property_name\\\": \\\"Meals\\\",\\n                \\\"rollup_property_id\\\": \\\"title\\\",\\n                \\\"relation_property_id\\\": \\\"mxp^\\\",\\n                \\\"function\\\": \\\"count\\\"\\n            }\\n        },\\n        \\\"Store availability\\\": {\\n            \\\"id\\\": \\\"s}Kq\\\",\\n            \\\"name\\\": \\\"Store availability\\\",\\n            \\\"type\\\": \\\"multi_select\\\",\\n            \\\"multi_select\\\": {\\n                \\\"options\\\": [\\n                    {\\n                        \\\"id\\\": \\\"cb79b393-d1c1-4528-b517-c450859de766\\\",\\n                        \\\"name\\\": \\\"Duc Loi Market\\\",\\n                        \\\"color\\\": \\\"blue\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"58aae162-75d4-403b-a793-3bc7308e4cd2\\\",\\n                        \\\"name\\\": \\\"Rainbow Grocery\\\",\\n                        \\\"color\\\": \\\"gray\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"22d0f199-babc-44ff-bd80-a9eae3e3fcbf\\\",\\n                        \\\"name\\\": \\\"Nijiya Market\\\",\\n                        \\\"color\\\": \\\"purple\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"0d069987-ffb0-4347-bde2-8e4068003dbc\\\",\\n                        \\\"name\\\": \\\"Gus's Community Market\\\",\\n                        \\\"color\\\": \\\"yellow\\\"\\n                    }\\n                ]\\n            }\\n        },\\n        \\\"Photo\\\": {\\n            \\\"id\\\": \\\"yfiK\\\",\\n            \\\"name\\\": \\\"Photo\\\",\\n            \\\"type\\\": \\\"files\\\",\\n            \\\"files\\\": {}\\n        },\\n        \\\"Food group\\\": {\\n            \\\"id\\\": \\\"CM%3EH\\\",\\n            \\\"name\\\": \\\"Food group\\\",\\n            \\\"type\\\": \\\"select\\\",\\n            \\\"select\\\": {\\n                \\\"options\\\": [\\n                    {\\n                        \\\"id\\\": \\\"6d4523fa-88cb-4ffd-9364-1e39d0f4e566\\\",\\n                        \\\"name\\\": \\\"🥦Vegetable\\\",\\n                        \\\"color\\\": \\\"green\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"268d7e75-de8f-4c4b-8b9d-de0f97021833\\\",\\n                        \\\"name\\\": \\\"🍎Fruit\\\",\\n                        \\\"color\\\": \\\"red\\\"\\n                    },\\n                    {\\n                        \\\"id\\\": \\\"1b234a00-dc97-489c-b987-829264cfdfef\\\",\\n                        \\\"name\\\": \\\"💪Protein\\\",\\n                        \\\"color\\\": \\\"yellow\\\"\\n                    }\\n                ]\\n            }\\n        },\\n        \\\"Name\\\": {\\n            \\\"id\\\": \\\"title\\\",\\n            \\\"name\\\": \\\"Name\\\",\\n            \\\"type\\\": \\\"title\\\",\\n            \\\"title\\\": {}\\n        }\\n    },\\n    \\\"parent\\\": {\\n        \\\"type\\\": \\\"page_id\\\",\\n        \\\"page_id\\\": \\\"98ad959b-2b6a-4774-80ee-00246fb0ea9b\\\"\\n    },\\n    \\\"archived\\\": false,\\n    \\\"is_inline\\\": false\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"database\"\n                    },\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"example\": \"bc1211ca-e3f1-4939-ae34-5260b16f627c\"\n                    },\n                    \"created_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2021-07-08T23:50:00.000Z\"\n                    },\n                    \"last_edited_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2021-07-08T23:50:00.000Z\"\n                    },\n                    \"icon\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"emoji\"\n                        },\n                        \"emoji\": {\n                          \"type\": \"string\",\n                          \"example\": \"🎉\"\n                        }\n                      }\n                    },\n                    \"cover\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"external\"\n                        },\n                        \"external\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"url\": {\n                              \"type\": \"string\",\n                              \"example\": \"https://website.domain/images/image.png\"\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"url\": {\n                      \"type\": \"string\",\n                      \"example\": \"https://www.notion.so/bc1211cae3f14939ae34260b16f627c\"\n                    },\n                    \"title\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"type\": {\n                            \"type\": \"string\",\n                            \"example\": \"text\"\n                          },\n                          \"text\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"content\": {\n                                \"type\": \"string\",\n                                \"example\": \"Grocery List\"\n                              },\n                              \"link\": {}\n                            }\n                          },\n                          \"annotations\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"bold\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"italic\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"strikethrough\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"underline\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"code\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"color\": {\n                                \"type\": \"string\",\n                                \"example\": \"default\"\n                              }\n                            }\n                          },\n                          \"plain_text\": {\n                            \"type\": \"string\",\n                            \"example\": \"Grocery List\"\n                          },\n                          \"href\": {}\n                        }\n                      }\n                    },\n                    \"description\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"type\": {\n                            \"type\": \"string\",\n                            \"example\": \"text\"\n                          },\n                          \"text\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"content\": {\n                                \"type\": \"string\",\n                                \"example\": \"Grocery list for just kale 🥬\"\n                              },\n                              \"link\": {}\n                            }\n                          },\n                          \"annotations\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"bold\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"italic\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"strikethrough\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"underline\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"code\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"color\": {\n                                \"type\": \"string\",\n                                \"example\": \"default\"\n                              }\n                            }\n                          },\n                          \"plain_text\": {\n                            \"type\": \"string\",\n                            \"example\": \"Grocery list for just kale 🥬\"\n                          },\n                          \"href\": {}\n                        }\n                      }\n                    },\n                    \"properties\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"+1\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"Wp%3DC\"\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"+1\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"people\"\n                            },\n                            \"people\": {\n                              \"type\": \"object\",\n                              \"properties\": {}\n                            }\n                          }\n                        },\n                        \"In stock\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"fk%5EY\"\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"In stock\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"checkbox\"\n                            },\n                            \"checkbox\": {\n                              \"type\": \"object\",\n                              \"properties\": {}\n                            }\n                          }\n                        },\n                        \"Price\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"evWq\"\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"Price\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"number\"\n                            },\n                            \"number\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"format\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"dollar\"\n                                }\n                              }\n                            }\n                          }\n                        },\n                        \"Description\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"V}lX\"\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"Description\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"rich_text\"\n                            },\n                            \"rich_text\": {\n                              \"type\": \"object\",\n                              \"properties\": {}\n                            }\n                          }\n                        },\n                        \"Last ordered\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"eVnV\"\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"Last ordered\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"date\"\n                            },\n                            \"date\": {\n                              \"type\": \"object\",\n                              \"properties\": {}\n                            }\n                          }\n                        },\n                        \"Meals\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"%7DWA~\"\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"Meals\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"relation\"\n                            },\n                            \"relation\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"database_id\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"668d797c-76fa-4934-9b05-ad288df2d136\"\n                                },\n                                \"synced_property_name\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"Related to Grocery List (Meals)\"\n                                }\n                              }\n                            }\n                          }\n                        },\n                        \"Number of meals\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"Z\\\\Eh\"\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"Number of meals\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"rollup\"\n                            },\n                            \"rollup\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"rollup_property_name\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"Name\"\n                                },\n                                \"relation_property_name\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"Meals\"\n                                },\n                                \"rollup_property_id\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"title\"\n                                },\n                                \"relation_property_id\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"mxp^\"\n                                },\n                                \"function\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"count\"\n                                }\n                              }\n                            }\n                          }\n                        },\n                        \"Store availability\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"s}Kq\"\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"Store availability\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"multi_select\"\n                            },\n                            \"multi_select\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"options\": {\n                                  \"type\": \"array\",\n                                  \"items\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"id\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"cb79b393-d1c1-4528-b517-c450859de766\"\n                                      },\n                                      \"name\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"Duc Loi Market\"\n                                      },\n                                      \"color\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"blue\"\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        },\n                        \"Photo\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"yfiK\"\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"Photo\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"files\"\n                            },\n                            \"files\": {\n                              \"type\": \"object\",\n                              \"properties\": {}\n                            }\n                          }\n                        },\n                        \"Food group\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"CM%3EH\"\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"Food group\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"select\"\n                            },\n                            \"select\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"options\": {\n                                  \"type\": \"array\",\n                                  \"items\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                      \"id\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"6d4523fa-88cb-4ffd-9364-1e39d0f4e566\"\n                                      },\n                                      \"name\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"🥦Vegetable\"\n                                      },\n                                      \"color\": {\n                                        \"type\": \"string\",\n                                        \"example\": \"green\"\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        },\n                        \"Name\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"id\": {\n                              \"type\": \"string\",\n                              \"example\": \"title\"\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"Name\"\n                            },\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"title\"\n                            },\n                            \"title\": {\n                              \"type\": \"object\",\n                              \"properties\": {}\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"parent\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"page_id\"\n                        },\n                        \"page_id\": {\n                          \"type\": \"string\",\n                          \"example\": \"98ad959b-2b6a-4774-80ee-00246fb0ea9b\"\n                        }\n                      }\n                    },\n                    \"archived\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"is_inline\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          },\n          \"404\": {\n            \"description\": \"404\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"error\\\",\\n  \\\"status\\\": 404,\\n  \\\"code\\\": \\\"object_not_found\\\",\\n  \\\"message\\\": \\\"Could not find database with ID: a1d8501e-1ac1-43e9-a6bd-ea9fe6c8822c. Make sure the relevant pages and databases are shared with your integration.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"error\"\n                    },\n                    \"status\": {\n                      \"type\": \"integer\",\n                      \"example\": 404,\n                      \"default\": 0\n                    },\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"example\": \"object_not_found\"\n                    },\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"Could not find database with ID: a1d8501e-1ac1-43e9-a6bd-ea9fe6c8822c. Make sure the relevant pages and databases are shared with your integration.\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"429\": {\n            \"description\": \"429\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"error\\\",\\n  \\\"status\\\": 429,\\n  \\\"code\\\": \\\"rate_limited\\\",\\n  \\\"message\\\": \\\"You have been rate limited. Please try again in a few minutes.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"error\"\n                    },\n                    \"status\": {\n                      \"type\": \"integer\",\n                      \"example\": 429,\n                      \"default\": 0\n                    },\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"example\": \"rate_limited\"\n                    },\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"You have been rate limited. Please try again in a few minutes.\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const databaseId = '668d797c-76fa-4934-9b05-ad288df2d136';\\n  const response = await notion.databases.retrieve({ database_id: databaseId });\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl 'https://api.notion.com/v1/databases/668d797c-76fa-4934-9b05-ad288df2d136' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H 'Notion-Version: 2022-06-28'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/pages/{page_id}/properties/{property_id}\": {\n      \"get\": {\n        \"summary\": \"Retrieve a page property item\",\n        \"description\": \"\",\n        \"operationId\": \"retrieve-a-page-property\",\n        \"parameters\": [\n          {\n            \"name\": \"page_id\",\n            \"in\": \"path\",\n            \"description\": \"Identifier for a Notion page\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"property_id\",\n            \"in\": \"path\",\n            \"description\": \"Identifier for a page [property](https://developers.notion.com/reference/page#all-property-values)\",\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"required\": true\n          },\n          {\n            \"name\": \"page_size\",\n            \"in\": \"query\",\n            \"description\": \"For paginated properties. The max number of property item objects on a page. The default size is 100\",\n            \"schema\": {\n              \"type\": \"integer\",\n              \"format\": \"int32\"\n            }\n          },\n          {\n            \"name\": \"start_cursor\",\n            \"in\": \"query\",\n            \"description\": \"For paginated properties.\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Number Property Item\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"property_item\\\",\\n  \\\"id\\\" \\\"kjPO\\\",\\n  \\\"type\\\": \\\"number\\\",\\n  \\\"number\\\": 2\\n}\"\n                  },\n                  \"Result\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"list\\\",\\n    \\\"results\\\": [\\n        {\\n            \\\"object\\\": \\\"property_item\\\",\\n            \\\"id\\\" \\\"kjPO\\\",\\n            \\\"type\\\": \\\"rich_text\\\",\\n            \\\"rich_text\\\": {\\n                \\\"type\\\": \\\"text\\\",\\n                \\\"text\\\": {\\n                    \\\"content\\\": \\\"Avocado \\\",\\n                    \\\"link\\\": null\\n                },\\n                \\\"annotations\\\": {\\n                    \\\"bold\\\": false,\\n                    \\\"italic\\\": false,\\n                    \\\"strikethrough\\\": false,\\n                    \\\"underline\\\": false,\\n                    \\\"code\\\": false,\\n                    \\\"color\\\": \\\"default\\\"\\n                },\\n                \\\"plain_text\\\": \\\"Avocado \\\",\\n                \\\"href\\\": null\\n            }\\n        },\\n        {\\n            \\\"object\\\": \\\"property_item\\\",\\n            \\\"id\\\" \\\"ijPO\\\",\\n            \\\"type\\\": \\\"rich_text\\\",\\n            \\\"rich_text\\\": {\\n                \\\"type\\\": \\\"mention\\\",\\n                \\\"mention\\\": {\\n                    \\\"type\\\": \\\"page\\\",\\n                    \\\"page\\\": {\\n                        \\\"id\\\": \\\"41117fd7-69a5-4694-bc07-c1e3a682c857\\\"\\n                    }\\n                },\\n                \\\"annotations\\\": {\\n                    \\\"bold\\\": false,\\n                    \\\"italic\\\": false,\\n                    \\\"strikethrough\\\": false,\\n                    \\\"underline\\\": false,\\n                    \\\"code\\\": false,\\n                    \\\"color\\\": \\\"default\\\"\\n                },\\n                \\\"plain_text\\\": \\\"Lemons\\\",\\n                \\\"href\\\": \\\"http://notion.so/41117fd769a54694bc07c1e3a682c857\\\"\\n            }\\n        },\\n        {\\n            \\\"object\\\": \\\"property_item\\\",\\n            \\\"id\\\" \\\"kjPO\\\",\\n            \\\"type\\\": \\\"rich_text\\\",\\n            \\\"rich_text\\\": {\\n                \\\"type\\\": \\\"text\\\",\\n                \\\"text\\\": {\\n                    \\\"content\\\": \\\" Tomato \\\",\\n                    \\\"link\\\": null\\n                },\\n                \\\"annotations\\\": {\\n                    \\\"bold\\\": false,\\n                    \\\"italic\\\": false,\\n                    \\\"strikethrough\\\": false,\\n                    \\\"underline\\\": false,\\n                    \\\"code\\\": false,\\n                    \\\"color\\\": \\\"default\\\"\\n                },\\n                \\\"plain_text\\\": \\\" Tomato \\\",\\n                \\\"href\\\": null\\n            }\\n        },\\n...\\n    ],\\n    \\\"next_cursor\\\": \\\"some-next-cursor-value\\\",\\n    \\\"has_more\\\": true,\\n\\t\\t\\\"next_url\\\": \\\"http://api.notion.com/v1/pages/0e5235bf86aa4efb93aa772cce7eab71/properties/NVv^?start_cursor=some-next-cursor-value&page_size=25\\\",\\n    \\\"property_item\\\": {\\n      \\\"id\\\": \\\"NVv^\\\",\\n      \\\"next_url\\\": null,\\n      \\\"type\\\": \\\"rich_text\\\",\\n      \\\"rich_text\\\": {}\\n    }\\n}\"\n                  },\n                  \"Rollup List Property Item\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"list\\\",\\n    \\\"results\\\": [\\n        {\\n            \\\"object\\\": \\\"property_item\\\",\\n          \\t\\\"id\\\": \\\"dj2l\\\",\\n            \\\"type\\\": \\\"relation\\\",\\n            \\\"relation\\\": {\\n                \\\"id\\\": \\\"83f92c9d-523d-466e-8c1f-9bc2c25a99fe\\\"\\n            }\\n        },\\n        {\\n            \\\"object\\\": \\\"property_item\\\",\\n          \\t\\\"id\\\": \\\"dj2l\\\",\\n            \\\"type\\\": \\\"relation\\\",\\n            \\\"relation\\\": {\\n                \\\"id\\\": \\\"45cfb825-3463-4891-8932-7e6d8c170630\\\"\\n            }\\n        },\\n        {\\n            \\\"object\\\": \\\"property_item\\\",\\n          \\t\\\"id\\\": \\\"dj2l\\\",\\n            \\\"type\\\": \\\"relation\\\",\\n            \\\"relation\\\": {\\n                \\\"id\\\": \\\"1688be1a-a197-4f2a-9688-e528c4b56d94\\\"\\n            }\\n        }\\n    ],\\n    \\\"next_cursor\\\": \\\"some-next-cursor-value\\\",\\n    \\\"has_more\\\": true,\\n\\t\\t\\\"property_item\\\": {\\n      \\\"id\\\": \\\"y}~p\\\",\\n      \\\"next_url\\\": \\\"http://api.notion.com/v1/pages/0e5235bf86aa4efb93aa772cce7eab71/properties/y%7D~p?start_cursor=1QaTunT5&page_size=25\\\",\\n      \\\"type\\\": \\\"rollup\\\",\\n      \\\"rollup\\\": {\\n        \\\"function\\\": \\\"sum\\\",\\n        \\\"type\\\": \\\"incomplete\\\",\\n        \\\"incomplete\\\": {}\\n      }\\n    }\\n    \\\"type\\\": \\\"property_item\\\"\\n}\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const pageId = 'b55c9c91-384d-452b-81db-d1ef79372b75';\\n  const propertyId = \\\"aBcD123\\n  const response = await notion.pages.properties.retrieve({ page_id: pageId, property_id: propertyId });\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl --request GET \\\\\\n  --url https://api.notion.com/v1/pages/b55c9c91-384d-452b-81db-d1ef79372b75/properties/some-property-id \\\\\\n  --header 'Authorization: Bearer $NOTION_API_KEY' \\\\\\n  --header 'Notion-Version: 2022-06-28'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/users/me\": {\n      \"get\": {\n        \"summary\": \"Retrieve your token's bot user\",\n        \"description\": \"\",\n        \"operationId\": \"get-self\",\n        \"parameters\": [\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"object\\\": \\\"user\\\",\\n  \\\"id\\\": \\\"16d84278-ab0e-484c-9bdd-b35da3bd8905\\\",\\n  \\\"name\\\": \\\"pied piper\\\",\\n  \\\"avatar_url\\\": null,\\n  \\\"type\\\": \\\"bot\\\",\\n  \\\"bot\\\": {\\n    \\\"owner\\\": {\\n      \\\"type\\\": \\\"user\\\",\\n      \\\"user\\\": {\\n        \\\"object\\\": \\\"user\\\",\\n        \\\"id\\\": \\\"5389a034-eb5c-47b5-8a9e-f79c99ef166c\\\",\\n        \\\"name\\\": \\\"christine makenotion\\\",\\n        \\\"avatar_url\\\": null,\\n        \\\"type\\\": \\\"person\\\",\\n        \\\"person\\\": {\\n          \\\"email\\\": \\\"christine@makenotion.com\\\"\\n        }\\n      }\\n    }\\n  }\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"user\"\n                    },\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"example\": \"16d84278-ab0e-484c-9bdd-b35da3bd8905\"\n                    },\n                    \"name\": {\n                      \"type\": \"string\",\n                      \"example\": \"pied piper\"\n                    },\n                    \"avatar_url\": {},\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"example\": \"bot\"\n                    },\n                    \"bot\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"owner\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"user\"\n                            },\n                            \"user\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"object\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"user\"\n                                },\n                                \"id\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"5389a034-eb5c-47b5-8a9e-f79c99ef166c\"\n                                },\n                                \"name\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"christine makenotion\"\n                                },\n                                \"avatar_url\": {},\n                                \"type\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"person\"\n                                },\n                                \"person\": {\n                                  \"type\": \"object\",\n                                  \"properties\": {\n                                    \"email\": {\n                                      \"type\": \"string\",\n                                      \"example\": \"christine@makenotion.com\"\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const response = await notion.users.me();\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl 'https://api.notion.com/v1/users/me' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H \\\"Notion-Version: 2022-06-28\\\" \\\\\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/comments\": {\n      \"get\": {\n        \"summary\": \"Retrieve comments\",\n        \"description\": \"Retrieves a list of un-resolved [Comment objects](ref:comment-object) from a page or block.\",\n        \"operationId\": \"retrieve-a-comment\",\n        \"parameters\": [\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          },\n          {\n            \"name\": \"block_id\",\n            \"in\": \"query\",\n            \"description\": \"Identifier for a Notion block or page\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"start_cursor\",\n            \"in\": \"query\",\n            \"description\": \"If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results.\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"page_size\",\n            \"in\": \"query\",\n            \"description\": \"The number of items from the full list desired in the response. Maximum: 100\",\n            \"schema\": {\n              \"type\": \"integer\",\n              \"format\": \"int32\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"OK\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"list\\\",\\n    \\\"results\\\": [\\n        {\\n            \\\"object\\\": \\\"comment\\\",\\n            \\\"id\\\": \\\"94cc56ab-9f02-409d-9f99-1037e9fe502f\\\",\\n            \\\"parent\\\": {\\n                \\\"type\\\": \\\"page_id\\\",\\n                \\\"page_id\\\": \\\"5c6a2821-6bb1-4a7e-b6e1-c50111515c3d\\\"\\n            },\\n            \\\"discussion_id\\\": \\\"f1407351-36f5-4c49-a13c-49f8ba11776d\\\",\\n            \\\"created_time\\\": \\\"2022-07-15T16:52:00.000Z\\\",\\n            \\\"last_edited_time\\\": \\\"2022-07-15T19:16:00.000Z\\\",\\n            \\\"created_by\\\": {\\n                \\\"object\\\": \\\"user\\\",\\n                \\\"id\\\": \\\"9b15170a-9941-4297-8ee6-83fa7649a87a\\\"\\n            },\\n            \\\"rich_text\\\": [\\n                {\\n                    \\\"type\\\": \\\"text\\\",\\n                    \\\"text\\\": {\\n                        \\\"content\\\": \\\"Single comment\\\",\\n                        \\\"link\\\": null\\n                    },\\n                    \\\"annotations\\\": {\\n                        \\\"bold\\\": false,\\n                        \\\"italic\\\": false,\\n                        \\\"strikethrough\\\": false,\\n                        \\\"underline\\\": false,\\n                        \\\"code\\\": false,\\n                        \\\"color\\\": \\\"default\\\"\\n                    },\\n                    \\\"plain_text\\\": \\\"Single comment\\\",\\n                    \\\"href\\\": null\\n                }\\n            ]\\n        }\\n    ],\\n    \\\"next_cursor\\\": null,\\n    \\\"has_more\\\": false,\\n    \\\"type\\\": \\\"comment\\\",\\n    \\\"comment\\\": {}\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"list\"\n                    },\n                    \"results\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"object\": {\n                            \"type\": \"string\",\n                            \"example\": \"comment\"\n                          },\n                          \"id\": {\n                            \"type\": \"string\",\n                            \"example\": \"94cc56ab-9f02-409d-9f99-1037e9fe502f\"\n                          },\n                          \"parent\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"type\": {\n                                \"type\": \"string\",\n                                \"example\": \"page_id\"\n                              },\n                              \"page_id\": {\n                                \"type\": \"string\",\n                                \"example\": \"5c6a2821-6bb1-4a7e-b6e1-c50111515c3d\"\n                              }\n                            }\n                          },\n                          \"discussion_id\": {\n                            \"type\": \"string\",\n                            \"example\": \"f1407351-36f5-4c49-a13c-49f8ba11776d\"\n                          },\n                          \"created_time\": {\n                            \"type\": \"string\",\n                            \"example\": \"2022-07-15T16:52:00.000Z\"\n                          },\n                          \"last_edited_time\": {\n                            \"type\": \"string\",\n                            \"example\": \"2022-07-15T19:16:00.000Z\"\n                          },\n                          \"created_by\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"object\": {\n                                \"type\": \"string\",\n                                \"example\": \"user\"\n                              },\n                              \"id\": {\n                                \"type\": \"string\",\n                                \"example\": \"9b15170a-9941-4297-8ee6-83fa7649a87a\"\n                              }\n                            }\n                          },\n                          \"rich_text\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"type\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"text\"\n                                },\n                                \"text\": {\n                                  \"type\": \"object\",\n                                  \"properties\": {\n                                    \"content\": {\n                                      \"type\": \"string\",\n                                      \"example\": \"Single comment\"\n                                    },\n                                    \"link\": {}\n                                  }\n                                },\n                                \"annotations\": {\n                                  \"type\": \"object\",\n                                  \"properties\": {\n                                    \"bold\": {\n                                      \"type\": \"boolean\",\n                                      \"example\": false,\n                                      \"default\": true\n                                    },\n                                    \"italic\": {\n                                      \"type\": \"boolean\",\n                                      \"example\": false,\n                                      \"default\": true\n                                    },\n                                    \"strikethrough\": {\n                                      \"type\": \"boolean\",\n                                      \"example\": false,\n                                      \"default\": true\n                                    },\n                                    \"underline\": {\n                                      \"type\": \"boolean\",\n                                      \"example\": false,\n                                      \"default\": true\n                                    },\n                                    \"code\": {\n                                      \"type\": \"boolean\",\n                                      \"example\": false,\n                                      \"default\": true\n                                    },\n                                    \"color\": {\n                                      \"type\": \"string\",\n                                      \"example\": \"default\"\n                                    }\n                                  }\n                                },\n                                \"plain_text\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"Single comment\"\n                                },\n                                \"href\": {}\n                              }\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"next_cursor\": {},\n                    \"has_more\": {\n                      \"type\": \"boolean\",\n                      \"example\": false,\n                      \"default\": true\n                    },\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"example\": \"comment\"\n                    },\n                    \"comment\": {\n                      \"type\": \"object\",\n                      \"properties\": {}\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"403\": {\n            \"description\": \"403\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"error\\\",\\n    \\\"status\\\": 403,\\n    \\\"code\\\": \\\"restricted_resource\\\",\\n    \\\"message\\\": \\\"Insufficient permissions for this endpoint.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"error\"\n                    },\n                    \"status\": {\n                      \"type\": \"integer\",\n                      \"example\": 403,\n                      \"default\": 0\n                    },\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"example\": \"restricted_resource\"\n                    },\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"Insufficient permissions for this endpoint.\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const blockId = 'd40e767c-d7af-4b18-a86d-55c61f1e39a4';\\n  const response = await notion.comments.list({ block_id: blockId });\\n  console.log(response);\\n})();\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl 'https://api.notion.com/v1/comments?block_id=5c6a28216bb14a7eb6e1c50111515c3d'\\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H \\\"Notion-Version: 2022-06-28\\\"\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      },\n      \"post\": {\n        \"summary\": \"Create comment\",\n        \"description\": \"Creates a comment in a page or existing discussion thread.\",\n        \"operationId\": \"create-a-comment\",\n        \"parameters\": [\n          {\n            \"name\": \"Notion-Version\",\n            \"in\": \"header\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"default\": \"2022-06-28\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\n                  \"rich_text\"\n                ],\n                \"properties\": {\n                  \"parent\": {\n                    \"type\": \"string\",\n                    \"description\": \"A [page parent](/reference/database#page-parent). Either this or a discussion_id is required (not both)\",\n                    \"format\": \"json\"\n                  },\n                  \"discussion_id\": {\n                    \"type\": \"string\",\n                    \"description\": \"A UUID identifier for a discussion thread. Either this or a parent object is required (not both)\"\n                  },\n                  \"rich_text\": {\n                    \"type\": \"string\",\n                    \"description\": \"A [rich text object](ref:rich-text)\",\n                    \"format\": \"json\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"comment\\\",\\n    \\\"id\\\": \\\"b52b8ed6-e029-4707-a671-832549c09de3\\\",\\n    \\\"parent\\\": {\\n        \\\"type\\\": \\\"page_id\\\",\\n        \\\"page_id\\\": \\\"5c6a2821-6bb1-4a7e-b6e1-c50111515c3d\\\"\\n    },\\n    \\\"discussion_id\\\": \\\"f1407351-36f5-4c49-a13c-49f8ba11776d\\\",\\n    \\\"created_time\\\": \\\"2022-07-15T20:53:00.000Z\\\",\\n    \\\"last_edited_time\\\": \\\"2022-07-15T20:53:00.000Z\\\",\\n    \\\"created_by\\\": {\\n        \\\"object\\\": \\\"user\\\",\\n        \\\"id\\\": \\\"067dee40-6ebd-496f-b446-093c715fb5ec\\\"\\n    },\\n    \\\"rich_text\\\": [\\n        {\\n            \\\"type\\\": \\\"text\\\",\\n            \\\"text\\\": {\\n                \\\"content\\\": \\\"Hello world\\\",\\n                \\\"link\\\": null\\n            },\\n            \\\"annotations\\\": {\\n                \\\"bold\\\": false,\\n                \\\"italic\\\": false,\\n                \\\"strikethrough\\\": false,\\n                \\\"underline\\\": false,\\n                \\\"code\\\": false,\\n                \\\"color\\\": \\\"default\\\"\\n            },\\n            \\\"plain_text\\\": \\\"Hello world\\\",\\n            \\\"href\\\": null\\n        }\\n    ]\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"comment\"\n                    },\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"example\": \"b52b8ed6-e029-4707-a671-832549c09de3\"\n                    },\n                    \"parent\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"page_id\"\n                        },\n                        \"page_id\": {\n                          \"type\": \"string\",\n                          \"example\": \"5c6a2821-6bb1-4a7e-b6e1-c50111515c3d\"\n                        }\n                      }\n                    },\n                    \"discussion_id\": {\n                      \"type\": \"string\",\n                      \"example\": \"f1407351-36f5-4c49-a13c-49f8ba11776d\"\n                    },\n                    \"created_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-07-15T20:53:00.000Z\"\n                    },\n                    \"last_edited_time\": {\n                      \"type\": \"string\",\n                      \"example\": \"2022-07-15T20:53:00.000Z\"\n                    },\n                    \"created_by\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"object\": {\n                          \"type\": \"string\",\n                          \"example\": \"user\"\n                        },\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"example\": \"067dee40-6ebd-496f-b446-093c715fb5ec\"\n                        }\n                      }\n                    },\n                    \"rich_text\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"type\": {\n                            \"type\": \"string\",\n                            \"example\": \"text\"\n                          },\n                          \"text\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"content\": {\n                                \"type\": \"string\",\n                                \"example\": \"Hello world\"\n                              },\n                              \"link\": {}\n                            }\n                          },\n                          \"annotations\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"bold\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"italic\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"strikethrough\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"underline\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"code\": {\n                                \"type\": \"boolean\",\n                                \"example\": false,\n                                \"default\": true\n                              },\n                              \"color\": {\n                                \"type\": \"string\",\n                                \"example\": \"default\"\n                              }\n                            }\n                          },\n                          \"plain_text\": {\n                            \"type\": \"string\",\n                            \"example\": \"Hello world\"\n                          },\n                          \"href\": {}\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"403\": {\n            \"description\": \"403\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n    \\\"object\\\": \\\"error\\\",\\n    \\\"status\\\": 403,\\n    \\\"code\\\": \\\"restricted_resource\\\",\\n    \\\"message\\\": \\\"Insufficient permissions for this endpoint.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"object\": {\n                      \"type\": \"string\",\n                      \"example\": \"error\"\n                    },\n                    \"status\": {\n                      \"type\": \"integer\",\n                      \"example\": 403,\n                      \"default\": 0\n                    },\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"example\": \"restricted_resource\"\n                    },\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"Insufficient permissions for this endpoint.\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"security\": [],\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"javascript\",\n              \"code\": \"const { Client } = require('@notionhq/client');\\n\\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\\n\\n(async () => {\\n  const response = await notion.comments.create({\\n    \\\"parent\\\": {\\n      \\\"page_id\\\": \\\"5c6a28216bb14a7eb6e1c50111515c3d\\\"\\n    },\\n    \\\"rich_text\\\": [\\n      {\\n        \\\"text\\\": {\\n          \\\"content\\\": \\\"Hello world\\\"\\n        }\\n      }\\n    ]\\n\\t});\\n  \\n  console.log(response);\\n})();\\n\",\n              \"name\": \"Notion SDK for JavaScript\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl 'https://api.notion.com/v1/comments' \\\\\\n  -H 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n  -H \\\"Notion-Version: 2022-06-28\\\" \\\\\\n  --data '{\\n    \\\"parent\\\": {\\n      \\\"page_id\\\": \\\"5c6a28216bb14a7eb6e1c50111515c3d\\\"\\n    },\\n    \\\"rich_text\\\": [\\n      {\\n        \\\"text\\\": {\\n          \\\"content\\\": \\\"Hello world\\\"\\n        }\\n      }\\n    ]\\n\\t}'\"\n            }\n          ],\n          \"samples-languages\": [\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/oauth/token\": {\n      \"post\": {\n        \"summary\": \"Create a token\",\n        \"description\": \"Creates an access token that a third-party service can use to authenticate with Notion.\",\n        \"operationId\": \"create-a-token\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\n                  \"code\",\n                  \"grant_type\",\n                  \"redirect_uri\"\n                ],\n                \"properties\": {\n                  \"code\": {\n                    \"type\": \"string\",\n                    \"description\": \"A unique random code that Notion generates to authenticate with your service, generated when a user initiates the OAuth flow.\"\n                  },\n                  \"grant_type\": {\n                    \"type\": \"string\",\n                    \"description\": \"A constant string: \\\"authorization_code\\\".\",\n                    \"default\": \"\\\"authorization_code\\\"\"\n                  },\n                  \"redirect_uri\": {\n                    \"type\": \"string\",\n                    \"description\": \"The `\\\"redirect_uri\\\"` that was provided in the OAuth Domain & URI section of the integration's Authorization settings.\"\n                  },\n                  \"external_account\": {\n                    \"type\": \"object\",\n                    \"description\": \"Required if and only when building [Link Preview](https://developers.notion.com/docs/link-previews) integrations (otherwise ignored). An object with `key` and `name` properties. `key` should be a unique identifier for the account. Notion uses the `key` to determine whether or not the user is re-connecting the same account. `name` should be some way for the user to know which account they used to authenticate with your service. If a user has authenticated Notion with your integration before and `key` is the same but `name` is different, then Notion updates the `name` associated with your integration.\",\n                    \"properties\": {}\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"access_token\\\": \\\"e202e8c9-0990-40af-855f-ff8f872b1ec6c\\\",\\n  \\\"bot_id\\\": \\\"b3414d659-1224-5ty7-6ffr-cc9d8773drt601288f\\\",\\n  \\\"duplicated_template_id\\\": null,\\n  \\\"owner\\\": {\\n    \\\"workspace\\\": true\\n  },\\n  \\\"workspace_icon\\\": \\\"https://website.domain/images/image.png\\\",\\n  \\\"workspace_id\\\": \\\"j565j4d7x3-2882-61bs-564a-jj9d9ui-c36hxfr7x\\\",\\n  \\\"workspace_name\\\": \\\"Ada's Notion Workspace\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"access_token\": {\n                      \"type\": \"string\",\n                      \"example\": \"e202e8c9-0990-40af-855f-ff8f872b1ec6c\"\n                    },\n                    \"bot_id\": {\n                      \"type\": \"string\",\n                      \"example\": \"b3414d659-1224-5ty7-6ffr-cc9d8773drt601288f\"\n                    },\n                    \"duplicated_template_id\": {},\n                    \"owner\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"workspace\": {\n                          \"type\": \"boolean\",\n                          \"example\": true,\n                          \"default\": true\n                        }\n                      }\n                    },\n                    \"workspace_icon\": {\n                      \"type\": \"string\",\n                      \"example\": \"https://website.domain/images/image.png\"\n                    },\n                    \"workspace_id\": {\n                      \"type\": \"string\",\n                      \"example\": \"j565j4d7x3-2882-61bs-564a-jj9d9ui-c36hxfr7x\"\n                    },\n                    \"workspace_name\": {\n                      \"type\": \"string\",\n                      \"example\": \"Ada's Notion Workspace\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n    \\\"error\\\": \\\"invalid_request\\\",\\n    \\\"error_description\\\": \\\"body failed validation: body.redirect_uri should be defined, instead was `undefined`.\\\"\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"error\": {\n                      \"type\": \"string\",\n                      \"example\": \"invalid_request\"\n                    },\n                    \"error_description\": {\n                      \"type\": \"string\",\n                      \"example\": \"body failed validation: body.redirect_uri should be defined, instead was `undefined`.\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl --location --request POST 'https://api.notion.com/v1/oauth/token' \\\\\\n--header 'Authorization: Basic '\\\"$BASE64_ENCODED_ID_AND_SECRET\\\"'' \\\\\\n--header 'Content-Type: application/json' \\\\\\n--header 'Notion-Version: 2022-06-28' \\\\\\n--data '{\\n  \\\"grant_type\\\": \\\"authorization_code\\\",\\n  \\\"code\\\": \\\"e202e8c9-0990-40af-855f-ff8f872b1ec6\\\",\\n  \\\"redirect_uri\\\": \\\"https://wwww.my-integration-endpoint.dev/callback\\\",\\n   \\\"external_account\\\": {\\n        \\\"key\\\": \\\"A83823453409384\\\",\\n        \\\"name\\\": \\\"Notion - team@makenotion.com\\\"\\n    }\\n}'\",\n              \"name\": \"Create a token for a Link Preview\"\n            },\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl --location --request POST 'https://api.notion.com/v1/databases/' \\\\\\n--header 'Authorization: Bearer '\\\"$NOTION_API_KEY\\\"'' \\\\\\n--header 'Content-Type: application/json' \\\\\\n--header 'Notion-Version: 2022-06-28' \\\\\\n--data '{\\n\\t\\\"grant_type\\\": \\\"authorization_code\\\",\\n  \\\"code\\\": \\\"e202e8c9-0990-40af-855f-ff8f872b1ec6\\\",\\n  \\\"redirect_uri\\\": \\\"https://example.com/auth/notion/callback\\\"\\n}'\",\n              \"name\": \"Create a token for a public integration\"\n            }\n          ],\n          \"samples-languages\": [\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/v1/external/object\": {\n      \"patch\": {\n        \"summary\": \"Update a Link Preview\",\n        \"description\": \"\",\n        \"operationId\": \"update-a-link-preview\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\n                  \"uri\"\n                ],\n                \"properties\": {\n                  \"uri\": {\n                    \"type\": \"string\",\n                    \"description\": \"A string identifier for the link that the Notion user originally shared to create the Link Preview.\"\n                  },\n                  \"operations\": {\n                    \"type\": \"array\",\n                    \"description\": \"The changes to make to the Link Preview, as detailed in the `path` and `set` values.\",\n                    \"items\": {\n                      \"properties\": {\n                        \"path\": {\n                          \"type\": \"string\",\n                          \"description\": \"A constant string, either `\\\"attributes\\\"` or `\\\"error\\\"`, that indicates the part of the Link Preview to update.\"\n                        },\n                        \"set\": {\n                          \"type\": \"mixed type\",\n                          \"description\": \"An array of [unfurl attribute objects](https://developers.notion.com/reference/unfurl-attribute-object) to update, or, if the path value is `\\\"error\\\"`, an object indicating a new error `status` and `message` for the Link Preview.\"\n                        }\n                      },\n                      \"type\": \"object\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"200\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{\\n  \\\"uri\\\": \\\"http://example.com/file/123\\\",\\n  \\\"operations\\\": [\\n    {\\n      \\\"path\\\": [\\n        \\\"attributes\\\"\\n      ],\\n      \\\"set\\\": [\\n        {\\n          \\\"id\\\": \\\"title\\\",\\n          \\\"name\\\": \\\"Title\\\",\\n          \\\"type\\\": \\\"inline\\\",\\n          \\\"inline\\\": {\\n            \\\"title\\\": {\\n              \\\"value\\\": \\\"The Link Preview's Title\\\",\\n              \\\"section\\\": \\\"title\\\"\\n            }\\n          }\\n        },\\n        {\\n          \\\"id\\\": \\\"dev\\\",\\n          \\\"name\\\": \\\"Developer Name\\\",\\n          \\\"type\\\": \\\"inline\\\",\\n          \\\"inline\\\": {\\n            \\\"plain_text\\\": {\\n              \\\"value\\\": \\\"Acme Inc\\\",\\n              \\\"section\\\": \\\"secondary\\\"\\n            }\\n          }\\n        },\\n        {\\n          \\\"id\\\": \\\"color\\\",\\n          \\\"name\\\": \\\"Color\\\",\\n          \\\"type\\\": \\\"inline\\\",\\n          \\\"inline\\\": {\\n            \\\"color\\\": {\\n              \\\"value\\\": {\\n                \\\"r\\\": 235,\\n                \\\"g\\\": 64,\\n                \\\"b\\\": 52\\n              },\\n              \\\"section\\\": \\\"background\\\"\\n            }\\n          }\\n        }\\n      ]\\n    }\\n  ]\\n}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"uri\": {\n                      \"type\": \"string\",\n                      \"example\": \"http://example.com/file/123\"\n                    },\n                    \"operations\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"path\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                              \"type\": \"string\",\n                              \"example\": \"attributes\"\n                            }\n                          },\n                          \"set\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"id\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"title\"\n                                },\n                                \"name\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"Title\"\n                                },\n                                \"type\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"inline\"\n                                },\n                                \"inline\": {\n                                  \"type\": \"object\",\n                                  \"properties\": {\n                                    \"title\": {\n                                      \"type\": \"object\",\n                                      \"properties\": {\n                                        \"value\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"The Link Preview's Title\"\n                                        },\n                                        \"section\": {\n                                          \"type\": \"string\",\n                                          \"example\": \"title\"\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"400\",\n            \"content\": {\n              \"application/json\": {\n                \"examples\": {\n                  \"Result\": {\n                    \"value\": \"{}\"\n                  }\n                },\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {}\n                }\n              }\n            }\n          }\n        },\n        \"deprecated\": false,\n        \"x-readme\": {\n          \"code-samples\": [\n            {\n              \"language\": \"curl\",\n              \"code\": \"curl -d `{\\n  \\\"uri\\\": \\\"http://example.com/file/123\\\",\\n    \\\"operations\\\": [\\n        {\\n          \\\"path\\\": [\\\"attributes\\\"],\\n        \\\"set\\\": [\\n          {\\n            \\\"id\\\": \\\"title\\\",\\n            \\\"name\\\": \\\"Title\\\",\\n            \\\"type\\\": \\\"inline\\\",\\n            \\\"inline\\\": {\\n              \\\"title\\\": {\\n                \\\"value\\\": \\\"The Link Preview's NEW Title\\\",\\n                \\\"section\\\": \\\"title\\\"\\n              }\\n            }\\n          },\\n          {\\n            \\\"id\\\": \\\"color\\\",\\n            \\\"name\\\": \\\"Color\\\",\\n            \\\"type\\\": \\\"inline\\\",\\n            \\\"inline\\\": {\\n              \\\"color\\\": {\\n                \\\"value\\\": {\\n                  \\\"r\\\": 235,\\n                  \\\"g\\\": 64,\\n                  \\\"b\\\": 52\\n                },\\n                \\\"section\\\": \\\"background\\\"\\n              }\\n            }\\n          }\\n        ]\\n        }\\n  ]\\n}` \\\\\\n    -H \\\"Content-Type: application/json\\\" \\\\\\n    -H \\\"Authorization: Bearer <ACCESS_TOKEN>\\\" \\\\\\n      -H \\\"Notion-Version: 2021-08-16\\\" \\\\\\n    -X PATCH https://api.notion.com/v1/external/object\"\n            }\n          ],\n          \"samples-languages\": [\n            \"curl\"\n          ]\n        }\n      }\n    }\n  },\n  \"x-readme\": {\n    \"headers\": [],\n    \"explorer-enabled\": false,\n    \"proxy-enabled\": true,\n    \"samples-enabled\": true\n  },\n  \"x-readme-fauxas\": true\n}"},{"id":"klarna","domain":"www.klarna.com","openapi":"{\n  \"openapi\": \"3.0.1\",\n  \"info\": {\n    \"version\": \"v0\",\n    \"title\": \"Open AI Klarna product Api\"\n  },\n  \"servers\": [\n    {\n      \"url\": \"https://www.klarna.com/us/shopping\"\n    }\n  ],\n  \"tags\": [\n    {\n      \"name\": \"open-ai-product-endpoint\",\n      \"description\": \"Open AI Product Endpoint. Query for products.\"\n    }\n  ],\n  \"paths\": {\n    \"/public/openai/v0/products\": {\n      \"get\": {\n        \"tags\": [\n          \"open-ai-product-endpoint\"\n        ],\n        \"summary\": \"API for fetching Klarna product information\",\n        \"operationId\": \"productsUsingGET\",\n        \"parameters\": [\n          {\n            \"name\": \"q\",\n            \"in\": \"query\",\n            \"description\": \"A precise query that matches one very small category or product that needs to be searched for to find the products the user is looking for. If the user explicitly stated what they want, use that as a query. The query is as specific as possible to the product name or category mentioned by the user in its singular form, and don't contain any clarifiers like latest, newest, cheapest, budget, premium, expensive or similar. The query is always taken from the latest topic, if there is a new topic a new query is started.\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"size\",\n            \"in\": \"query\",\n            \"description\": \"number of products returned\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"min_price\",\n            \"in\": \"query\",\n            \"description\": \"(Optional) Minimum price in local currency for the product searched for. Either explicitly stated by the user or implicitly inferred from a combination of the user's request and the kind of product searched for.\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"max_price\",\n            \"in\": \"query\",\n            \"description\": \"(Optional) Maximum price in local currency for the product searched for. Either explicitly stated by the user or implicitly inferred from a combination of the user's request and the kind of product searched for.\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Products found\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ProductResponse\"\n                }\n              }\n            }\n          },\n          \"503\": {\n            \"description\": \"one or more services are unavailable\"\n          }\n        },\n        \"deprecated\": false\n      }\n    }\n  },\n  \"components\": {\n    \"schemas\": {\n      \"Product\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"attributes\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"name\": {\n            \"type\": \"string\"\n          },\n          \"price\": {\n            \"type\": \"string\"\n          },\n          \"url\": {\n            \"type\": \"string\"\n          }\n        },\n        \"title\": \"Product\"\n      },\n      \"ProductResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"products\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Product\"\n            }\n          }\n        },\n        \"title\": \"ProductResponse\"\n      }\n    }\n  }\n}"},{"id":"open-meteo","domain":"api.open-meteo.com","openapi":"{\"openapi\":\"3.0.0\",\"info\":{\"title\":\"Open-Meteo APIs\",\"description\":\"Open-Meteo offers free weather forecast APIs for open-source developers and non-commercial use. No API key is required.\",\"version\":\"1.0\",\"contact\":{\"name\":\"Open-Meteo\",\"url\":\"https://open-meteo.com\",\"email\":\"info@open-meteo.com\"},\"license\":{\"name\":\"Attribution 4.0 International (CC BY 4.0)\",\"url\":\"https://creativecommons.org/licenses/by/4.0/\"},\"termsOfService\":\"https://open-meteo.com/en/features#terms\"},\"paths\":{\"/v1/forecast\":{\"servers\":[{\"url\":\"https://api.open-meteo.com\"}],\"get\":{\"tags\":[\"Weather Forecast APIs\"],\"summary\":\"7 day weather forecast for coordinates\",\"description\":\"7 day weather variables in hourly and daily resolution for given WGS84 latitude and longitude coordinates. Available worldwide.\",\"parameters\":[{\"name\":\"hourly\",\"in\":\"query\",\"explode\":false,\"schema\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"temperature_2m\",\"relativehumidity_2m\",\"dewpoint_2m\",\"apparent_temperature\",\"pressure_msl\",\"cloudcover\",\"cloudcover_low\",\"cloudcover_mid\",\"cloudcover_high\",\"windspeed_10m\",\"windspeed_80m\",\"windspeed_120m\",\"windspeed_180m\",\"winddirection_10m\",\"winddirection_80m\",\"winddirection_120m\",\"winddirection_180m\",\"windgusts_10m\",\"shortwave_radiation\",\"direct_radiation\",\"direct_normal_irradiance\",\"diffuse_radiation\",\"vapor_pressure_deficit\",\"evapotranspiration\",\"precipitation\",\"weathercode\",\"snow_height\",\"freezinglevel_height\",\"soil_temperature_0cm\",\"soil_temperature_6cm\",\"soil_temperature_18cm\",\"soil_temperature_54cm\",\"soil_moisture_0_1cm\",\"soil_moisture_1_3cm\",\"soil_moisture_3_9cm\",\"soil_moisture_9_27cm\",\"soil_moisture_27_81cm\"]}}},{\"name\":\"daily\",\"in\":\"query\",\"schema\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"temperature_2m_max\",\"temperature_2m_min\",\"apparent_temperature_max\",\"apparent_temperature_min\",\"precipitation_sum\",\"precipitation_hours\",\"weathercode\",\"sunrise\",\"sunset\",\"windspeed_10m_max\",\"windgusts_10m_max\",\"winddirection_10m_dominant\",\"shortwave_radiation_sum\",\"uv_index_max\",\"uv_index_clear_sky_max\",\"et0_fao_evapotranspiration\"]}}},{\"name\":\"latitude\",\"in\":\"query\",\"required\":true,\"description\":\"WGS84 coordinate\",\"schema\":{\"type\":\"number\",\"format\":\"float\"}},{\"name\":\"longitude\",\"in\":\"query\",\"required\":true,\"description\":\"WGS84 coordinate\",\"schema\":{\"type\":\"number\",\"format\":\"float\"}},{\"name\":\"current_weather\",\"in\":\"query\",\"schema\":{\"type\":\"boolean\"}},{\"name\":\"temperature_unit\",\"in\":\"query\",\"schema\":{\"type\":\"string\",\"default\":\"celsius\",\"enum\":[\"celsius\",\"fahrenheit\"]}},{\"name\":\"windspeed_unit\",\"in\":\"query\",\"schema\":{\"type\":\"string\",\"default\":\"kmh\",\"enum\":[\"kmh\",\"ms\",\"mph\",\"kn\"]}},{\"name\":\"timeformat\",\"in\":\"query\",\"description\":\"If format `unixtime` is selected, all time values are returned in UNIX epoch time in seconds. Please not that all time is then in GMT+0! For daily values with unix timestamp, please apply `utc_offset_seconds` again to get the correct date.\",\"schema\":{\"type\":\"string\",\"default\":\"iso8601\",\"enum\":[\"iso8601\",\"unixtime\"]}},{\"name\":\"timezone\",\"in\":\"query\",\"description\":\"If `timezone` is set, all timestamps are returned as local-time and data is returned starting at 0:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) is supported.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"past_days\",\"in\":\"query\",\"description\":\"If `past_days` is set, yesterdays or the day before yesterdays data are also returned.\",\"schema\":{\"type\":\"integer\",\"enum\":[1,2]}}],\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"latitude\":{\"type\":\"number\",\"example\":52.52,\"description\":\"WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be up to 5 km away.\"},\"longitude\":{\"type\":\"number\",\"example\":\"13.419.52\",\"description\":\"WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be up to 5 km away.\"},\"elevation\":{\"type\":\"number\",\"example\":44.812,\"description\":\"The elevation in meters of the selected weather grid-cell. In mountain terrain it might differ from the location you would expect.\"},\"generationtime_ms\":{\"type\":\"number\",\"example\":2.2119,\"description\":\"Generation time of the weather forecast in milli seconds. This is mainly used for performance monitoring and improvements.\"},\"utc_offset_seconds\":{\"type\":\"integer\",\"example\":3600,\"description\":\"Applied timezone offset from the &timezone= parameter.\"},\"hourly\":{\"type\":\"object\",\"description\":\"For each selected weather variable, data will be returned as a floating point array. Additionally a `time` array will be returned with ISO8601 timestamps.\"},\"hourly_units\":{\"type\":\"object\",\"description\":\"For each selected weather variable, the unit will be listed here.\"},\"daily\":{\"type\":\"object\",\"description\":\"For each selected daily weather variable, data will be returned as a floating point array. Additionally a `time` array will be returned with ISO8601 timestamps.\"},\"daily_units\":{\"type\":\"object\",\"description\":\"For each selected daily weather variable, the unit will be listed here.\"},\"current_weather\":{\"type\":\"object\",\"description\":\"Current weather conditions with the attributes: time, temperature, windspeed, winddirection and weathercode\"}}}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"error\":{\"type\":\"boolean\",\"description\":\"Always set true for errors\"},\"reason\":{\"type\":\"string\",\"description\":\"Description of the error\",\"example\":\"Latitude must be in range of -90 to 90°. Given: 300\"}}}}}}}}}}}"},{"id":"openai","domain":"api.openai.com","openapi":"{\n  \"openapi\": \"3.0.0\",\n  \"info\": {\n    \"title\": \"OpenAI API\",\n    \"description\": \"APIs for sampling from and fine-tuning language models\",\n    \"version\": \"1.2.0\"\n  },\n  \"servers\": [\n    {\n      \"url\": \"https://api.openai.com/v1\"\n    }\n  ],\n  \"tags\": [\n    {\n      \"name\": \"OpenAI\",\n      \"description\": \"The OpenAI REST API\"\n    }\n  ],\n  \"paths\": {\n    \"/engines\": {\n      \"get\": {\n        \"operationId\": \"listEngines\",\n        \"deprecated\": true,\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Lists the currently available (non-finetuned) models, and provides basic information about each one such as the owner and availability.\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListEnginesResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"List engines\",\n          \"group\": \"engines\",\n          \"path\": \"list\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/engines \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Engine.list()\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.listEngines();\\n\"\n          },\n          \"response\": \"{\\n  \\\"data\\\": [\\n    {\\n      \\\"id\\\": \\\"engine-id-0\\\",\\n      \\\"object\\\": \\\"engine\\\",\\n      \\\"owner\\\": \\\"organization-owner\\\",\\n      \\\"ready\\\": true\\n    },\\n    {\\n      \\\"id\\\": \\\"engine-id-2\\\",\\n      \\\"object\\\": \\\"engine\\\",\\n      \\\"owner\\\": \\\"organization-owner\\\",\\n      \\\"ready\\\": true\\n    },\\n    {\\n      \\\"id\\\": \\\"engine-id-3\\\",\\n      \\\"object\\\": \\\"engine\\\",\\n      \\\"owner\\\": \\\"openai\\\",\\n      \\\"ready\\\": false\\n    },\\n  ],\\n  \\\"object\\\": \\\"list\\\"\\n}\\n\"\n        }\n      }\n    },\n    \"/engines/{engine_id}\": {\n      \"get\": {\n        \"operationId\": \"retrieveEngine\",\n        \"deprecated\": true,\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Retrieves a model instance, providing basic information about it such as the owner and availability.\",\n        \"parameters\": [\n          {\n            \"in\": \"path\",\n            \"name\": \"engine_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"example\": \"davinci\"\n            },\n            \"description\": \"The ID of the engine to use for this request\\n\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Engine\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Retrieve engine\",\n          \"group\": \"engines\",\n          \"path\": \"retrieve\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/engines/VAR_model_id \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Engine.retrieve(\\\"VAR_model_id\\\")\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.retrieveEngine(\\\"VAR_model_id\\\");\\n\"\n          },\n          \"response\": \"{\\n  \\\"id\\\": \\\"VAR_model_id\\\",\\n  \\\"object\\\": \\\"engine\\\",\\n  \\\"owner\\\": \\\"openai\\\",\\n  \\\"ready\\\": true\\n}\\n\"\n        }\n      }\n    },\n    \"/completions\": {\n      \"post\": {\n        \"operationId\": \"createCompletion\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Creates a completion for the provided prompt and parameters\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateCompletionRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CreateCompletionResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create completion\",\n          \"group\": \"completions\",\n          \"path\": \"create\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/completions \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\\\\n  -d '{\\n  \\\"model\\\": \\\"VAR_model_id\\\",\\n  \\\"prompt\\\": \\\"Say this is a test\\\",\\n  \\\"max_tokens\\\": 7,\\n  \\\"temperature\\\": 0\\n}'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Completion.create(\\n  model=\\\"VAR_model_id\\\",\\n  prompt=\\\"Say this is a test\\\",\\n  max_tokens=7,\\n  temperature=0\\n)\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.createCompletion({\\n  model: \\\"VAR_model_id\\\",\\n  prompt: \\\"Say this is a test\\\",\\n  max_tokens: 7,\\n  temperature: 0,\\n});\\n\"\n          },\n          \"parameters\": \"{\\n  \\\"model\\\": \\\"VAR_model_id\\\",\\n  \\\"prompt\\\": \\\"Say this is a test\\\",\\n  \\\"max_tokens\\\": 7,\\n  \\\"temperature\\\": 0,\\n  \\\"top_p\\\": 1,\\n  \\\"n\\\": 1,\\n  \\\"stream\\\": false,\\n  \\\"logprobs\\\": null,\\n  \\\"stop\\\": \\\"\\\\n\\\"\\n}\\n\",\n          \"response\": \"{\\n  \\\"id\\\": \\\"cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7\\\",\\n  \\\"object\\\": \\\"text_completion\\\",\\n  \\\"created\\\": 1589478378,\\n  \\\"model\\\": \\\"VAR_model_id\\\",\\n  \\\"choices\\\": [\\n    {\\n      \\\"text\\\": \\\"\\\\n\\\\nThis is indeed a test\\\",\\n      \\\"index\\\": 0,\\n      \\\"logprobs\\\": null,\\n      \\\"finish_reason\\\": \\\"length\\\"\\n    }\\n  ],\\n  \\\"usage\\\": {\\n    \\\"prompt_tokens\\\": 5,\\n    \\\"completion_tokens\\\": 7,\\n    \\\"total_tokens\\\": 12\\n  }\\n}\\n\"\n        }\n      }\n    },\n    \"/chat/completions\": {\n      \"post\": {\n        \"operationId\": \"createChatCompletion\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Creates a completion for the chat message\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateChatCompletionRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CreateChatCompletionResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create chat completion\",\n          \"group\": \"chat\",\n          \"path\": \"create\",\n          \"beta\": true,\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/chat/completions \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\\\\n  -d '{\\n  \\\"model\\\": \\\"gpt-3.5-turbo\\\",\\n  \\\"messages\\\": [{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"Hello!\\\"}]\\n}'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\n\\ncompletion = openai.ChatCompletion.create(\\n  model=\\\"gpt-3.5-turbo\\\",\\n  messages=[\\n    {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"Hello!\\\"}\\n  ]\\n)\\n\\nprint(completion.choices[0].message)\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\n\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\n\\nconst completion = await openai.createChatCompletion({\\n  model: \\\"gpt-3.5-turbo\\\",\\n  messages: [{role: \\\"user\\\", content: \\\"Hello world\\\"}],\\n});\\nconsole.log(completion.data.choices[0].message);\\n\"\n          },\n          \"parameters\": \"{\\n  \\\"model\\\": \\\"gpt-3.5-turbo\\\",\\n  \\\"messages\\\": [{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"Hello!\\\"}]\\n}\\n\",\n          \"response\": \"{\\n  \\\"id\\\": \\\"chatcmpl-123\\\",\\n  \\\"object\\\": \\\"chat.completion\\\",\\n  \\\"created\\\": 1677652288,\\n  \\\"choices\\\": [{\\n    \\\"index\\\": 0,\\n    \\\"message\\\": {\\n      \\\"role\\\": \\\"assistant\\\",\\n      \\\"content\\\": \\\"\\\\n\\\\nHello there, how may I assist you today?\\\",\\n    },\\n    \\\"finish_reason\\\": \\\"stop\\\"\\n  }],\\n  \\\"usage\\\": {\\n    \\\"prompt_tokens\\\": 9,\\n    \\\"completion_tokens\\\": 12,\\n    \\\"total_tokens\\\": 21\\n  }\\n}\\n\"\n        }\n      }\n    },\n    \"/edits\": {\n      \"post\": {\n        \"operationId\": \"createEdit\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Creates a new edit for the provided input, instruction, and parameters.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateEditRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CreateEditResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create edit\",\n          \"group\": \"edits\",\n          \"path\": \"create\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/edits \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\\\\n  -d '{\\n  \\\"model\\\": \\\"VAR_model_id\\\",\\n  \\\"input\\\": \\\"What day of the wek is it?\\\",\\n  \\\"instruction\\\": \\\"Fix the spelling mistakes\\\"\\n}'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Edit.create(\\n  model=\\\"VAR_model_id\\\",\\n  input=\\\"What day of the wek is it?\\\",\\n  instruction=\\\"Fix the spelling mistakes\\\"\\n)\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.createEdit({\\n  model: \\\"VAR_model_id\\\",\\n  input: \\\"What day of the wek is it?\\\",\\n  instruction: \\\"Fix the spelling mistakes\\\",\\n});\\n\"\n          },\n          \"parameters\": \"{\\n  \\\"model\\\": \\\"VAR_model_id\\\",\\n  \\\"input\\\": \\\"What day of the wek is it?\\\",\\n  \\\"instruction\\\": \\\"Fix the spelling mistakes\\\",\\n}\\n\",\n          \"response\": \"{\\n  \\\"object\\\": \\\"edit\\\",\\n  \\\"created\\\": 1589478378,\\n  \\\"choices\\\": [\\n    {\\n      \\\"text\\\": \\\"What day of the week is it?\\\",\\n      \\\"index\\\": 0,\\n    }\\n  ],\\n  \\\"usage\\\": {\\n    \\\"prompt_tokens\\\": 25,\\n    \\\"completion_tokens\\\": 32,\\n    \\\"total_tokens\\\": 57\\n  }\\n}\\n\"\n        }\n      }\n    },\n    \"/images/generations\": {\n      \"post\": {\n        \"operationId\": \"createImage\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Creates an image given a prompt.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateImageRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ImagesResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create image\",\n          \"group\": \"images\",\n          \"path\": \"create\",\n          \"beta\": true,\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/images/generations \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\\\\n  -d '{\\n  \\\"prompt\\\": \\\"A cute baby sea otter\\\",\\n  \\\"n\\\": 2,\\n  \\\"size\\\": \\\"1024x1024\\\"\\n}'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Image.create(\\n  prompt=\\\"A cute baby sea otter\\\",\\n  n=2,\\n  size=\\\"1024x1024\\\"\\n)\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.createImage({\\n  prompt: \\\"A cute baby sea otter\\\",\\n  n: 2,\\n  size: \\\"1024x1024\\\",\\n});\\n\"\n          },\n          \"parameters\": \"{\\n  \\\"prompt\\\": \\\"A cute baby sea otter\\\",\\n  \\\"n\\\": 2,\\n  \\\"size\\\": \\\"1024x1024\\\"\\n}\\n\",\n          \"response\": \"{\\n  \\\"created\\\": 1589478378,\\n  \\\"data\\\": [\\n    {\\n      \\\"url\\\": \\\"https://...\\\"\\n    },\\n    {\\n      \\\"url\\\": \\\"https://...\\\"\\n    }\\n  ]\\n}\\n\"\n        }\n      }\n    },\n    \"/images/edits\": {\n      \"post\": {\n        \"operationId\": \"createImageEdit\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Creates an edited or extended image given an original image and a prompt.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"multipart/form-data\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateImageEditRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ImagesResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create image edit\",\n          \"group\": \"images\",\n          \"path\": \"create-edit\",\n          \"beta\": true,\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/images/edits \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\\\\n  -F image='@otter.png' \\\\\\n  -F mask='@mask.png' \\\\\\n  -F prompt=\\\"A cute baby sea otter wearing a beret\\\" \\\\\\n  -F n=2 \\\\\\n  -F size=\\\"1024x1024\\\"\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Image.create_edit(\\n  image=open(\\\"otter.png\\\", \\\"rb\\\"),\\n  mask=open(\\\"mask.png\\\", \\\"rb\\\"),\\n  prompt=\\\"A cute baby sea otter wearing a beret\\\",\\n  n=2,\\n  size=\\\"1024x1024\\\"\\n)\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.createImageEdit(\\n  fs.createReadStream(\\\"otter.png\\\"),\\n  fs.createReadStream(\\\"mask.png\\\"),\\n  \\\"A cute baby sea otter wearing a beret\\\",\\n  2,\\n  \\\"1024x1024\\\"\\n);\\n\"\n          },\n          \"response\": \"{\\n  \\\"created\\\": 1589478378,\\n  \\\"data\\\": [\\n    {\\n      \\\"url\\\": \\\"https://...\\\"\\n    },\\n    {\\n      \\\"url\\\": \\\"https://...\\\"\\n    }\\n  ]\\n}\\n\"\n        }\n      }\n    },\n    \"/images/variations\": {\n      \"post\": {\n        \"operationId\": \"createImageVariation\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Creates a variation of a given image.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"multipart/form-data\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateImageVariationRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ImagesResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create image variation\",\n          \"group\": \"images\",\n          \"path\": \"create-variation\",\n          \"beta\": true,\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/images/variations \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\\\\n  -F image='@otter.png' \\\\\\n  -F n=2 \\\\\\n  -F size=\\\"1024x1024\\\"\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Image.create_variation(\\n  image=open(\\\"otter.png\\\", \\\"rb\\\"),\\n  n=2,\\n  size=\\\"1024x1024\\\"\\n)\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.createImageVariation(\\n  fs.createReadStream(\\\"otter.png\\\"),\\n  2,\\n  \\\"1024x1024\\\"\\n);\\n\"\n          },\n          \"response\": \"{\\n  \\\"created\\\": 1589478378,\\n  \\\"data\\\": [\\n    {\\n      \\\"url\\\": \\\"https://...\\\"\\n    },\\n    {\\n      \\\"url\\\": \\\"https://...\\\"\\n    }\\n  ]\\n}\\n\"\n        }\n      }\n    },\n    \"/embeddings\": {\n      \"post\": {\n        \"operationId\": \"createEmbedding\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Creates an embedding vector representing the input text.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateEmbeddingRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CreateEmbeddingResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create embeddings\",\n          \"group\": \"embeddings\",\n          \"path\": \"create\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/embeddings \\\\\\n  -X POST \\\\\\n  -H \\\"Authorization: Bearer YOUR_API_KEY\\\" \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -d '{\\\"input\\\": \\\"The food was delicious and the waiter...\\\",\\n       \\\"model\\\": \\\"text-embedding-ada-002\\\"}'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Embedding.create(\\n  model=\\\"text-embedding-ada-002\\\",\\n  input=\\\"The food was delicious and the waiter...\\\"\\n)\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.createEmbedding({\\n  model: \\\"text-embedding-ada-002\\\",\\n  input: \\\"The food was delicious and the waiter...\\\",\\n});\\n\"\n          },\n          \"parameters\": \"{\\n  \\\"model\\\": \\\"text-embedding-ada-002\\\",\\n  \\\"input\\\": \\\"The food was delicious and the waiter...\\\"\\n}\\n\",\n          \"response\": \"{\\n  \\\"object\\\": \\\"list\\\",\\n  \\\"data\\\": [\\n    {\\n      \\\"object\\\": \\\"embedding\\\",\\n      \\\"embedding\\\": [\\n        0.0023064255,\\n        -0.009327292,\\n        .... (1536 floats total for ada-002)\\n        -0.0028842222,\\n      ],\\n      \\\"index\\\": 0\\n    }\\n  ],\\n  \\\"model\\\": \\\"text-embedding-ada-002\\\",\\n  \\\"usage\\\": {\\n    \\\"prompt_tokens\\\": 8,\\n    \\\"total_tokens\\\": 8\\n  }\\n}\\n\"\n        }\n      }\n    },\n    \"/audio/transcriptions\": {\n      \"post\": {\n        \"operationId\": \"createTranscription\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Transcribes audio into the input language.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"multipart/form-data\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateTranscriptionRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CreateTranscriptionResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create transcription\",\n          \"group\": \"audio\",\n          \"path\": \"create\",\n          \"beta\": true,\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/audio/transcriptions \\\\\\n  -X POST \\\\\\n  -H 'Authorization: Bearer TOKEN' \\\\\\n  -H 'Content-Type: multipart/form-data' \\\\\\n  -F file=@/path/to/file/audio.mp3 \\\\\\n  -F model=whisper-1\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\naudio_file = open(\\\"audio.mp3\\\", \\\"rb\\\")\\ntranscript = openai.Audio.transcribe(\\\"whisper-1\\\", audio_file)\\n\",\n            \"node\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst resp = await openai.createTranscription(\\n  fs.createReadStream(\\\"audio.mp3\\\"),\\n  \\\"whisper-1\\\"\\n);\\n\"\n          },\n          \"parameters\": \"{\\n  \\\"file\\\": \\\"audio.mp3\\\",\\n  \\\"model\\\": \\\"whisper-1\\\"\\n}\\n\",\n          \"response\": \"{\\n  \\\"text\\\": \\\"Imagine the wildest idea that you've ever had, and you're curious about how it might scale to something that's a 100, a 1,000 times bigger. This is a place where you can get to do that.\\\"\\n}\\n\"\n        }\n      }\n    },\n    \"/audio/translations\": {\n      \"post\": {\n        \"operationId\": \"createTranslation\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Translates audio into into English.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"multipart/form-data\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateTranslationRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CreateTranslationResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create translation\",\n          \"group\": \"audio\",\n          \"path\": \"create\",\n          \"beta\": true,\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/audio/translations \\\\\\n    -X POST \\\\\\n    -H 'Authorization: Bearer TOKEN' \\\\\\n    -H 'Content-Type: multipart/form-data' \\\\\\n    -F file=@/path/to/file/german.m4a \\\\\\n    -F model=whisper-1\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\naudio_file = open(\\\"german.m4a\\\", \\\"rb\\\")\\ntranscript = openai.Audio.translate(\\\"whisper-1\\\", audio_file)\\n\",\n            \"node\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst resp = await openai.createTranslation(\\n  fs.createReadStream(\\\"audio.mp3\\\"),\\n  \\\"whisper-1\\\"\\n);\\n\"\n          },\n          \"parameters\": \"{\\n  \\\"file\\\": \\\"german.m4a\\\",\\n  \\\"model\\\": \\\"whisper-1\\\"\\n}\\n\",\n          \"response\": \"{\\n  \\\"text\\\": \\\"Hello, my name is Wolfgang and I come from Germany. Where are you heading today?\\\"\\n}\\n\"\n        }\n      }\n    },\n    \"/engines/{engine_id}/search\": {\n      \"post\": {\n        \"operationId\": \"createSearch\",\n        \"deprecated\": true,\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"The search endpoint computes similarity scores between provided query and documents. Documents can be passed directly to the API if there are no more than 200 of them.\\n\\nTo go beyond the 200 document limit, documents can be processed offline and then used for efficient retrieval at query time. When `file` is set, the search endpoint searches over all the documents in the given file and returns up to the `max_rerank` number of documents. These documents will be returned along with their search scores.\\n\\nThe similarity score is a positive score that usually ranges from 0 to 300 (but can sometimes go higher), where a score above 200 usually means the document is semantically similar to the query.\\n\",\n        \"parameters\": [\n          {\n            \"in\": \"path\",\n            \"name\": \"engine_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"example\": \"davinci\"\n            },\n            \"description\": \"The ID of the engine to use for this request.  You can select one of `ada`, `babbage`, `curie`, or `davinci`.\"\n          }\n        ],\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateSearchRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CreateSearchResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create search\",\n          \"group\": \"searches\",\n          \"path\": \"create\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/engines/davinci/search \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\\\\n  -d '{\\n  \\\"documents\\\": [\\\"White House\\\", \\\"hospital\\\", \\\"school\\\"],\\n  \\\"query\\\": \\\"the president\\\"\\n}'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Engine(\\\"davinci\\\").search(\\n  documents=[\\\"White House\\\", \\\"hospital\\\", \\\"school\\\"],\\n  query=\\\"the president\\\"\\n)\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.createSearch(\\\"davinci\\\", {\\n  documents: [\\\"White House\\\", \\\"hospital\\\", \\\"school\\\"],\\n  query: \\\"the president\\\",\\n});\\n\"\n          },\n          \"parameters\": \"{\\n  \\\"documents\\\": [\\n    \\\"White House\\\",\\n    \\\"hospital\\\",\\n    \\\"school\\\"\\n  ],\\n  \\\"query\\\": \\\"the president\\\"\\n}\\n\",\n          \"response\": \"{\\n  \\\"data\\\": [\\n    {\\n      \\\"document\\\": 0,\\n      \\\"object\\\": \\\"search_result\\\",\\n      \\\"score\\\": 215.412\\n    },\\n    {\\n      \\\"document\\\": 1,\\n      \\\"object\\\": \\\"search_result\\\",\\n      \\\"score\\\": 40.316\\n    },\\n    {\\n      \\\"document\\\": 2,\\n      \\\"object\\\": \\\"search_result\\\",\\n      \\\"score\\\":  55.226\\n    }\\n  ],\\n  \\\"object\\\": \\\"list\\\"\\n}\\n\"\n        }\n      }\n    },\n    \"/files\": {\n      \"get\": {\n        \"operationId\": \"listFiles\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Returns a list of files that belong to the user's organization.\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListFilesResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"List files\",\n          \"group\": \"files\",\n          \"path\": \"list\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/files \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.File.list()\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.listFiles();\\n\"\n          },\n          \"response\": \"{\\n  \\\"data\\\": [\\n    {\\n      \\\"id\\\": \\\"file-ccdDZrC3iZVNiQVeEA6Z66wf\\\",\\n      \\\"object\\\": \\\"file\\\",\\n      \\\"bytes\\\": 175,\\n      \\\"created_at\\\": 1613677385,\\n      \\\"filename\\\": \\\"train.jsonl\\\",\\n      \\\"purpose\\\": \\\"search\\\"\\n    },\\n    {\\n      \\\"id\\\": \\\"file-XjGxS3KTG0uNmNOK362iJua3\\\",\\n      \\\"object\\\": \\\"file\\\",\\n      \\\"bytes\\\": 140,\\n      \\\"created_at\\\": 1613779121,\\n      \\\"filename\\\": \\\"puppy.jsonl\\\",\\n      \\\"purpose\\\": \\\"search\\\"\\n    }\\n  ],\\n  \\\"object\\\": \\\"list\\\"\\n}\\n\"\n        }\n      },\n      \"post\": {\n        \"operationId\": \"createFile\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Upload a file that contains document(s) to be used across various endpoints/features. Currently, the size of all the files uploaded by one organization can be up to 1 GB. Please contact us if you need to increase the storage limit.\\n\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"multipart/form-data\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateFileRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/OpenAIFile\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Upload file\",\n          \"group\": \"files\",\n          \"path\": \"upload\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/files \\\\\\n  -H \\\"Authorization: Bearer YOUR_API_KEY\\\" \\\\\\n  -F purpose=\\\"fine-tune\\\" \\\\\\n  -F file='@mydata.jsonl'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.File.create(\\n  file=open(\\\"mydata.jsonl\\\", \\\"rb\\\"),\\n  purpose='fine-tune'\\n)\\n\",\n            \"node.js\": \"const fs = require(\\\"fs\\\");\\nconst { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.createFile(\\n  fs.createReadStream(\\\"mydata.jsonl\\\"),\\n  \\\"fine-tune\\\"\\n);\\n\"\n          },\n          \"response\": \"{\\n  \\\"id\\\": \\\"file-XjGxS3KTG0uNmNOK362iJua3\\\",\\n  \\\"object\\\": \\\"file\\\",\\n  \\\"bytes\\\": 140,\\n  \\\"created_at\\\": 1613779121,\\n  \\\"filename\\\": \\\"mydata.jsonl\\\",\\n  \\\"purpose\\\": \\\"fine-tune\\\"\\n}\\n\"\n        }\n      }\n    },\n    \"/files/{file_id}\": {\n      \"delete\": {\n        \"operationId\": \"deleteFile\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Delete a file.\",\n        \"parameters\": [\n          {\n            \"in\": \"path\",\n            \"name\": \"file_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"description\": \"The ID of the file to use for this request\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/DeleteFileResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Delete file\",\n          \"group\": \"files\",\n          \"path\": \"delete\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/files/file-XjGxS3KTG0uNmNOK362iJua3 \\\\\\n  -X DELETE \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.File.delete(\\\"file-XjGxS3KTG0uNmNOK362iJua3\\\")\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.deleteFile(\\\"file-XjGxS3KTG0uNmNOK362iJua3\\\");\\n\"\n          },\n          \"response\": \"{\\n  \\\"id\\\": \\\"file-XjGxS3KTG0uNmNOK362iJua3\\\",\\n  \\\"object\\\": \\\"file\\\",\\n  \\\"deleted\\\": true\\n}\\n\"\n        }\n      },\n      \"get\": {\n        \"operationId\": \"retrieveFile\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Returns information about a specific file.\",\n        \"parameters\": [\n          {\n            \"in\": \"path\",\n            \"name\": \"file_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"description\": \"The ID of the file to use for this request\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/OpenAIFile\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Retrieve file\",\n          \"group\": \"files\",\n          \"path\": \"retrieve\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/files/file-XjGxS3KTG0uNmNOK362iJua3 \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.File.retrieve(\\\"file-XjGxS3KTG0uNmNOK362iJua3\\\")\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.retrieveFile(\\\"file-XjGxS3KTG0uNmNOK362iJua3\\\");\\n\"\n          },\n          \"response\": \"{\\n  \\\"id\\\": \\\"file-XjGxS3KTG0uNmNOK362iJua3\\\",\\n  \\\"object\\\": \\\"file\\\",\\n  \\\"bytes\\\": 140,\\n  \\\"created_at\\\": 1613779657,\\n  \\\"filename\\\": \\\"mydata.jsonl\\\",\\n  \\\"purpose\\\": \\\"fine-tune\\\"\\n}\\n\"\n        }\n      }\n    },\n    \"/files/{file_id}/content\": {\n      \"get\": {\n        \"operationId\": \"downloadFile\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Returns the contents of the specified file\",\n        \"parameters\": [\n          {\n            \"in\": \"path\",\n            \"name\": \"file_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            },\n            \"description\": \"The ID of the file to use for this request\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Retrieve file content\",\n          \"group\": \"files\",\n          \"path\": \"retrieve-content\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/files/file-XjGxS3KTG0uNmNOK362iJua3/content \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY' > file.jsonl\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\ncontent = openai.File.download(\\\"file-XjGxS3KTG0uNmNOK362iJua3\\\")\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.downloadFile(\\\"file-XjGxS3KTG0uNmNOK362iJua3\\\");\\n\"\n          }\n        }\n      }\n    },\n    \"/answers\": {\n      \"post\": {\n        \"operationId\": \"createAnswer\",\n        \"deprecated\": true,\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Answers the specified question using the provided documents and examples.\\n\\nThe endpoint first [searches](/docs/api-reference/searches) over provided documents or files to find relevant context. The relevant context is combined with the provided examples and question to create the prompt for [completion](/docs/api-reference/completions).\\n\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateAnswerRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CreateAnswerResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create answer\",\n          \"group\": \"answers\",\n          \"path\": \"create\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/answers \\\\\\n  -X POST \\\\\\n  -H \\\"Authorization: Bearer YOUR_API_KEY\\\" \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -d '{\\n    \\\"documents\\\": [\\\"Puppy A is happy.\\\", \\\"Puppy B is sad.\\\"],\\n    \\\"question\\\": \\\"which puppy is happy?\\\",\\n    \\\"search_model\\\": \\\"ada\\\",\\n    \\\"model\\\": \\\"curie\\\",\\n    \\\"examples_context\\\": \\\"In 2017, U.S. life expectancy was 78.6 years.\\\",\\n    \\\"examples\\\": [[\\\"What is human life expectancy in the United States?\\\",\\\"78 years.\\\"]],\\n    \\\"max_tokens\\\": 5,\\n    \\\"stop\\\": [\\\"\\\\n\\\", \\\"<|endoftext|>\\\"]\\n  }'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Answer.create(\\n  search_model=\\\"ada\\\",\\n  model=\\\"curie\\\",\\n  question=\\\"which puppy is happy?\\\",\\n  documents=[\\\"Puppy A is happy.\\\", \\\"Puppy B is sad.\\\"],\\n  examples_context=\\\"In 2017, U.S. life expectancy was 78.6 years.\\\",\\n  examples=[[\\\"What is human life expectancy in the United States?\\\",\\\"78 years.\\\"]],\\n  max_tokens=5,\\n  stop=[\\\"\\\\n\\\", \\\"<|endoftext|>\\\"],\\n)\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.createAnswer({\\n  search_model: \\\"ada\\\",\\n  model: \\\"curie\\\",\\n  question: \\\"which puppy is happy?\\\",\\n  documents: [\\\"Puppy A is happy.\\\", \\\"Puppy B is sad.\\\"],\\n  examples_context: \\\"In 2017, U.S. life expectancy was 78.6 years.\\\",\\n  examples: [[\\\"What is human life expectancy in the United States?\\\",\\\"78 years.\\\"]],\\n  max_tokens: 5,\\n  stop: [\\\"\\\\n\\\", \\\"<|endoftext|>\\\"],\\n});\\n\"\n          },\n          \"parameters\": \"{\\n  \\\"documents\\\": [\\\"Puppy A is happy.\\\", \\\"Puppy B is sad.\\\"],\\n  \\\"question\\\": \\\"which puppy is happy?\\\",\\n  \\\"search_model\\\": \\\"ada\\\",\\n  \\\"model\\\": \\\"curie\\\",\\n  \\\"examples_context\\\": \\\"In 2017, U.S. life expectancy was 78.6 years.\\\",\\n  \\\"examples\\\": [[\\\"What is human life expectancy in the United States?\\\",\\\"78 years.\\\"]],\\n  \\\"max_tokens\\\": 5,\\n  \\\"stop\\\": [\\\"\\\\n\\\", \\\"<|endoftext|>\\\"]\\n}\\n\",\n          \"response\": \"{\\n  \\\"answers\\\": [\\n    \\\"puppy A.\\\"\\n  ],\\n  \\\"completion\\\": \\\"cmpl-2euVa1kmKUuLpSX600M41125Mo9NI\\\",\\n  \\\"model\\\": \\\"curie:2020-05-03\\\",\\n  \\\"object\\\": \\\"answer\\\",\\n  \\\"search_model\\\": \\\"ada\\\",\\n  \\\"selected_documents\\\": [\\n    {\\n      \\\"document\\\": 0,\\n      \\\"text\\\": \\\"Puppy A is happy. \\\"\\n    },\\n    {\\n      \\\"document\\\": 1,\\n      \\\"text\\\": \\\"Puppy B is sad. \\\"\\n    }\\n  ]\\n}\\n\"\n        }\n      }\n    },\n    \"/classifications\": {\n      \"post\": {\n        \"operationId\": \"createClassification\",\n        \"deprecated\": true,\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Classifies the specified `query` using provided examples.\\n\\nThe endpoint first [searches](/docs/api-reference/searches) over the labeled examples\\nto select the ones most relevant for the particular query. Then, the relevant examples\\nare combined with the query to construct a prompt to produce the final label via the\\n[completions](/docs/api-reference/completions) endpoint.\\n\\nLabeled examples can be provided via an uploaded `file`, or explicitly listed in the\\nrequest using the `examples` parameter for quick tests and small scale use cases.\\n\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateClassificationRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CreateClassificationResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create classification\",\n          \"group\": \"classifications\",\n          \"path\": \"create\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/classifications \\\\\\n  -X POST \\\\\\n  -H \\\"Authorization: Bearer YOUR_API_KEY\\\" \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -d '{\\n    \\\"examples\\\": [\\n      [\\\"A happy moment\\\", \\\"Positive\\\"],\\n      [\\\"I am sad.\\\", \\\"Negative\\\"],\\n      [\\\"I am feeling awesome\\\", \\\"Positive\\\"]],\\n    \\\"query\\\": \\\"It is a raining day :(\\\",\\n    \\\"search_model\\\": \\\"ada\\\",\\n    \\\"model\\\": \\\"curie\\\",\\n    \\\"labels\\\":[\\\"Positive\\\", \\\"Negative\\\", \\\"Neutral\\\"]\\n  }'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Classification.create(\\n  search_model=\\\"ada\\\",\\n  model=\\\"curie\\\",\\n  examples=[\\n    [\\\"A happy moment\\\", \\\"Positive\\\"],\\n    [\\\"I am sad.\\\", \\\"Negative\\\"],\\n    [\\\"I am feeling awesome\\\", \\\"Positive\\\"]\\n  ],\\n  query=\\\"It is a raining day :(\\\",\\n  labels=[\\\"Positive\\\", \\\"Negative\\\", \\\"Neutral\\\"],\\n)\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.createClassification({\\n  search_model: \\\"ada\\\",\\n  model: \\\"curie\\\",\\n  examples: [\\n    [\\\"A happy moment\\\", \\\"Positive\\\"],\\n    [\\\"I am sad.\\\", \\\"Negative\\\"],\\n    [\\\"I am feeling awesome\\\", \\\"Positive\\\"]\\n  ],\\n  query:\\\"It is a raining day :(\\\",\\n  labels: [\\\"Positive\\\", \\\"Negative\\\", \\\"Neutral\\\"],\\n});\\n\"\n          },\n          \"parameters\": \"{\\n  \\\"examples\\\": [\\n    [\\\"A happy moment\\\", \\\"Positive\\\"],\\n    [\\\"I am sad.\\\", \\\"Negative\\\"],\\n    [\\\"I am feeling awesome\\\", \\\"Positive\\\"]\\n  ],\\n  \\\"labels\\\": [\\\"Positive\\\", \\\"Negative\\\", \\\"Neutral\\\"],\\n  \\\"query\\\": \\\"It is a raining day :(\\\",\\n  \\\"search_model\\\": \\\"ada\\\",\\n  \\\"model\\\": \\\"curie\\\"\\n}\\n\",\n          \"response\": \"{\\n  \\\"completion\\\": \\\"cmpl-2euN7lUVZ0d4RKbQqRV79IiiE6M1f\\\",\\n  \\\"label\\\": \\\"Negative\\\",\\n  \\\"model\\\": \\\"curie:2020-05-03\\\",\\n  \\\"object\\\": \\\"classification\\\",\\n  \\\"search_model\\\": \\\"ada\\\",\\n  \\\"selected_examples\\\": [\\n    {\\n      \\\"document\\\": 1,\\n      \\\"label\\\": \\\"Negative\\\",\\n      \\\"text\\\": \\\"I am sad.\\\"\\n    },\\n    {\\n      \\\"document\\\": 0,\\n      \\\"label\\\": \\\"Positive\\\",\\n      \\\"text\\\": \\\"A happy moment\\\"\\n    },\\n    {\\n      \\\"document\\\": 2,\\n      \\\"label\\\": \\\"Positive\\\",\\n      \\\"text\\\": \\\"I am feeling awesome\\\"\\n    }\\n  ]\\n}\\n\"\n        }\n      }\n    },\n    \"/fine-tunes\": {\n      \"post\": {\n        \"operationId\": \"createFineTune\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Creates a job that fine-tunes a specified model from a given dataset.\\n\\nResponse includes details of the enqueued job including job status and the name of the fine-tuned models once complete.\\n\\n[Learn more about Fine-tuning](/docs/guides/fine-tuning)\\n\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateFineTuneRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/FineTune\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create fine-tune\",\n          \"group\": \"fine-tunes\",\n          \"path\": \"create\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/fine-tunes \\\\\\n  -X POST \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -H \\\"Authorization: Bearer YOUR_API_KEY\\\" \\\\\\n  -d '{\\n  \\\"training_file\\\": \\\"file-XGinujblHPwGLSztz8cPS8XY\\\"\\n}'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.FineTune.create(training_file=\\\"file-XGinujblHPwGLSztz8cPS8XY\\\")\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.createFineTune({\\n  training_file: \\\"file-XGinujblHPwGLSztz8cPS8XY\\\",\\n});\\n\"\n          },\n          \"response\": \"{\\n  \\\"id\\\": \\\"ft-AF1WoRqd3aJAHsqc9NY7iL8F\\\",\\n  \\\"object\\\": \\\"fine-tune\\\",\\n  \\\"model\\\": \\\"curie\\\",\\n  \\\"created_at\\\": 1614807352,\\n  \\\"events\\\": [\\n    {\\n      \\\"object\\\": \\\"fine-tune-event\\\",\\n      \\\"created_at\\\": 1614807352,\\n      \\\"level\\\": \\\"info\\\",\\n      \\\"message\\\": \\\"Job enqueued. Waiting for jobs ahead to complete. Queue number: 0.\\\"\\n    }\\n  ],\\n  \\\"fine_tuned_model\\\": null,\\n  \\\"hyperparams\\\": {\\n    \\\"batch_size\\\": 4,\\n    \\\"learning_rate_multiplier\\\": 0.1,\\n    \\\"n_epochs\\\": 4,\\n    \\\"prompt_loss_weight\\\": 0.1,\\n  },\\n  \\\"organization_id\\\": \\\"org-...\\\",\\n  \\\"result_files\\\": [],\\n  \\\"status\\\": \\\"pending\\\",\\n  \\\"validation_files\\\": [],\\n  \\\"training_files\\\": [\\n    {\\n      \\\"id\\\": \\\"file-XGinujblHPwGLSztz8cPS8XY\\\",\\n      \\\"object\\\": \\\"file\\\",\\n      \\\"bytes\\\": 1547276,\\n      \\\"created_at\\\": 1610062281,\\n      \\\"filename\\\": \\\"my-data-train.jsonl\\\",\\n      \\\"purpose\\\": \\\"fine-tune-train\\\"\\n    }\\n  ],\\n  \\\"updated_at\\\": 1614807352,\\n}\\n\"\n        }\n      },\n      \"get\": {\n        \"operationId\": \"listFineTunes\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"List your organization's fine-tuning jobs\\n\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListFineTunesResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"List fine-tunes\",\n          \"group\": \"fine-tunes\",\n          \"path\": \"list\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/fine-tunes \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.FineTune.list()\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.listFineTunes();\\n\"\n          },\n          \"response\": \"{\\n  \\\"object\\\": \\\"list\\\",\\n  \\\"data\\\": [\\n    {\\n      \\\"id\\\": \\\"ft-AF1WoRqd3aJAHsqc9NY7iL8F\\\",\\n      \\\"object\\\": \\\"fine-tune\\\",\\n      \\\"model\\\": \\\"curie\\\",\\n      \\\"created_at\\\": 1614807352,\\n      \\\"fine_tuned_model\\\": null,\\n      \\\"hyperparams\\\": { ... },\\n      \\\"organization_id\\\": \\\"org-...\\\",\\n      \\\"result_files\\\": [],\\n      \\\"status\\\": \\\"pending\\\",\\n      \\\"validation_files\\\": [],\\n      \\\"training_files\\\": [ { ... } ],\\n      \\\"updated_at\\\": 1614807352,\\n    },\\n    { ... },\\n    { ... }\\n  ]\\n}\\n\"\n        }\n      }\n    },\n    \"/fine-tunes/{fine_tune_id}\": {\n      \"get\": {\n        \"operationId\": \"retrieveFineTune\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Gets info about the fine-tune job.\\n\\n[Learn more about Fine-tuning](/docs/guides/fine-tuning)\\n\",\n        \"parameters\": [\n          {\n            \"in\": \"path\",\n            \"name\": \"fine_tune_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"example\": \"ft-AF1WoRqd3aJAHsqc9NY7iL8F\"\n            },\n            \"description\": \"The ID of the fine-tune job\\n\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/FineTune\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Retrieve fine-tune\",\n          \"group\": \"fine-tunes\",\n          \"path\": \"retrieve\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/fine-tunes/ft-AF1WoRqd3aJAHsqc9NY7iL8F \\\\\\n  -H \\\"Authorization: Bearer YOUR_API_KEY\\\"\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.FineTune.retrieve(id=\\\"ft-AF1WoRqd3aJAHsqc9NY7iL8F\\\")\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.retrieveFineTune(\\\"ft-AF1WoRqd3aJAHsqc9NY7iL8F\\\");\\n\"\n          },\n          \"response\": \"{\\n  \\\"id\\\": \\\"ft-AF1WoRqd3aJAHsqc9NY7iL8F\\\",\\n  \\\"object\\\": \\\"fine-tune\\\",\\n  \\\"model\\\": \\\"curie\\\",\\n  \\\"created_at\\\": 1614807352,\\n  \\\"events\\\": [\\n    {\\n      \\\"object\\\": \\\"fine-tune-event\\\",\\n      \\\"created_at\\\": 1614807352,\\n      \\\"level\\\": \\\"info\\\",\\n      \\\"message\\\": \\\"Job enqueued. Waiting for jobs ahead to complete. Queue number: 0.\\\"\\n    },\\n    {\\n      \\\"object\\\": \\\"fine-tune-event\\\",\\n      \\\"created_at\\\": 1614807356,\\n      \\\"level\\\": \\\"info\\\",\\n      \\\"message\\\": \\\"Job started.\\\"\\n    },\\n    {\\n      \\\"object\\\": \\\"fine-tune-event\\\",\\n      \\\"created_at\\\": 1614807861,\\n      \\\"level\\\": \\\"info\\\",\\n      \\\"message\\\": \\\"Uploaded snapshot: curie:ft-acmeco-2021-03-03-21-44-20.\\\"\\n    },\\n    {\\n      \\\"object\\\": \\\"fine-tune-event\\\",\\n      \\\"created_at\\\": 1614807864,\\n      \\\"level\\\": \\\"info\\\",\\n      \\\"message\\\": \\\"Uploaded result files: file-QQm6ZpqdNwAaVC3aSz5sWwLT.\\\"\\n    },\\n    {\\n      \\\"object\\\": \\\"fine-tune-event\\\",\\n      \\\"created_at\\\": 1614807864,\\n      \\\"level\\\": \\\"info\\\",\\n      \\\"message\\\": \\\"Job succeeded.\\\"\\n    }\\n  ],\\n  \\\"fine_tuned_model\\\": \\\"curie:ft-acmeco-2021-03-03-21-44-20\\\",\\n  \\\"hyperparams\\\": {\\n    \\\"batch_size\\\": 4,\\n    \\\"learning_rate_multiplier\\\": 0.1,\\n    \\\"n_epochs\\\": 4,\\n    \\\"prompt_loss_weight\\\": 0.1,\\n  },\\n  \\\"organization_id\\\": \\\"org-...\\\",\\n  \\\"result_files\\\": [\\n    {\\n      \\\"id\\\": \\\"file-QQm6ZpqdNwAaVC3aSz5sWwLT\\\",\\n      \\\"object\\\": \\\"file\\\",\\n      \\\"bytes\\\": 81509,\\n      \\\"created_at\\\": 1614807863,\\n      \\\"filename\\\": \\\"compiled_results.csv\\\",\\n      \\\"purpose\\\": \\\"fine-tune-results\\\"\\n    }\\n  ],\\n  \\\"status\\\": \\\"succeeded\\\",\\n  \\\"validation_files\\\": [],\\n  \\\"training_files\\\": [\\n    {\\n      \\\"id\\\": \\\"file-XGinujblHPwGLSztz8cPS8XY\\\",\\n      \\\"object\\\": \\\"file\\\",\\n      \\\"bytes\\\": 1547276,\\n      \\\"created_at\\\": 1610062281,\\n      \\\"filename\\\": \\\"my-data-train.jsonl\\\",\\n      \\\"purpose\\\": \\\"fine-tune-train\\\"\\n    }\\n  ],\\n  \\\"updated_at\\\": 1614807865,\\n}\\n\"\n        }\n      }\n    },\n    \"/fine-tunes/{fine_tune_id}/cancel\": {\n      \"post\": {\n        \"operationId\": \"cancelFineTune\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Immediately cancel a fine-tune job.\\n\",\n        \"parameters\": [\n          {\n            \"in\": \"path\",\n            \"name\": \"fine_tune_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"example\": \"ft-AF1WoRqd3aJAHsqc9NY7iL8F\"\n            },\n            \"description\": \"The ID of the fine-tune job to cancel\\n\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/FineTune\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Cancel fine-tune\",\n          \"group\": \"fine-tunes\",\n          \"path\": \"cancel\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/fine-tunes/ft-AF1WoRqd3aJAHsqc9NY7iL8F/cancel \\\\\\n  -X POST \\\\\\n  -H \\\"Authorization: Bearer YOUR_API_KEY\\\"\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.FineTune.cancel(id=\\\"ft-AF1WoRqd3aJAHsqc9NY7iL8F\\\")\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.cancelFineTune(\\\"ft-AF1WoRqd3aJAHsqc9NY7iL8F\\\");\\n\"\n          },\n          \"response\": \"{\\n  \\\"id\\\": \\\"ft-xhrpBbvVUzYGo8oUO1FY4nI7\\\",\\n  \\\"object\\\": \\\"fine-tune\\\",\\n  \\\"model\\\": \\\"curie\\\",\\n  \\\"created_at\\\": 1614807770,\\n  \\\"events\\\": [ { ... } ],\\n  \\\"fine_tuned_model\\\": null,\\n  \\\"hyperparams\\\": { ... },\\n  \\\"organization_id\\\": \\\"org-...\\\",\\n  \\\"result_files\\\": [],\\n  \\\"status\\\": \\\"cancelled\\\",\\n  \\\"validation_files\\\": [],\\n  \\\"training_files\\\": [\\n    {\\n      \\\"id\\\": \\\"file-XGinujblHPwGLSztz8cPS8XY\\\",\\n      \\\"object\\\": \\\"file\\\",\\n      \\\"bytes\\\": 1547276,\\n      \\\"created_at\\\": 1610062281,\\n      \\\"filename\\\": \\\"my-data-train.jsonl\\\",\\n      \\\"purpose\\\": \\\"fine-tune-train\\\"\\n    }\\n  ],\\n  \\\"updated_at\\\": 1614807789,\\n}\\n\"\n        }\n      }\n    },\n    \"/fine-tunes/{fine_tune_id}/events\": {\n      \"get\": {\n        \"operationId\": \"listFineTuneEvents\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Get fine-grained status updates for a fine-tune job.\\n\",\n        \"parameters\": [\n          {\n            \"in\": \"path\",\n            \"name\": \"fine_tune_id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"example\": \"ft-AF1WoRqd3aJAHsqc9NY7iL8F\"\n            },\n            \"description\": \"The ID of the fine-tune job to get events for.\\n\"\n          },\n          {\n            \"in\": \"query\",\n            \"name\": \"stream\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"boolean\",\n              \"default\": false\n            },\n            \"description\": \"Whether to stream events for the fine-tune job. If set to true,\\nevents will be sent as data-only\\n[server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format)\\nas they become available. The stream will terminate with a\\n`data: [DONE]` message when the job is finished (succeeded, cancelled,\\nor failed).\\n\\nIf set to false, only events generated so far will be returned.\\n\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListFineTuneEventsResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"List fine-tune events\",\n          \"group\": \"fine-tunes\",\n          \"path\": \"events\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/fine-tunes/ft-AF1WoRqd3aJAHsqc9NY7iL8F/events \\\\\\n  -H \\\"Authorization: Bearer YOUR_API_KEY\\\"\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.FineTune.list_events(id=\\\"ft-AF1WoRqd3aJAHsqc9NY7iL8F\\\")\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.listFineTuneEvents(\\\"ft-AF1WoRqd3aJAHsqc9NY7iL8F\\\");\\n\"\n          },\n          \"response\": \"{\\n  \\\"object\\\": \\\"list\\\",\\n  \\\"data\\\": [\\n    {\\n      \\\"object\\\": \\\"fine-tune-event\\\",\\n      \\\"created_at\\\": 1614807352,\\n      \\\"level\\\": \\\"info\\\",\\n      \\\"message\\\": \\\"Job enqueued. Waiting for jobs ahead to complete. Queue number: 0.\\\"\\n    },\\n    {\\n      \\\"object\\\": \\\"fine-tune-event\\\",\\n      \\\"created_at\\\": 1614807356,\\n      \\\"level\\\": \\\"info\\\",\\n      \\\"message\\\": \\\"Job started.\\\"\\n    },\\n    {\\n      \\\"object\\\": \\\"fine-tune-event\\\",\\n      \\\"created_at\\\": 1614807861,\\n      \\\"level\\\": \\\"info\\\",\\n      \\\"message\\\": \\\"Uploaded snapshot: curie:ft-acmeco-2021-03-03-21-44-20.\\\"\\n    },\\n    {\\n      \\\"object\\\": \\\"fine-tune-event\\\",\\n      \\\"created_at\\\": 1614807864,\\n      \\\"level\\\": \\\"info\\\",\\n      \\\"message\\\": \\\"Uploaded result files: file-QQm6ZpqdNwAaVC3aSz5sWwLT.\\\"\\n    },\\n    {\\n      \\\"object\\\": \\\"fine-tune-event\\\",\\n      \\\"created_at\\\": 1614807864,\\n      \\\"level\\\": \\\"info\\\",\\n      \\\"message\\\": \\\"Job succeeded.\\\"\\n    }\\n  ]\\n}\\n\"\n        }\n      }\n    },\n    \"/models\": {\n      \"get\": {\n        \"operationId\": \"listModels\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Lists the currently available models, and provides basic information about each one such as the owner and availability.\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ListModelsResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"List models\",\n          \"group\": \"models\",\n          \"path\": \"list\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/models \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Model.list()\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.listModels();\\n\"\n          },\n          \"response\": \"{\\n  \\\"data\\\": [\\n    {\\n      \\\"id\\\": \\\"model-id-0\\\",\\n      \\\"object\\\": \\\"model\\\",\\n      \\\"owned_by\\\": \\\"organization-owner\\\",\\n      \\\"permission\\\": [...]\\n    },\\n    {\\n      \\\"id\\\": \\\"model-id-1\\\",\\n      \\\"object\\\": \\\"model\\\",\\n      \\\"owned_by\\\": \\\"organization-owner\\\",\\n      \\\"permission\\\": [...]\\n    },\\n    {\\n      \\\"id\\\": \\\"model-id-2\\\",\\n      \\\"object\\\": \\\"model\\\",\\n      \\\"owned_by\\\": \\\"openai\\\",\\n      \\\"permission\\\": [...]\\n    },\\n  ],\\n  \\\"object\\\": \\\"list\\\"\\n}\\n\"\n        }\n      }\n    },\n    \"/models/{model}\": {\n      \"get\": {\n        \"operationId\": \"retrieveModel\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Retrieves a model instance, providing basic information about the model such as the owner and permissioning.\",\n        \"parameters\": [\n          {\n            \"in\": \"path\",\n            \"name\": \"model\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"example\": \"text-davinci-001\"\n            },\n            \"description\": \"The ID of the model to use for this request\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Model\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Retrieve model\",\n          \"group\": \"models\",\n          \"path\": \"retrieve\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/models/VAR_model_id \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Model.retrieve(\\\"VAR_model_id\\\")\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.retrieveModel(\\\"VAR_model_id\\\");\\n\"\n          },\n          \"response\": \"{\\n  \\\"id\\\": \\\"VAR_model_id\\\",\\n  \\\"object\\\": \\\"model\\\",\\n  \\\"owned_by\\\": \\\"openai\\\",\\n  \\\"permission\\\": [...]\\n}\\n\"\n        }\n      },\n      \"delete\": {\n        \"operationId\": \"deleteModel\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Delete a fine-tuned model. You must have the Owner role in your organization.\",\n        \"parameters\": [\n          {\n            \"in\": \"path\",\n            \"name\": \"model\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"example\": \"curie:ft-acmeco-2021-03-03-21-44-20\"\n            },\n            \"description\": \"The model to delete\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/DeleteModelResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Delete fine-tune model\",\n          \"group\": \"fine-tunes\",\n          \"path\": \"delete-model\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/models/curie:ft-acmeco-2021-03-03-21-44-20 \\\\\\n  -X DELETE \\\\\\n  -H \\\"Authorization: Bearer YOUR_API_KEY\\\"\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Model.delete(\\\"curie:ft-acmeco-2021-03-03-21-44-20\\\")\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.deleteModel('curie:ft-acmeco-2021-03-03-21-44-20');\\n\"\n          },\n          \"response\": \"{\\n  \\\"id\\\": \\\"curie:ft-acmeco-2021-03-03-21-44-20\\\",\\n  \\\"object\\\": \\\"model\\\",\\n  \\\"deleted\\\": true\\n}\\n\"\n        }\n      }\n    },\n    \"/moderations\": {\n      \"post\": {\n        \"operationId\": \"createModeration\",\n        \"tags\": [\n          \"OpenAI\"\n        ],\n        \"summary\": \"Classifies if text violates OpenAI's Content Policy\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/CreateModerationRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CreateModerationResponse\"\n                }\n              }\n            }\n          }\n        },\n        \"x-oaiMeta\": {\n          \"name\": \"Create moderation\",\n          \"group\": \"moderations\",\n          \"path\": \"create\",\n          \"examples\": {\n            \"curl\": \"curl https://api.openai.com/v1/moderations \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\\\\n  -d '{\\n  \\\"input\\\": \\\"I want to kill them.\\\"\\n}'\\n\",\n            \"python\": \"import os\\nimport openai\\nopenai.api_key = os.getenv(\\\"OPENAI_API_KEY\\\")\\nopenai.Moderation.create(\\n  input=\\\"I want to kill them.\\\",\\n)\\n\",\n            \"node.js\": \"const { Configuration, OpenAIApi } = require(\\\"openai\\\");\\nconst configuration = new Configuration({\\n  apiKey: process.env.OPENAI_API_KEY,\\n});\\nconst openai = new OpenAIApi(configuration);\\nconst response = await openai.createModeration({\\n  input: \\\"I want to kill them.\\\",\\n});\\n\"\n          },\n          \"parameters\": \"{\\n  \\\"input\\\": \\\"I want to kill them.\\\"\\n}\\n\",\n          \"response\": \"{\\n  \\\"id\\\": \\\"modr-5MWoLO\\\",\\n  \\\"model\\\": \\\"text-moderation-001\\\",\\n  \\\"results\\\": [\\n    {\\n      \\\"categories\\\": {\\n        \\\"hate\\\": false,\\n        \\\"hate/threatening\\\": true,\\n        \\\"self-harm\\\": false,\\n        \\\"sexual\\\": false,\\n        \\\"sexual/minors\\\": false,\\n        \\\"violence\\\": true,\\n        \\\"violence/graphic\\\": false\\n      },\\n      \\\"category_scores\\\": {\\n        \\\"hate\\\": 0.22714105248451233,\\n        \\\"hate/threatening\\\": 0.4132447838783264,\\n        \\\"self-harm\\\": 0.005232391878962517,\\n        \\\"sexual\\\": 0.01407341007143259,\\n        \\\"sexual/minors\\\": 0.0038522258400917053,\\n        \\\"violence\\\": 0.9223177433013916,\\n        \\\"violence/graphic\\\": 0.036865197122097015\\n      },\\n      \\\"flagged\\\": true\\n    }\\n  ]\\n}\\n\"\n        }\n      }\n    }\n  },\n  \"components\": {\n    \"schemas\": {\n      \"ListEnginesResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"data\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Engine\"\n            }\n          }\n        },\n        \"required\": [\n          \"object\",\n          \"data\"\n        ]\n      },\n      \"ListModelsResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"data\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Model\"\n            }\n          }\n        },\n        \"required\": [\n          \"object\",\n          \"data\"\n        ]\n      },\n      \"DeleteModelResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"deleted\": {\n            \"type\": \"boolean\"\n          }\n        },\n        \"required\": [\n          \"id\",\n          \"object\",\n          \"deleted\"\n        ]\n      },\n      \"CreateCompletionRequest\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"model\": {\n            \"description\": \"ID of the model to use. You can use the [List models](/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](/docs/models/overview) for descriptions of them.\",\n            \"type\": \"string\"\n          },\n          \"prompt\": {\n            \"description\": \"The prompt(s) to generate completions for, encoded as a string, array of strings, array of tokens, or array of token arrays.\\n\\nNote that <|endoftext|> is the document separator that the model sees during training, so if a prompt is not specified the model will generate as if from the beginning of a new document.\\n\",\n            \"default\": \"<|endoftext|>\",\n            \"nullable\": true,\n            \"oneOf\": [\n              {\n                \"type\": \"string\",\n                \"default\": \"\",\n                \"example\": \"This is a test.\"\n              },\n              {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"string\",\n                  \"default\": \"\",\n                  \"example\": \"This is a test.\"\n                }\n              },\n              {\n                \"type\": \"array\",\n                \"minItems\": 1,\n                \"items\": {\n                  \"type\": \"integer\"\n                },\n                \"example\": \"[1212, 318, 257, 1332, 13]\"\n              },\n              {\n                \"type\": \"array\",\n                \"minItems\": 1,\n                \"items\": {\n                  \"type\": \"array\",\n                  \"minItems\": 1,\n                  \"items\": {\n                    \"type\": \"integer\"\n                  }\n                },\n                \"example\": \"[[1212, 318, 257, 1332, 13]]\"\n              }\n            ]\n          },\n          \"suffix\": {\n            \"description\": \"The suffix that comes after a completion of inserted text.\",\n            \"default\": null,\n            \"nullable\": true,\n            \"type\": \"string\",\n            \"example\": \"test.\"\n          },\n          \"max_tokens\": {\n            \"type\": \"integer\",\n            \"minimum\": 0,\n            \"default\": 16,\n            \"example\": 16,\n            \"nullable\": true,\n            \"description\": \"The maximum number of [tokens](/tokenizer) to generate in the completion.\\n\\nThe token count of your prompt plus `max_tokens` cannot exceed the model's context length. Most models have a context length of 2048 tokens (except for the newest models, which support 4096).\\n\"\n          },\n          \"temperature\": {\n            \"type\": \"number\",\n            \"minimum\": 0,\n            \"maximum\": 2,\n            \"default\": 1,\n            \"example\": 1,\n            \"nullable\": true,\n            \"description\": \"What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\\n\\nWe generally recommend altering this or `top_p` but not both.\\n\"\n          },\n          \"top_p\": {\n            \"type\": \"number\",\n            \"minimum\": 0,\n            \"maximum\": 1,\n            \"default\": 1,\n            \"example\": 1,\n            \"nullable\": true,\n            \"description\": \"An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.\\n\\nWe generally recommend altering this or `temperature` but not both.\\n\"\n          },\n          \"n\": {\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"maximum\": 128,\n            \"default\": 1,\n            \"example\": 1,\n            \"nullable\": true,\n            \"description\": \"How many completions to generate for each prompt.\\n\\n**Note:** Because this parameter generates many completions, it can quickly consume your token quota. Use carefully and ensure that you have reasonable settings for `max_tokens` and `stop`.\\n\"\n          },\n          \"stream\": {\n            \"description\": \"Whether to stream back partial progress. If set, tokens will be sent as data-only [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format) as they become available, with the stream terminated by a `data: [DONE]` message.\\n\",\n            \"type\": \"boolean\",\n            \"nullable\": true,\n            \"default\": false\n          },\n          \"logprobs\": {\n            \"type\": \"integer\",\n            \"minimum\": 0,\n            \"maximum\": 5,\n            \"default\": null,\n            \"nullable\": true,\n            \"description\": \"Include the log probabilities on the `logprobs` most likely tokens, as well the chosen tokens. For example, if `logprobs` is 5, the API will return a list of the 5 most likely tokens. The API will always return the `logprob` of the sampled token, so there may be up to `logprobs+1` elements in the response.\\n\\nThe maximum value for `logprobs` is 5. If you need more than this, please contact us through our [Help center](https://help.openai.com) and describe your use case.\\n\"\n          },\n          \"echo\": {\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"nullable\": true,\n            \"description\": \"Echo back the prompt in addition to the completion\\n\"\n          },\n          \"stop\": {\n            \"description\": \"Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.\\n\",\n            \"default\": null,\n            \"nullable\": true,\n            \"oneOf\": [\n              {\n                \"type\": \"string\",\n                \"default\": \"<|endoftext|>\",\n                \"example\": \"\\n\",\n                \"nullable\": true\n              },\n              {\n                \"type\": \"array\",\n                \"minItems\": 1,\n                \"maxItems\": 4,\n                \"items\": {\n                  \"type\": \"string\",\n                  \"example\": \"[\\\"\\\\n\\\"]\"\n                }\n              }\n            ]\n          },\n          \"presence_penalty\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"minimum\": -2,\n            \"maximum\": 2,\n            \"nullable\": true,\n            \"description\": \"Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.\\n\\n[See more information about frequency and presence penalties.](/docs/api-reference/parameter-details)\\n\"\n          },\n          \"frequency_penalty\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"minimum\": -2,\n            \"maximum\": 2,\n            \"nullable\": true,\n            \"description\": \"Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.\\n\\n[See more information about frequency and presence penalties.](/docs/api-reference/parameter-details)\\n\"\n          },\n          \"best_of\": {\n            \"type\": \"integer\",\n            \"default\": 1,\n            \"minimum\": 0,\n            \"maximum\": 20,\n            \"nullable\": true,\n            \"description\": \"Generates `best_of` completions server-side and returns the \\\"best\\\" (the one with the highest log probability per token). Results cannot be streamed.\\n\\nWhen used with `n`, `best_of` controls the number of candidate completions and `n` specifies how many to return – `best_of` must be greater than `n`.\\n\\n**Note:** Because this parameter generates many completions, it can quickly consume your token quota. Use carefully and ensure that you have reasonable settings for `max_tokens` and `stop`.\\n\"\n          },\n          \"logit_bias\": {\n            \"type\": \"object\",\n            \"x-oaiTypeLabel\": \"map\",\n            \"default\": null,\n            \"nullable\": true,\n            \"description\": \"Modify the likelihood of specified tokens appearing in the completion.\\n\\nAccepts a json object that maps tokens (specified by their token ID in the GPT tokenizer) to an associated bias value from -100 to 100. You can use this [tokenizer tool](/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.\\n\\nAs an example, you can pass `{\\\"50256\\\": -100}` to prevent the <|endoftext|> token from being generated.\\n\"\n          },\n          \"user\": {\n            \"type\": \"string\",\n            \"example\": \"user-1234\",\n            \"description\": \"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\\n\"\n          }\n        },\n        \"required\": [\n          \"model\"\n        ]\n      },\n      \"CreateCompletionResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"created\": {\n            \"type\": \"integer\"\n          },\n          \"model\": {\n            \"type\": \"string\"\n          },\n          \"choices\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"text\": {\n                  \"type\": \"string\"\n                },\n                \"index\": {\n                  \"type\": \"integer\"\n                },\n                \"logprobs\": {\n                  \"type\": \"object\",\n                  \"nullable\": true,\n                  \"properties\": {\n                    \"tokens\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"token_logprobs\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"number\"\n                      }\n                    },\n                    \"top_logprobs\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\"\n                      }\n                    },\n                    \"text_offset\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"integer\"\n                      }\n                    }\n                  }\n                },\n                \"finish_reason\": {\n                  \"type\": \"string\"\n                }\n              }\n            }\n          },\n          \"usage\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"prompt_tokens\": {\n                \"type\": \"integer\"\n              },\n              \"completion_tokens\": {\n                \"type\": \"integer\"\n              },\n              \"total_tokens\": {\n                \"type\": \"integer\"\n              }\n            },\n            \"required\": [\n              \"prompt_tokens\",\n              \"completion_tokens\",\n              \"total_tokens\"\n            ]\n          }\n        },\n        \"required\": [\n          \"id\",\n          \"object\",\n          \"created\",\n          \"model\",\n          \"choices\"\n        ]\n      },\n      \"ChatCompletionRequestMessage\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"role\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"system\",\n              \"user\",\n              \"assistant\"\n            ],\n            \"description\": \"The role of the author of this message.\"\n          },\n          \"content\": {\n            \"type\": \"string\",\n            \"description\": \"The contents of the message\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The name of the user in a multi-user chat\"\n          }\n        },\n        \"required\": [\n          \"role\",\n          \"content\"\n        ]\n      },\n      \"ChatCompletionResponseMessage\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"role\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"system\",\n              \"user\",\n              \"assistant\"\n            ],\n            \"description\": \"The role of the author of this message.\"\n          },\n          \"content\": {\n            \"type\": \"string\",\n            \"description\": \"The contents of the message\"\n          }\n        },\n        \"required\": [\n          \"role\",\n          \"content\"\n        ]\n      },\n      \"CreateChatCompletionRequest\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"model\": {\n            \"description\": \"ID of the model to use. Currently, only `gpt-3.5-turbo` and `gpt-3.5-turbo-0301` are supported.\",\n            \"type\": \"string\"\n          },\n          \"messages\": {\n            \"description\": \"The messages to generate chat completions for, in the [chat format](/docs/guides/chat/introduction).\",\n            \"type\": \"array\",\n            \"minItems\": 1,\n            \"items\": {\n              \"$ref\": \"#/components/schemas/ChatCompletionRequestMessage\"\n            }\n          },\n          \"temperature\": {\n            \"type\": \"number\",\n            \"minimum\": 0,\n            \"maximum\": 2,\n            \"default\": 1,\n            \"example\": 1,\n            \"nullable\": true,\n            \"description\": \"What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\\n\\nWe generally recommend altering this or `top_p` but not both.\\n\"\n          },\n          \"top_p\": {\n            \"type\": \"number\",\n            \"minimum\": 0,\n            \"maximum\": 1,\n            \"default\": 1,\n            \"example\": 1,\n            \"nullable\": true,\n            \"description\": \"An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.\\n\\nWe generally recommend altering this or `temperature` but not both.\\n\"\n          },\n          \"n\": {\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"maximum\": 128,\n            \"default\": 1,\n            \"example\": 1,\n            \"nullable\": true,\n            \"description\": \"How many chat completion choices to generate for each input message.\"\n          },\n          \"stream\": {\n            \"description\": \"If set, partial message deltas will be sent, like in ChatGPT. Tokens will be sent as data-only [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format) as they become available, with the stream terminated by a `data: [DONE]` message.\\n\",\n            \"type\": \"boolean\",\n            \"nullable\": true,\n            \"default\": false\n          },\n          \"stop\": {\n            \"description\": \"Up to 4 sequences where the API will stop generating further tokens.\\n\",\n            \"default\": null,\n            \"oneOf\": [\n              {\n                \"type\": \"string\",\n                \"nullable\": true\n              },\n              {\n                \"type\": \"array\",\n                \"minItems\": 1,\n                \"maxItems\": 4,\n                \"items\": {\n                  \"type\": \"string\"\n                }\n              }\n            ]\n          },\n          \"max_tokens\": {\n            \"description\": \"The maximum number of tokens allowed for the generated answer. By default, the number of tokens the model can return will be (4096 - prompt tokens).\\n\",\n            \"default\": \"inf\",\n            \"type\": \"integer\"\n          },\n          \"presence_penalty\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"minimum\": -2,\n            \"maximum\": 2,\n            \"nullable\": true,\n            \"description\": \"Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.\\n\\n[See more information about frequency and presence penalties.](/docs/api-reference/parameter-details)\\n\"\n          },\n          \"frequency_penalty\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"minimum\": -2,\n            \"maximum\": 2,\n            \"nullable\": true,\n            \"description\": \"Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.\\n\\n[See more information about frequency and presence penalties.](/docs/api-reference/parameter-details)\\n\"\n          },\n          \"logit_bias\": {\n            \"type\": \"object\",\n            \"x-oaiTypeLabel\": \"map\",\n            \"default\": null,\n            \"nullable\": true,\n            \"description\": \"Modify the likelihood of specified tokens appearing in the completion.\\n\\nAccepts a json object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value from -100 to 100. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.\\n\"\n          },\n          \"user\": {\n            \"type\": \"string\",\n            \"example\": \"user-1234\",\n            \"description\": \"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\\n\"\n          }\n        },\n        \"required\": [\n          \"model\",\n          \"messages\"\n        ]\n      },\n      \"CreateChatCompletionResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"created\": {\n            \"type\": \"integer\"\n          },\n          \"model\": {\n            \"type\": \"string\"\n          },\n          \"choices\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"index\": {\n                  \"type\": \"integer\"\n                },\n                \"message\": {\n                  \"$ref\": \"#/components/schemas/ChatCompletionResponseMessage\"\n                },\n                \"finish_reason\": {\n                  \"type\": \"string\"\n                }\n              }\n            }\n          },\n          \"usage\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"prompt_tokens\": {\n                \"type\": \"integer\"\n              },\n              \"completion_tokens\": {\n                \"type\": \"integer\"\n              },\n              \"total_tokens\": {\n                \"type\": \"integer\"\n              }\n            },\n            \"required\": [\n              \"prompt_tokens\",\n              \"completion_tokens\",\n              \"total_tokens\"\n            ]\n          }\n        },\n        \"required\": [\n          \"id\",\n          \"object\",\n          \"created\",\n          \"model\",\n          \"choices\"\n        ]\n      },\n      \"CreateEditRequest\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"model\": {\n            \"description\": \"ID of the model to use. You can use the `text-davinci-edit-001` or `code-davinci-edit-001` model with this endpoint.\",\n            \"type\": \"string\"\n          },\n          \"input\": {\n            \"description\": \"The input text to use as a starting point for the edit.\",\n            \"type\": \"string\",\n            \"default\": \"\",\n            \"nullable\": true,\n            \"example\": \"What day of the wek is it?\"\n          },\n          \"instruction\": {\n            \"description\": \"The instruction that tells the model how to edit the prompt.\",\n            \"type\": \"string\",\n            \"example\": \"Fix the spelling mistakes.\"\n          },\n          \"n\": {\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"maximum\": 20,\n            \"default\": 1,\n            \"example\": 1,\n            \"nullable\": true,\n            \"description\": \"How many edits to generate for the input and instruction.\"\n          },\n          \"temperature\": {\n            \"type\": \"number\",\n            \"minimum\": 0,\n            \"maximum\": 2,\n            \"default\": 1,\n            \"example\": 1,\n            \"nullable\": true,\n            \"description\": \"What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\\n\\nWe generally recommend altering this or `top_p` but not both.\\n\"\n          },\n          \"top_p\": {\n            \"type\": \"number\",\n            \"minimum\": 0,\n            \"maximum\": 1,\n            \"default\": 1,\n            \"example\": 1,\n            \"nullable\": true,\n            \"description\": \"An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.\\n\\nWe generally recommend altering this or `temperature` but not both.\\n\"\n          }\n        },\n        \"required\": [\n          \"model\",\n          \"instruction\"\n        ]\n      },\n      \"CreateEditResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"created\": {\n            \"type\": \"integer\"\n          },\n          \"choices\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"text\": {\n                  \"type\": \"string\"\n                },\n                \"index\": {\n                  \"type\": \"integer\"\n                },\n                \"logprobs\": {\n                  \"type\": \"object\",\n                  \"nullable\": true,\n                  \"properties\": {\n                    \"tokens\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"token_logprobs\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"number\"\n                      }\n                    },\n                    \"top_logprobs\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\"\n                      }\n                    },\n                    \"text_offset\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"integer\"\n                      }\n                    }\n                  }\n                },\n                \"finish_reason\": {\n                  \"type\": \"string\"\n                }\n              }\n            }\n          },\n          \"usage\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"prompt_tokens\": {\n                \"type\": \"integer\"\n              },\n              \"completion_tokens\": {\n                \"type\": \"integer\"\n              },\n              \"total_tokens\": {\n                \"type\": \"integer\"\n              }\n            },\n            \"required\": [\n              \"prompt_tokens\",\n              \"completion_tokens\",\n              \"total_tokens\"\n            ]\n          }\n        },\n        \"required\": [\n          \"object\",\n          \"created\",\n          \"choices\",\n          \"usage\"\n        ]\n      },\n      \"CreateImageRequest\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"prompt\": {\n            \"description\": \"A text description of the desired image(s). The maximum length is 1000 characters.\",\n            \"type\": \"string\",\n            \"example\": \"A cute baby sea otter\"\n          },\n          \"n\": {\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"maximum\": 10,\n            \"default\": 1,\n            \"example\": 1,\n            \"nullable\": true,\n            \"description\": \"The number of images to generate. Must be between 1 and 10.\"\n          },\n          \"size\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"256x256\",\n              \"512x512\",\n              \"1024x1024\"\n            ],\n            \"default\": \"1024x1024\",\n            \"example\": \"1024x1024\",\n            \"nullable\": true,\n            \"description\": \"The size of the generated images. Must be one of `256x256`, `512x512`, or `1024x1024`.\"\n          },\n          \"response_format\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"url\",\n              \"b64_json\"\n            ],\n            \"default\": \"url\",\n            \"example\": \"url\",\n            \"nullable\": true,\n            \"description\": \"The format in which the generated images are returned. Must be one of `url` or `b64_json`.\"\n          },\n          \"user\": {\n            \"type\": \"string\",\n            \"example\": \"user-1234\",\n            \"description\": \"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\\n\"\n          }\n        },\n        \"required\": [\n          \"prompt\"\n        ]\n      },\n      \"ImagesResponse\": {\n        \"properties\": {\n          \"created\": {\n            \"type\": \"integer\"\n          },\n          \"data\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"url\": {\n                  \"type\": \"string\"\n                },\n                \"b64_json\": {\n                  \"type\": \"string\"\n                }\n              }\n            }\n          }\n        },\n        \"required\": [\n          \"created\",\n          \"data\"\n        ]\n      },\n      \"CreateImageEditRequest\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"image\": {\n            \"description\": \"The image to edit. Must be a valid PNG file, less than 4MB, and square. If mask is not provided, image must have transparency, which will be used as the mask.\",\n            \"type\": \"string\",\n            \"format\": \"binary\"\n          },\n          \"mask\": {\n            \"description\": \"An additional image whose fully transparent areas (e.g. where alpha is zero) indicate where `image` should be edited. Must be a valid PNG file, less than 4MB, and have the same dimensions as `image`.\",\n            \"type\": \"string\",\n            \"format\": \"binary\"\n          },\n          \"prompt\": {\n            \"description\": \"A text description of the desired image(s). The maximum length is 1000 characters.\",\n            \"type\": \"string\",\n            \"example\": \"A cute baby sea otter wearing a beret\"\n          },\n          \"n\": {\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"maximum\": 10,\n            \"default\": 1,\n            \"example\": 1,\n            \"nullable\": true,\n            \"description\": \"The number of images to generate. Must be between 1 and 10.\"\n          },\n          \"size\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"256x256\",\n              \"512x512\",\n              \"1024x1024\"\n            ],\n            \"default\": \"1024x1024\",\n            \"example\": \"1024x1024\",\n            \"nullable\": true,\n            \"description\": \"The size of the generated images. Must be one of `256x256`, `512x512`, or `1024x1024`.\"\n          },\n          \"response_format\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"url\",\n              \"b64_json\"\n            ],\n            \"default\": \"url\",\n            \"example\": \"url\",\n            \"nullable\": true,\n            \"description\": \"The format in which the generated images are returned. Must be one of `url` or `b64_json`.\"\n          },\n          \"user\": {\n            \"type\": \"string\",\n            \"example\": \"user-1234\",\n            \"description\": \"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\\n\"\n          }\n        },\n        \"required\": [\n          \"prompt\",\n          \"image\"\n        ]\n      },\n      \"CreateImageVariationRequest\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"image\": {\n            \"description\": \"The image to use as the basis for the variation(s). Must be a valid PNG file, less than 4MB, and square.\",\n            \"type\": \"string\",\n            \"format\": \"binary\"\n          },\n          \"n\": {\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"maximum\": 10,\n            \"default\": 1,\n            \"example\": 1,\n            \"nullable\": true,\n            \"description\": \"The number of images to generate. Must be between 1 and 10.\"\n          },\n          \"size\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"256x256\",\n              \"512x512\",\n              \"1024x1024\"\n            ],\n            \"default\": \"1024x1024\",\n            \"example\": \"1024x1024\",\n            \"nullable\": true,\n            \"description\": \"The size of the generated images. Must be one of `256x256`, `512x512`, or `1024x1024`.\"\n          },\n          \"response_format\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"url\",\n              \"b64_json\"\n            ],\n            \"default\": \"url\",\n            \"example\": \"url\",\n            \"nullable\": true,\n            \"description\": \"The format in which the generated images are returned. Must be one of `url` or `b64_json`.\"\n          },\n          \"user\": {\n            \"type\": \"string\",\n            \"example\": \"user-1234\",\n            \"description\": \"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\\n\"\n          }\n        },\n        \"required\": [\n          \"image\"\n        ]\n      },\n      \"CreateModerationRequest\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"input\": {\n            \"description\": \"The input text to classify\",\n            \"oneOf\": [\n              {\n                \"type\": \"string\",\n                \"default\": \"\",\n                \"example\": \"I want to kill them.\"\n              },\n              {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"string\",\n                  \"default\": \"\",\n                  \"example\": \"I want to kill them.\"\n                }\n              }\n            ]\n          },\n          \"model\": {\n            \"description\": \"Two content moderations models are available: `text-moderation-stable` and `text-moderation-latest`.\\n\\nThe default is `text-moderation-latest` which will be automatically upgraded over time. This ensures you are always using our most accurate model. If you use `text-moderation-stable`, we will provide advanced notice before updating the model. Accuracy of `text-moderation-stable` may be slightly lower than for `text-moderation-latest`.\\n\",\n            \"type\": \"string\",\n            \"nullable\": false,\n            \"default\": \"text-moderation-latest\",\n            \"example\": \"text-moderation-stable\"\n          }\n        },\n        \"required\": [\n          \"input\"\n        ]\n      },\n      \"CreateModerationResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"model\": {\n            \"type\": \"string\"\n          },\n          \"results\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"flagged\": {\n                  \"type\": \"boolean\"\n                },\n                \"categories\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"hate\": {\n                      \"type\": \"boolean\"\n                    },\n                    \"hate/threatening\": {\n                      \"type\": \"boolean\"\n                    },\n                    \"self-harm\": {\n                      \"type\": \"boolean\"\n                    },\n                    \"sexual\": {\n                      \"type\": \"boolean\"\n                    },\n                    \"sexual/minors\": {\n                      \"type\": \"boolean\"\n                    },\n                    \"violence\": {\n                      \"type\": \"boolean\"\n                    },\n                    \"violence/graphic\": {\n                      \"type\": \"boolean\"\n                    }\n                  },\n                  \"required\": [\n                    \"hate\",\n                    \"hate/threatening\",\n                    \"self-harm\",\n                    \"sexual\",\n                    \"sexual/minors\",\n                    \"violence\",\n                    \"violence/graphic\"\n                  ]\n                },\n                \"category_scores\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"hate\": {\n                      \"type\": \"number\"\n                    },\n                    \"hate/threatening\": {\n                      \"type\": \"number\"\n                    },\n                    \"self-harm\": {\n                      \"type\": \"number\"\n                    },\n                    \"sexual\": {\n                      \"type\": \"number\"\n                    },\n                    \"sexual/minors\": {\n                      \"type\": \"number\"\n                    },\n                    \"violence\": {\n                      \"type\": \"number\"\n                    },\n                    \"violence/graphic\": {\n                      \"type\": \"number\"\n                    }\n                  },\n                  \"required\": [\n                    \"hate\",\n                    \"hate/threatening\",\n                    \"self-harm\",\n                    \"sexual\",\n                    \"sexual/minors\",\n                    \"violence\",\n                    \"violence/graphic\"\n                  ]\n                }\n              },\n              \"required\": [\n                \"flagged\",\n                \"categories\",\n                \"category_scores\"\n              ]\n            }\n          }\n        },\n        \"required\": [\n          \"id\",\n          \"model\",\n          \"results\"\n        ]\n      },\n      \"CreateSearchRequest\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"query\": {\n            \"description\": \"Query to search against the documents.\",\n            \"type\": \"string\",\n            \"example\": \"the president\",\n            \"minLength\": 1\n          },\n          \"documents\": {\n            \"description\": \"Up to 200 documents to search over, provided as a list of strings.\\n\\nThe maximum document length (in tokens) is 2034 minus the number of tokens in the query.\\n\\nYou should specify either `documents` or a `file`, but not both.\\n\",\n            \"type\": \"array\",\n            \"minItems\": 1,\n            \"maxItems\": 200,\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"nullable\": true,\n            \"example\": \"['White House', 'hospital', 'school']\"\n          },\n          \"file\": {\n            \"description\": \"The ID of an uploaded file that contains documents to search over.\\n\\nYou should specify either `documents` or a `file`, but not both.\\n\",\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"max_rerank\": {\n            \"description\": \"The maximum number of documents to be re-ranked and returned by search.\\n\\nThis flag only takes effect when `file` is set.\\n\",\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"default\": 200,\n            \"nullable\": true\n          },\n          \"return_metadata\": {\n            \"description\": \"A special boolean flag for showing metadata. If set to `true`, each document entry in the returned JSON will contain a \\\"metadata\\\" field.\\n\\nThis flag only takes effect when `file` is set.\\n\",\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"nullable\": true\n          },\n          \"user\": {\n            \"type\": \"string\",\n            \"example\": \"user-1234\",\n            \"description\": \"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\\n\"\n          }\n        },\n        \"required\": [\n          \"query\"\n        ]\n      },\n      \"CreateSearchResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"model\": {\n            \"type\": \"string\"\n          },\n          \"data\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"object\": {\n                  \"type\": \"string\"\n                },\n                \"document\": {\n                  \"type\": \"integer\"\n                },\n                \"score\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"ListFilesResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"data\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/OpenAIFile\"\n            }\n          }\n        },\n        \"required\": [\n          \"object\",\n          \"data\"\n        ]\n      },\n      \"CreateFileRequest\": {\n        \"type\": \"object\",\n        \"additionalProperties\": false,\n        \"properties\": {\n          \"file\": {\n            \"description\": \"Name of the [JSON Lines](https://jsonlines.readthedocs.io/en/latest/) file to be uploaded.\\n\\nIf the `purpose` is set to \\\"fine-tune\\\", each line is a JSON record with \\\"prompt\\\" and \\\"completion\\\" fields representing your [training examples](/docs/guides/fine-tuning/prepare-training-data).\\n\",\n            \"type\": \"string\",\n            \"format\": \"binary\"\n          },\n          \"purpose\": {\n            \"description\": \"The intended purpose of the uploaded documents.\\n\\nUse \\\"fine-tune\\\" for [Fine-tuning](/docs/api-reference/fine-tunes). This allows us to validate the format of the uploaded file.\\n\",\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"file\",\n          \"purpose\"\n        ]\n      },\n      \"DeleteFileResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"deleted\": {\n            \"type\": \"boolean\"\n          }\n        },\n        \"required\": [\n          \"id\",\n          \"object\",\n          \"deleted\"\n        ]\n      },\n      \"CreateAnswerRequest\": {\n        \"type\": \"object\",\n        \"additionalProperties\": false,\n        \"properties\": {\n          \"model\": {\n            \"description\": \"ID of the model to use for completion. You can select one of `ada`, `babbage`, `curie`, or `davinci`.\",\n            \"type\": \"string\"\n          },\n          \"question\": {\n            \"description\": \"Question to get answered.\",\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"example\": \"What is the capital of Japan?\"\n          },\n          \"examples\": {\n            \"description\": \"List of (question, answer) pairs that will help steer the model towards the tone and answer format you'd like. We recommend adding 2 to 3 examples.\",\n            \"type\": \"array\",\n            \"minItems\": 1,\n            \"maxItems\": 200,\n            \"items\": {\n              \"type\": \"array\",\n              \"minItems\": 2,\n              \"maxItems\": 2,\n              \"items\": {\n                \"type\": \"string\",\n                \"minLength\": 1\n              }\n            },\n            \"example\": \"[['What is the capital of Canada?', 'Ottawa'], ['Which province is Ottawa in?', 'Ontario']]\"\n          },\n          \"examples_context\": {\n            \"description\": \"A text snippet containing the contextual information used to generate the answers for the `examples` you provide.\",\n            \"type\": \"string\",\n            \"example\": \"Ottawa, Canada's capital, is located in the east of southern Ontario, near the city of Montréal and the U.S. border.\"\n          },\n          \"documents\": {\n            \"description\": \"List of documents from which the answer for the input `question` should be derived. If this is an empty list, the question will be answered based on the question-answer examples.\\n\\nYou should specify either `documents` or a `file`, but not both.\\n\",\n            \"type\": \"array\",\n            \"maxItems\": 200,\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"example\": \"['Japan is an island country in East Asia, located in the northwest Pacific Ocean.', 'Tokyo is the capital and most populous prefecture of Japan.']\",\n            \"nullable\": true\n          },\n          \"file\": {\n            \"description\": \"The ID of an uploaded file that contains documents to search over. See [upload file](/docs/api-reference/files/upload) for how to upload a file of the desired format and purpose.\\n\\nYou should specify either `documents` or a `file`, but not both.\\n\",\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"search_model\": {\n            \"description\": \"ID of the model to use for [Search](/docs/api-reference/searches/create). You can select one of `ada`, `babbage`, `curie`, or `davinci`.\",\n            \"type\": \"string\",\n            \"default\": \"ada\",\n            \"nullable\": true\n          },\n          \"max_rerank\": {\n            \"description\": \"The maximum number of documents to be ranked by [Search](/docs/api-reference/searches/create) when using `file`. Setting it to a higher value leads to improved accuracy but with increased latency and cost.\",\n            \"type\": \"integer\",\n            \"default\": 200,\n            \"nullable\": true\n          },\n          \"temperature\": {\n            \"description\": \"What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\",\n            \"type\": \"number\",\n            \"default\": 0,\n            \"nullable\": true\n          },\n          \"logprobs\": {\n            \"type\": \"integer\",\n            \"minimum\": 0,\n            \"maximum\": 5,\n            \"default\": null,\n            \"nullable\": true,\n            \"description\": \"Include the log probabilities on the `logprobs` most likely tokens, as well the chosen tokens. For example, if `logprobs` is 5, the API will return a list of the 5 most likely tokens. The API will always return the `logprob` of the sampled token, so there may be up to `logprobs+1` elements in the response.\\n\\nThe maximum value for `logprobs` is 5. If you need more than this, please contact us through our [Help center](https://help.openai.com) and describe your use case.\\n\\nWhen `logprobs` is set, `completion` will be automatically added into `expand` to get the logprobs.\\n\"\n          },\n          \"max_tokens\": {\n            \"description\": \"The maximum number of tokens allowed for the generated answer\",\n            \"type\": \"integer\",\n            \"default\": 16,\n            \"nullable\": true\n          },\n          \"stop\": {\n            \"description\": \"Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.\\n\",\n            \"default\": null,\n            \"oneOf\": [\n              {\n                \"type\": \"string\",\n                \"default\": \"<|endoftext|>\",\n                \"example\": \"\\n\"\n              },\n              {\n                \"type\": \"array\",\n                \"minItems\": 1,\n                \"maxItems\": 4,\n                \"items\": {\n                  \"type\": \"string\",\n                  \"example\": \"[\\\"\\\\n\\\"]\"\n                }\n              }\n            ],\n            \"nullable\": true\n          },\n          \"n\": {\n            \"description\": \"How many answers to generate for each question.\",\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"maximum\": 10,\n            \"default\": 1,\n            \"nullable\": true\n          },\n          \"logit_bias\": {\n            \"type\": \"object\",\n            \"x-oaiTypeLabel\": \"map\",\n            \"default\": null,\n            \"nullable\": true,\n            \"description\": \"Modify the likelihood of specified tokens appearing in the completion.\\n\\nAccepts a json object that maps tokens (specified by their token ID in the GPT tokenizer) to an associated bias value from -100 to 100. You can use this [tokenizer tool](/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.\\n\\nAs an example, you can pass `{\\\"50256\\\": -100}` to prevent the <|endoftext|> token from being generated.\\n\"\n          },\n          \"return_metadata\": {\n            \"description\": \"A special boolean flag for showing metadata. If set to `true`, each document entry in the returned JSON will contain a \\\"metadata\\\" field.\\n\\nThis flag only takes effect when `file` is set.\\n\",\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"nullable\": true\n          },\n          \"return_prompt\": {\n            \"description\": \"If set to `true`, the returned JSON will include a \\\"prompt\\\" field containing the final prompt that was used to request a completion. This is mainly useful for debugging purposes.\",\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"nullable\": true\n          },\n          \"expand\": {\n            \"description\": \"If an object name is in the list, we provide the full information of the object; otherwise, we only provide the object ID. Currently we support `completion` and `file` objects for expansion.\",\n            \"type\": \"array\",\n            \"items\": {},\n            \"nullable\": true,\n            \"default\": []\n          },\n          \"user\": {\n            \"type\": \"string\",\n            \"example\": \"user-1234\",\n            \"description\": \"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\\n\"\n          }\n        },\n        \"required\": [\n          \"model\",\n          \"question\",\n          \"examples\",\n          \"examples_context\"\n        ]\n      },\n      \"CreateAnswerResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"model\": {\n            \"type\": \"string\"\n          },\n          \"search_model\": {\n            \"type\": \"string\"\n          },\n          \"completion\": {\n            \"type\": \"string\"\n          },\n          \"answers\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"selected_documents\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"document\": {\n                  \"type\": \"integer\"\n                },\n                \"text\": {\n                  \"type\": \"string\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"CreateClassificationRequest\": {\n        \"type\": \"object\",\n        \"additionalProperties\": false,\n        \"properties\": {\n          \"model\": {\n            \"description\": \"ID of the model to use. You can use the [List models](/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](/docs/models/overview) for descriptions of them.\",\n            \"type\": \"string\"\n          },\n          \"query\": {\n            \"description\": \"Query to be classified.\",\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"example\": \"The plot is not very attractive.\"\n          },\n          \"examples\": {\n            \"description\": \"A list of examples with labels, in the following format:\\n\\n`[[\\\"The movie is so interesting.\\\", \\\"Positive\\\"], [\\\"It is quite boring.\\\", \\\"Negative\\\"], ...]`\\n\\nAll the label strings will be normalized to be capitalized.\\n\\nYou should specify either `examples` or `file`, but not both.\\n\",\n            \"type\": \"array\",\n            \"minItems\": 2,\n            \"maxItems\": 200,\n            \"items\": {\n              \"type\": \"array\",\n              \"minItems\": 2,\n              \"maxItems\": 2,\n              \"items\": {\n                \"type\": \"string\",\n                \"minLength\": 1\n              }\n            },\n            \"example\": \"[['Do not see this film.', 'Negative'], ['Smart, provocative and blisteringly funny.', 'Positive']]\",\n            \"nullable\": true\n          },\n          \"file\": {\n            \"description\": \"The ID of the uploaded file that contains training examples. See [upload file](/docs/api-reference/files/upload) for how to upload a file of the desired format and purpose.\\n\\nYou should specify either `examples` or `file`, but not both.\\n\",\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"labels\": {\n            \"description\": \"The set of categories being classified. If not specified, candidate labels will be automatically collected from the examples you provide. All the label strings will be normalized to be capitalized.\",\n            \"type\": \"array\",\n            \"minItems\": 2,\n            \"maxItems\": 200,\n            \"default\": null,\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"example\": [\n              \"Positive\",\n              \"Negative\"\n            ],\n            \"nullable\": true\n          },\n          \"search_model\": {\n            \"description\": \"ID of the model to use for [Search](/docs/api-reference/searches/create). You can select one of `ada`, `babbage`, `curie`, or `davinci`.\",\n            \"type\": \"string\",\n            \"default\": \"ada\",\n            \"nullable\": true\n          },\n          \"temperature\": {\n            \"description\": \"What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\",\n            \"type\": \"number\",\n            \"minimum\": 0,\n            \"maximum\": 2,\n            \"default\": 0,\n            \"nullable\": true,\n            \"example\": 0\n          },\n          \"logprobs\": {\n            \"type\": \"integer\",\n            \"minimum\": 0,\n            \"maximum\": 5,\n            \"default\": null,\n            \"nullable\": true,\n            \"description\": \"Include the log probabilities on the `logprobs` most likely tokens, as well the chosen tokens. For example, if `logprobs` is 5, the API will return a list of the 5 most likely tokens. The API will always return the `logprob` of the sampled token, so there may be up to `logprobs+1` elements in the response.\\n\\nThe maximum value for `logprobs` is 5. If you need more than this, please contact us through our [Help center](https://help.openai.com) and describe your use case.\\n\\nWhen `logprobs` is set, `completion` will be automatically added into `expand` to get the logprobs.\\n\"\n          },\n          \"max_examples\": {\n            \"description\": \"The maximum number of examples to be ranked by [Search](/docs/api-reference/searches/create) when using `file`. Setting it to a higher value leads to improved accuracy but with increased latency and cost.\",\n            \"type\": \"integer\",\n            \"default\": 200,\n            \"nullable\": true\n          },\n          \"logit_bias\": {\n            \"type\": \"object\",\n            \"x-oaiTypeLabel\": \"map\",\n            \"default\": null,\n            \"nullable\": true,\n            \"description\": \"Modify the likelihood of specified tokens appearing in the completion.\\n\\nAccepts a json object that maps tokens (specified by their token ID in the GPT tokenizer) to an associated bias value from -100 to 100. You can use this [tokenizer tool](/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.\\n\\nAs an example, you can pass `{\\\"50256\\\": -100}` to prevent the <|endoftext|> token from being generated.\\n\"\n          },\n          \"return_prompt\": {\n            \"description\": \"If set to `true`, the returned JSON will include a \\\"prompt\\\" field containing the final prompt that was used to request a completion. This is mainly useful for debugging purposes.\",\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"nullable\": true\n          },\n          \"return_metadata\": {\n            \"description\": \"A special boolean flag for showing metadata. If set to `true`, each document entry in the returned JSON will contain a \\\"metadata\\\" field.\\n\\nThis flag only takes effect when `file` is set.\\n\",\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"nullable\": true\n          },\n          \"expand\": {\n            \"description\": \"If an object name is in the list, we provide the full information of the object; otherwise, we only provide the object ID. Currently we support `completion` and `file` objects for expansion.\",\n            \"type\": \"array\",\n            \"items\": {},\n            \"nullable\": true,\n            \"default\": []\n          },\n          \"user\": {\n            \"type\": \"string\",\n            \"example\": \"user-1234\",\n            \"description\": \"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\\n\"\n          }\n        },\n        \"required\": [\n          \"model\",\n          \"query\"\n        ]\n      },\n      \"CreateClassificationResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"model\": {\n            \"type\": \"string\"\n          },\n          \"search_model\": {\n            \"type\": \"string\"\n          },\n          \"completion\": {\n            \"type\": \"string\"\n          },\n          \"label\": {\n            \"type\": \"string\"\n          },\n          \"selected_examples\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"document\": {\n                  \"type\": \"integer\"\n                },\n                \"text\": {\n                  \"type\": \"string\"\n                },\n                \"label\": {\n                  \"type\": \"string\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"CreateFineTuneRequest\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"training_file\": {\n            \"description\": \"The ID of an uploaded file that contains training data.\\n\\nSee [upload file](/docs/api-reference/files/upload) for how to upload a file.\\n\\nYour dataset must be formatted as a JSONL file, where each training\\nexample is a JSON object with the keys \\\"prompt\\\" and \\\"completion\\\".\\nAdditionally, you must upload your file with the purpose `fine-tune`.\\n\\nSee the [fine-tuning guide](/docs/guides/fine-tuning/creating-training-data) for more details.\\n\",\n            \"type\": \"string\",\n            \"example\": \"file-ajSREls59WBbvgSzJSVWxMCB\"\n          },\n          \"validation_file\": {\n            \"description\": \"The ID of an uploaded file that contains validation data.\\n\\nIf you provide this file, the data is used to generate validation\\nmetrics periodically during fine-tuning. These metrics can be viewed in\\nthe [fine-tuning results file](/docs/guides/fine-tuning/analyzing-your-fine-tuned-model).\\nYour train and validation data should be mutually exclusive.\\n\\nYour dataset must be formatted as a JSONL file, where each validation\\nexample is a JSON object with the keys \\\"prompt\\\" and \\\"completion\\\".\\nAdditionally, you must upload your file with the purpose `fine-tune`.\\n\\nSee the [fine-tuning guide](/docs/guides/fine-tuning/creating-training-data) for more details.\\n\",\n            \"type\": \"string\",\n            \"nullable\": true,\n            \"example\": \"file-XjSREls59WBbvgSzJSVWxMCa\"\n          },\n          \"model\": {\n            \"description\": \"The name of the base model to fine-tune. You can select one of \\\"ada\\\",\\n\\\"babbage\\\", \\\"curie\\\", \\\"davinci\\\", or a fine-tuned model created after 2022-04-21.\\nTo learn more about these models, see the\\n[Models](https://platform.openai.com/docs/models) documentation.\\n\",\n            \"default\": \"curie\",\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"n_epochs\": {\n            \"description\": \"The number of epochs to train the model for. An epoch refers to one\\nfull cycle through the training dataset.\\n\",\n            \"default\": 4,\n            \"type\": \"integer\",\n            \"nullable\": true\n          },\n          \"batch_size\": {\n            \"description\": \"The batch size to use for training. The batch size is the number of\\ntraining examples used to train a single forward and backward pass.\\n\\nBy default, the batch size will be dynamically configured to be\\n~0.2% of the number of examples in the training set, capped at 256 -\\nin general, we've found that larger batch sizes tend to work better\\nfor larger datasets.\\n\",\n            \"default\": null,\n            \"type\": \"integer\",\n            \"nullable\": true\n          },\n          \"learning_rate_multiplier\": {\n            \"description\": \"The learning rate multiplier to use for training.\\nThe fine-tuning learning rate is the original learning rate used for\\npretraining multiplied by this value.\\n\\nBy default, the learning rate multiplier is the 0.05, 0.1, or 0.2\\ndepending on final `batch_size` (larger learning rates tend to\\nperform better with larger batch sizes). We recommend experimenting\\nwith values in the range 0.02 to 0.2 to see what produces the best\\nresults.\\n\",\n            \"default\": null,\n            \"type\": \"number\",\n            \"nullable\": true\n          },\n          \"prompt_loss_weight\": {\n            \"description\": \"The weight to use for loss on the prompt tokens. This controls how\\nmuch the model tries to learn to generate the prompt (as compared\\nto the completion which always has a weight of 1.0), and can add\\na stabilizing effect to training when completions are short.\\n\\nIf prompts are extremely long (relative to completions), it may make\\nsense to reduce this weight so as to avoid over-prioritizing\\nlearning the prompt.\\n\",\n            \"default\": 0.01,\n            \"type\": \"number\",\n            \"nullable\": true\n          },\n          \"compute_classification_metrics\": {\n            \"description\": \"If set, we calculate classification-specific metrics such as accuracy\\nand F-1 score using the validation set at the end of every epoch.\\nThese metrics can be viewed in the [results file](/docs/guides/fine-tuning/analyzing-your-fine-tuned-model).\\n\\nIn order to compute classification metrics, you must provide a\\n`validation_file`. Additionally, you must\\nspecify `classification_n_classes` for multiclass classification or\\n`classification_positive_class` for binary classification.\\n\",\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"nullable\": true\n          },\n          \"classification_n_classes\": {\n            \"description\": \"The number of classes in a classification task.\\n\\nThis parameter is required for multiclass classification.\\n\",\n            \"type\": \"integer\",\n            \"default\": null,\n            \"nullable\": true\n          },\n          \"classification_positive_class\": {\n            \"description\": \"The positive class in binary classification.\\n\\nThis parameter is needed to generate precision, recall, and F1\\nmetrics when doing binary classification.\\n\",\n            \"type\": \"string\",\n            \"default\": null,\n            \"nullable\": true\n          },\n          \"classification_betas\": {\n            \"description\": \"If this is provided, we calculate F-beta scores at the specified\\nbeta values. The F-beta score is a generalization of F-1 score.\\nThis is only used for binary classification.\\n\\nWith a beta of 1 (i.e. the F-1 score), precision and recall are\\ngiven the same weight. A larger beta score puts more weight on\\nrecall and less on precision. A smaller beta score puts more weight\\non precision and less on recall.\\n\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"number\"\n            },\n            \"example\": [\n              0.6,\n              1,\n              1.5,\n              2\n            ],\n            \"default\": null,\n            \"nullable\": true\n          },\n          \"suffix\": {\n            \"description\": \"A string of up to 40 characters that will be added to your fine-tuned model name.\\n\\nFor example, a `suffix` of \\\"custom-model-name\\\" would produce a model name like `ada:ft-your-org:custom-model-name-2022-02-15-04-21-04`.\\n\",\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 40,\n            \"default\": null,\n            \"nullable\": true\n          }\n        },\n        \"required\": [\n          \"training_file\"\n        ]\n      },\n      \"ListFineTunesResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"data\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/FineTune\"\n            }\n          }\n        },\n        \"required\": [\n          \"object\",\n          \"data\"\n        ]\n      },\n      \"ListFineTuneEventsResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"data\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/FineTuneEvent\"\n            }\n          }\n        },\n        \"required\": [\n          \"object\",\n          \"data\"\n        ]\n      },\n      \"CreateEmbeddingRequest\": {\n        \"type\": \"object\",\n        \"additionalProperties\": false,\n        \"properties\": {\n          \"model\": {\n            \"description\": \"ID of the model to use. You can use the [List models](/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](/docs/models/overview) for descriptions of them.\",\n            \"type\": \"string\"\n          },\n          \"input\": {\n            \"description\": \"Input text to get embeddings for, encoded as a string or array of tokens. To get embeddings for multiple inputs in a single request, pass an array of strings or array of token arrays. Each input must not exceed 8192 tokens in length.\\n\",\n            \"example\": \"The quick brown fox jumped over the lazy dog\",\n            \"oneOf\": [\n              {\n                \"type\": \"string\",\n                \"default\": \"\",\n                \"example\": \"This is a test.\"\n              },\n              {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"string\",\n                  \"default\": \"\",\n                  \"example\": \"This is a test.\"\n                }\n              },\n              {\n                \"type\": \"array\",\n                \"minItems\": 1,\n                \"items\": {\n                  \"type\": \"integer\"\n                },\n                \"example\": \"[1212, 318, 257, 1332, 13]\"\n              },\n              {\n                \"type\": \"array\",\n                \"minItems\": 1,\n                \"items\": {\n                  \"type\": \"array\",\n                  \"minItems\": 1,\n                  \"items\": {\n                    \"type\": \"integer\"\n                  }\n                },\n                \"example\": \"[[1212, 318, 257, 1332, 13]]\"\n              }\n            ]\n          },\n          \"user\": {\n            \"type\": \"string\",\n            \"example\": \"user-1234\",\n            \"description\": \"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\\n\"\n          }\n        },\n        \"required\": [\n          \"model\",\n          \"input\"\n        ]\n      },\n      \"CreateEmbeddingResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"model\": {\n            \"type\": \"string\"\n          },\n          \"data\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"index\": {\n                  \"type\": \"integer\"\n                },\n                \"object\": {\n                  \"type\": \"string\"\n                },\n                \"embedding\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"type\": \"number\"\n                  }\n                }\n              },\n              \"required\": [\n                \"index\",\n                \"object\",\n                \"embedding\"\n              ]\n            }\n          },\n          \"usage\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"prompt_tokens\": {\n                \"type\": \"integer\"\n              },\n              \"total_tokens\": {\n                \"type\": \"integer\"\n              }\n            },\n            \"required\": [\n              \"prompt_tokens\",\n              \"total_tokens\"\n            ]\n          }\n        },\n        \"required\": [\n          \"object\",\n          \"model\",\n          \"data\",\n          \"usage\"\n        ]\n      },\n      \"CreateTranscriptionRequest\": {\n        \"type\": \"object\",\n        \"additionalProperties\": false,\n        \"properties\": {\n          \"file\": {\n            \"description\": \"The audio file to transcribe, in one of these formats: mp3, mp4, mpeg, mpga, m4a, wav, or webm.\\n\",\n            \"type\": \"string\",\n            \"format\": \"binary\"\n          },\n          \"model\": {\n            \"description\": \"ID of the model to use. Only `whisper-1` is currently available.\\n\",\n            \"type\": \"string\"\n          },\n          \"prompt\": {\n            \"description\": \"An optional text to guide the model's style or continue a previous audio segment. The [prompt](/docs/guides/speech-to-text/prompting) should match the audio language.\\n\",\n            \"type\": \"string\"\n          },\n          \"response_format\": {\n            \"description\": \"The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt.\\n\",\n            \"type\": \"string\",\n            \"default\": \"json\"\n          },\n          \"temperature\": {\n            \"description\": \"The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use [log probability](https://en.wikipedia.org/wiki/Log_probability) to automatically increase the temperature until certain thresholds are hit.\\n\",\n            \"type\": \"number\",\n            \"default\": 0\n          },\n          \"language\": {\n            \"description\": \"The language of the input audio. Supplying the input language in [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format will improve accuracy and latency.\\n\",\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"file\",\n          \"model\"\n        ]\n      },\n      \"CreateTranscriptionResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"text\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"text\"\n        ]\n      },\n      \"CreateTranslationRequest\": {\n        \"type\": \"object\",\n        \"additionalProperties\": false,\n        \"properties\": {\n          \"file\": {\n            \"description\": \"The audio file to translate, in one of these formats: mp3, mp4, mpeg, mpga, m4a, wav, or webm.\\n\",\n            \"type\": \"string\",\n            \"format\": \"binary\"\n          },\n          \"model\": {\n            \"description\": \"ID of the model to use. Only `whisper-1` is currently available.\\n\",\n            \"type\": \"string\"\n          },\n          \"prompt\": {\n            \"description\": \"An optional text to guide the model's style or continue a previous audio segment. The [prompt](/docs/guides/speech-to-text/prompting) should be in English.\\n\",\n            \"type\": \"string\"\n          },\n          \"response_format\": {\n            \"description\": \"The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt.\\n\",\n            \"type\": \"string\",\n            \"default\": \"json\"\n          },\n          \"temperature\": {\n            \"description\": \"The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use [log probability](https://en.wikipedia.org/wiki/Log_probability) to automatically increase the temperature until certain thresholds are hit.\\n\",\n            \"type\": \"number\",\n            \"default\": 0\n          }\n        },\n        \"required\": [\n          \"file\",\n          \"model\"\n        ]\n      },\n      \"CreateTranslationResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"text\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"text\"\n        ]\n      },\n      \"Engine\": {\n        \"title\": \"Engine\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"created\": {\n            \"type\": \"integer\",\n            \"nullable\": true\n          },\n          \"ready\": {\n            \"type\": \"boolean\"\n          }\n        },\n        \"required\": [\n          \"id\",\n          \"object\",\n          \"created\",\n          \"ready\"\n        ]\n      },\n      \"Model\": {\n        \"title\": \"Model\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"created\": {\n            \"type\": \"integer\"\n          },\n          \"owned_by\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"id\",\n          \"object\",\n          \"created\",\n          \"owned_by\"\n        ]\n      },\n      \"OpenAIFile\": {\n        \"title\": \"OpenAIFile\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"bytes\": {\n            \"type\": \"integer\"\n          },\n          \"created_at\": {\n            \"type\": \"integer\"\n          },\n          \"filename\": {\n            \"type\": \"string\"\n          },\n          \"purpose\": {\n            \"type\": \"string\"\n          },\n          \"status\": {\n            \"type\": \"string\"\n          },\n          \"status_details\": {\n            \"type\": \"object\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [\n          \"id\",\n          \"object\",\n          \"bytes\",\n          \"created_at\",\n          \"filename\",\n          \"purpose\"\n        ]\n      },\n      \"FineTune\": {\n        \"title\": \"FineTune\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"created_at\": {\n            \"type\": \"integer\"\n          },\n          \"updated_at\": {\n            \"type\": \"integer\"\n          },\n          \"model\": {\n            \"type\": \"string\"\n          },\n          \"fine_tuned_model\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"organization_id\": {\n            \"type\": \"string\"\n          },\n          \"status\": {\n            \"type\": \"string\"\n          },\n          \"hyperparams\": {\n            \"type\": \"object\"\n          },\n          \"training_files\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/OpenAIFile\"\n            }\n          },\n          \"validation_files\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/OpenAIFile\"\n            }\n          },\n          \"result_files\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/OpenAIFile\"\n            }\n          },\n          \"events\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/FineTuneEvent\"\n            }\n          }\n        },\n        \"required\": [\n          \"id\",\n          \"object\",\n          \"created_at\",\n          \"updated_at\",\n          \"model\",\n          \"fine_tuned_model\",\n          \"organization_id\",\n          \"status\",\n          \"hyperparams\",\n          \"training_files\",\n          \"validation_files\",\n          \"result_files\"\n        ]\n      },\n      \"FineTuneEvent\": {\n        \"title\": \"FineTuneEvent\",\n        \"properties\": {\n          \"object\": {\n            \"type\": \"string\"\n          },\n          \"created_at\": {\n            \"type\": \"integer\"\n          },\n          \"level\": {\n            \"type\": \"string\"\n          },\n          \"message\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"object\",\n          \"created_at\",\n          \"level\",\n          \"message\"\n        ]\n      }\n    }\n  },\n  \"x-oaiMeta\": {\n    \"groups\": [\n      {\n        \"id\": \"models\",\n        \"title\": \"Models\",\n        \"description\": \"List and describe the various models available in the API. You can refer to the [Models](/docs/models) documentation to understand what models are available and the differences between them.\\n\"\n      },\n      {\n        \"id\": \"completions\",\n        \"title\": \"Completions\",\n        \"description\": \"Given a prompt, the model will return one or more predicted completions, and can also return the probabilities of alternative tokens at each position.\\n\"\n      },\n      {\n        \"id\": \"chat\",\n        \"title\": \"Chat\",\n        \"description\": \"Given a chat conversation, the model will return a chat completion response.\\n\"\n      },\n      {\n        \"id\": \"edits\",\n        \"title\": \"Edits\",\n        \"description\": \"Given a prompt and an instruction, the model will return an edited version of the prompt.\\n\"\n      },\n      {\n        \"id\": \"images\",\n        \"title\": \"Images\",\n        \"description\": \"Given a prompt and/or an input image, the model will generate a new image.\\n\\nRelated guide: [Image generation](/docs/guides/images)\\n\"\n      },\n      {\n        \"id\": \"embeddings\",\n        \"title\": \"Embeddings\",\n        \"description\": \"Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms.\\n\\nRelated guide: [Embeddings](/docs/guides/embeddings)\\n\"\n      },\n      {\n        \"id\": \"audio\",\n        \"title\": \"Audio\",\n        \"description\": \"Learn how to turn audio into text.\\n\\nRelated guide: [Speech to text](/docs/guides/speech-to-text)\\n\"\n      },\n      {\n        \"id\": \"files\",\n        \"title\": \"Files\",\n        \"description\": \"Files are used to upload documents that can be used with features like [Fine-tuning](/docs/api-reference/fine-tunes).\\n\"\n      },\n      {\n        \"id\": \"fine-tunes\",\n        \"title\": \"Fine-tunes\",\n        \"description\": \"Manage fine-tuning jobs to tailor a model to your specific training data.\\n\\nRelated guide: [Fine-tune models](/docs/guides/fine-tuning)\\n\"\n      },\n      {\n        \"id\": \"moderations\",\n        \"title\": \"Moderations\",\n        \"description\": \"Given a input text, outputs if the model classifies it as violating OpenAI's content policy.\\n\\nRelated guide: [Moderations](/docs/guides/moderation)\\n\"\n      },\n      {\n        \"id\": \"searches\",\n        \"title\": \"Searches\",\n        \"warning\": {\n          \"title\": \"This endpoint is deprecated and will be removed on December 3rd, 2022\",\n          \"message\": \"We’ve developed new methods with better performance. [Learn more](https://help.openai.com/en/articles/6272952-search-transition-guide).\"\n        },\n        \"description\": \"Given a query and a set of documents or labels, the model ranks each document based on its semantic similarity to the provided query.\\n\\nRelated guide: [Search](/docs/guides/search)\\n\"\n      },\n      {\n        \"id\": \"classifications\",\n        \"title\": \"Classifications\",\n        \"warning\": {\n          \"title\": \"This endpoint is deprecated and will be removed on December 3rd, 2022\",\n          \"message\": \"We’ve developed new methods with better performance. [Learn more](https://help.openai.com/en/articles/6272941-classifications-transition-guide).\"\n        },\n        \"description\": \"Given a query and a set of labeled examples, the model will predict the most likely label for the query. Useful as a drop-in replacement for any ML classification or text-to-label task.\\n\\nRelated guide: [Classification](/docs/guides/classifications)\\n\"\n      },\n      {\n        \"id\": \"answers\",\n        \"title\": \"Answers\",\n        \"warning\": {\n          \"title\": \"This endpoint is deprecated and will be removed on December 3rd, 2022\",\n          \"message\": \"We’ve developed new methods with better performance. [Learn more](https://help.openai.com/en/articles/6233728-answers-transition-guide).\"\n        },\n        \"description\": \"Given a question, a set of documents, and some examples, the API generates an answer to the question based on the information in the set of documents. This is useful for question-answering applications on sources of truth, like company documentation or a knowledge base.\\n\\nRelated guide: [Question answering](/docs/guides/answers)\\n\"\n      },\n      {\n        \"id\": \"engines\",\n        \"title\": \"Engines\",\n        \"description\": \"These endpoints describe and provide access to the various engines available in the API.\",\n        \"warning\": {\n          \"title\": \"The Engines endpoints are deprecated.\",\n          \"message\": \"Please use their replacement, [Models](/docs/api-reference/models), instead. [Learn more](https://help.openai.com/TODO).\"\n        }\n      }\n    ]\n  }\n}"},{"id":"scale-text","domain":"api.scale.com","openapi":"{\n  \"openapi\": \"3.0.0\",\n  \"info\": {\n    \"version\": \"1.0.0\",\n    \"title\": \"SCALE TEXT\",\n    \"description\": \"Readme API spec doc: Scale Text\",\n    \"termsOfService\": \"#\"\n  },\n  \"servers\": [\n    {\n      \"url\": \"https://api.scale.com/v1\"\n    }\n  ],\n  \"security\": [\n    {\n      \"basicAuth\": []\n    }\n  ],\n  \"paths\": {\n    \"/task/textcollection\": {\n      \"post\": {\n        \"description\": \"This endpoint creates a `textcollection` task. In this task, Scale will collect information from the given attachments and/or through the web following the instructions that you provide. Example use cases include labeling structurally-complex data from an attached image or querying sentiment information given a set of links.\\n\\nThis task involves an `attachments` array detailing the attachments to be annotated, and a `fields` parameter which describes all of the different pieces of information to be captured.\\n\\nThe `fields` parameter is an array in which each object has a `field_id`, `type`, and `title`. The `field_id` is the key the annotation will be returned under, and it must be unique within the project. The bulk of the task is defined within this array. It may be helpful to consider building this parameter as similar to building an HTML form.\\n\\nYou can optionally provide additional markdown-enabled or Google Doc-based [instructions](https://scale.com/docs/instructions) via the `instruction` parameter.\\n\\nIf successful, Scale will immediately return the generated task object, at which point you could store the `task_id` to have a permanent reference to the task.\\n\\nThe parameters `attachments` and `fields` will be stored in the `params` object of the constructed `task` object.\",\n        \"tags\": [\n          \"Text Collection\"\n        ],\n        \"summary\": \"Text Collection\",\n        \"operationId\": \"text-collection\",\n        \"requestBody\": {\n          \"description\": \"Body Parameters\",\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\n                  \"fields\",\n                  \"attachments\"\n                ],\n                \"properties\": {\n                  \"project\": {\n                    \"type\": \"string\",\n                    \"description\": \"The name of the project to associate this task with. See the [Projects](/reference/project-overview) Section for more details.\"\n                  },\n                  \"batch\": {\n                    \"type\": \"string\",\n                    \"description\": \"The name of the batch to associate this task with. Note that if a batch is specified, you need not specify the project, as the task will automatically be associated with the batch's project. For Scale Rapid projects specifying a batch is required. See [Batches section](/reference/batch-overview) for more details.\"\n                  },\n                  \"instruction\": {\n                    \"type\": \"string\",\n                    \"description\": \"A markdown-enabled string or iframe embed google doc explaining how to do the task. You can use [markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) to show example images, give structure to your instructions, and more. See our [instruction best practices](https://scale.com/docs/instructions) for more details. For Scale Rapid projects, DO NOT set this field unless you specifically want to override the project level instructions. \",\n                    \"default\": \"**Instructions:** Please annotate all the things\"\n                  },\n                  \"callback_url\": {\n                    \"type\": \"string\",\n                    \"description\": \"The full url (including the scheme `http://` or `https://`) or email address of the [callback](/reference/callbacks) that will be used when the task is completed.\"\n                  },\n                  \"fields\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of [UnitField](/reference/unitfield) and [FieldSet](/reference/fieldset) objects containing descriptions for the fields of information to be collected. Alternatively, can be an array of [FormField](/reference/formfield) objects if the task is to be completed through multiple mini-forms.\",\n                    \"items\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"default\": \"category\"\n                        },\n                        \"field_id\": {\n                          \"type\": \"string\",\n                          \"default\": \"category_field\"\n                        },\n                        \"title\": {\n                          \"type\": \"string\",\n                          \"default\": \"Please select the most relevant option\"\n                        },\n                        \"description\": {\n                          \"type\": \"string\"\n                        },\n                        \"choices\": {\n                          \"type\": \"array\",\n                          \"items\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"label\": {\n                                \"type\": \"string\",\n                                \"default\": \"Correct Website\"\n                              },\n                              \"value\": {\n                                \"type\": \"string\",\n                                \"default\": \"correct_website\"\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"attachments\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of [TextCollectionAttachment](/reference/textcollectionattachment) objects to be labeled\",\n                    \"default\": [],\n                    \"items\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"default\": \"website\"\n                        },\n                        \"content\": {\n                          \"type\": \"string\",\n                          \"default\": \"https://www.scale.com/\"\n                        }\n                      }\n                    }\n                  },\n                  \"title\": {\n                    \"type\": \"string\",\n                    \"description\": \"The title of the task to be shown to scalers.\"\n                  },\n                  \"description\": {\n                    \"type\": \"string\",\n                    \"description\": \"The description of the task to be shown to scalers.\"\n                  },\n                  \"responses_required\": {\n                    \"type\": \"integer\",\n                    \"description\": \"The number of responses required for the task to build consensus before returning the callback response. Upper bound of 100.\",\n                    \"default\": 1,\n                    \"format\": \"int32\"\n                  },\n                  \"metadata\": {\n                    \"type\": \"object\",\n                    \"description\": \"A set of key/value pairs that you can attach to a task object. It can be useful for storing additional information about the task in a structured format. Max 10KB.\",\n                    \"format\": \"json\"\n                  },\n                  \"priority\": {\n                    \"type\": \"integer\",\n                    \"description\": \"A value of 10, 20, or 30 that defines the priority of a task within a project. The higher the number, the higher the priority.\",\n                    \"default\": 30,\n                    \"format\": \"int32\"\n                  },\n                  \"unique_id\": {\n                    \"type\": \"string\",\n                    \"description\": \"A arbitrary ID that you can assign to a task and then query for later. This ID must be unique across all projects under your account, otherwise the task submission will be rejected. See [Avoiding Duplicate Tasks](/reference/idempotent-requests) for more details.\"\n                  },\n                  \"clear_unique_id_on_error\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"If set to be true, if a task errors out after being submitted, the unique id on the task will be unset. This param allows workflows where you can re-submit the same unique id to recover from errors automatically\"\n                  },\n                  \"tags\": {\n                    \"type\": \"array\",\n                    \"description\": \"Arbitrary labels that you can assign to a task. At most 5 tags are allowed per task. You can query tasks with specific tags through the task retrieval API.\",\n                    \"xml\": {\n                      \"name\": \"tags\"\n                    },\n                    \"items\": {\n                      \"type\": \"string\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK -- Everything worked as expected.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"task_id\": {\n                      \"type\": \"string\",\n                      \"default\": \"5c3f9c25744e7d005052e319\"\n                    },\n                    \"created_at\": {\n                      \"type\": \"string\",\n                      \"default\": \"2019-01-16T21:03:33.166Z\"\n                    },\n                    \"callback_url\": {\n                      \"type\": \"string\",\n                      \"default\": \"http://www.example.com/callback\"\n                    },\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"default\": \"textcollection\"\n                    },\n                    \"status\": {\n                      \"type\": \"string\",\n                      \"default\": \"completed\"\n                    },\n                    \"instruction\": {\n                      \"type\": \"string\",\n                      \"default\": \"Find the URL for the hiring page for the company with attached website.\"\n                    },\n                    \"urgency\": {\n                      \"type\": \"string\",\n                      \"default\": \"day\"\n                    },\n                    \"attachments\": {\n                      \"type\": \"array\",\n                      \"xml\": {\n                        \"name\": \"Data\",\n                        \"wrapped\": true\n                      },\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"type\": {\n                            \"type\": \"string\",\n                            \"default\": \"website\"\n                          },\n                          \"content\": {\n                            \"type\": \"string\",\n                            \"default\": \"https://www.scale.com/\"\n                          }\n                        }\n                      }\n                    },\n                    \"fields\": {\n                      \"type\": \"array\",\n                      \"xml\": {\n                        \"name\": \"Data\",\n                        \"wrapped\": true\n                      },\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"type\": {\n                            \"type\": \"string\",\n                            \"default\": \"category\"\n                          },\n                          \"field_id\": {\n                            \"type\": \"string\",\n                            \"default\": \"category_field\"\n                          },\n                          \"title\": {\n                            \"type\": \"string\",\n                            \"default\": \"Please select the most relevant option\"\n                          },\n                          \"description\": {\n                            \"type\": \"string\"\n                          },\n                          \"choices\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"label\": {\n                                  \"type\": \"string\",\n                                  \"default\": \"Correct Website\"\n                                },\n                                \"value\": {\n                                  \"type\": \"string\",\n                                  \"default\": \"correct_website\"\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"metadata\": {\n                      \"type\": \"object\",\n                      \"description\": \"A set of key/value pairs that you can attach to a task object. It can be useful for storing additional information about the task in a structured format. Max 10KB.\",\n                      \"format\": \"json\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Bad Request -- The request was unacceptable, often due to missing a required parameter.\"\n          },\n          \"401\": {\n            \"description\": \"Unauthorized -- No valid API key provided.\"\n          },\n          \"402\": {\n            \"description\": \"Not enabled -- Please contact sales@scaleapi.com before creating this type of task.\"\n          },\n          \"404\": {\n            \"description\": \"Not Found -- The requested resource doesn't exist.\"\n          },\n          \"409\": {\n            \"description\": \"Conflict -- The provided idempotency key is already in use for a different request.\"\n          },\n          \"429\": {\n            \"description\": \"Too Many Requests -- Too many requests hit the API too quickly.\"\n          },\n          \"500\": {\n            \"description\": \"Internal Server Error -- We had a problem with our server. Try again later.\"\n          }\n        },\n        \"x-readme\": {\n          \"samples-languages\": [\n            \"python\",\n            \"node\",\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    },\n    \"/task/namedentityrecognition\": {\n      \"post\": {\n        \"description\": \"This endpoint creates a new `namedentityrecognition` task. In order to complete this task, our labelers will read the provided text and highlight any text entity mentions that correspond to the specified labels.\\n\\nUnlike most tasks, these tasks do not require an `attachment` or `attachments` field containing a link to the attachment to be annotated. Instead, the text to be annotated is provided directly within the `text` parameter of the request body itself.\",\n        \"tags\": [\n          \"Named Entity Recognition\"\n        ],\n        \"summary\": \"Named Entity Recognition\",\n        \"operationId\": \"named-entity-recognition\",\n        \"requestBody\": {\n          \"description\": \"Body Parameters\",\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\n                  \"instruction\",\n                  \"text\",\n                  \"labels\"\n                ],\n                \"properties\": {\n                  \"project\": {\n                    \"type\": \"string\",\n                    \"description\": \"The name of the project to associate this task with. See the [Projects](/reference/project-overview) Section for more details.\"\n                  },\n                  \"batch\": {\n                    \"type\": \"string\",\n                    \"description\": \"The name of the batch to associate this task with. Note that if a batch is specified, you need not specify the project, as the task will automatically be associated with the batch's project. For Scale Rapid projects specifying a batch is required. See [Batches section](/reference/batch-overview) for more details.\"\n                  },\n                  \"instruction\": {\n                    \"type\": \"string\",\n                    \"description\": \"A markdown-enabled string or iframe embed google doc explaining how to do the task. You can use [markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) to show example images, give structure to your instructions, and more. See our [instruction best practices](https://scale.com/docs/instructions) for more details. For Scale Rapid projects, DO NOT set this field unless you specifically want to override the project level instructions. \",\n                    \"default\": \"Highlight any **text entity mentions** that correspond to the specified labels\"\n                  },\n                  \"callback_url\": {\n                    \"type\": \"string\",\n                    \"description\": \"The full url (including the scheme `http://` or `https://`) or email address of the [callback](/reference/callbacks) that will be used when the task is completed.\"\n                  },\n                  \"text\": {\n                    \"type\": \"string\",\n                    \"description\": \"The text from which to extract named entities.\",\n                    \"default\": \"Melt butter in a heavy skillet over medium heat. Add onion; cook and stir until onion starts to brown, about 5 minutes. Season with salt and pepper.\"\n                  },\n                  \"attachments\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of [NerAttachment](/reference/nerattachment) objects to be labeled\",\n                    \"default\": [],\n                    \"items\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"default\": \"text\"\n                        },\n                        \"content\": {\n                          \"type\": \"string\",\n                          \"default\": \"**Please review this context**: I want to buy 1oz hand sanitizer please.\"\n                        }\n                      }\n                    }\n                  },\n                  \"labels\": {\n                    \"type\": \"array\",\n                    \"xml\": {\n                      \"name\": \"Data\",\n                      \"wrapped\": true\n                    },\n                    \"description\": \"An array of [NamedEntityRecognitionLabel](/reference/namedentityrecognitionlabel) objects containing descriptions for the text span types to label.\",\n                    \"items\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"name\": {\n                          \"type\": \"string\",\n                          \"default\": \"T_INGR\"\n                        },\n                        \"display_name\": {\n                          \"type\": \"string\",\n                          \"default\": \"Ingredients\"\n                        },\n                        \"children\": {\n                          \"type\": \"array\",\n                          \"xml\": {\n                            \"name\": \"objects_to_annotate\",\n                            \"wrapped\": true\n                          },\n                          \"items\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"name\": {\n                                \"type\": \"string\",\n                                \"default\": \"T_Butter\"\n                              },\n                              \"display_name\": {\n                                \"type\": \"string\",\n                                \"default\": \"Butter\"\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"relationships\": {\n                    \"type\": \"array\",\n                    \"xml\": {\n                      \"name\": \"Data\",\n                      \"wrapped\": true\n                    },\n                    \"description\": \"An array of [NamedEntityRecognitionRelationshipDefinition](/reference/namedentityrecognitionrelationshipdefinition) objects containing descriptions for the relationships between text spans to annotate.\",\n                    \"items\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"name\": {\n                          \"type\": \"string\",\n                          \"default\": \"R_ADD\"\n                        },\n                        \"display_name\": {\n                          \"type\": \"string\",\n                          \"default\": \"is added to\"\n                        },\n                        \"is_directed\": {\n                          \"type\": \"boolean\",\n                          \"default\": true\n                        },\n                        \"source_label\": {\n                          \"type\": \"string\",\n                          \"default\": \"T_INGR\"\n                        },\n                        \"target_label\": {\n                          \"type\": \"string\",\n                          \"default\": \"T_INGR\"\n                        }\n                      }\n                    }\n                  },\n                  \"merge_newlines\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"If true, removes the '\\\\n' characters in the input and do not displays line breaks in the task interface.\",\n                    \"default\": false\n                  },\n                  \"allow_overlapping_annotations\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"If true, allows annotations to overlap. Otherwise, all annotations must cover disjoint text spans.\",\n                    \"default\": false\n                  },\n                  \"unique_id\": {\n                    \"type\": \"string\",\n                    \"description\": \"A arbitrary ID that you can assign to a task and then query for later. This ID must be unique across all projects under your account, otherwise the task submission will be rejected. See [Avoiding Duplicate Tasks](/reference/idempotent-requests) for more details.\"\n                  },\n                  \"clear_unique_id_on_error\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"If set to be true, if a task errors out after being submitted, the unique id on the task will be unset. This param allows workflows where you can re-submit the same unique id to recover from errors automatically\"\n                  },\n                  \"tags\": {\n                    \"type\": \"array\",\n                    \"description\": \"Arbitrary labels that you can assign to a task. At most 5 tags are allowed per task. You can query tasks with specific tags through the task retrieval API.\",\n                    \"xml\": {\n                      \"name\": \"tags\"\n                    },\n                    \"items\": {\n                      \"type\": \"string\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK -- Everything worked as expected.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"task_id\": {\n                      \"type\": \"string\",\n                      \"default\": \"5c3f9c25744e7d005052e319\"\n                    },\n                    \"created_at\": {\n                      \"type\": \"string\",\n                      \"default\": \"2019-01-16T21:03:33.166Z\"\n                    },\n                    \"callback_url\": {\n                      \"type\": \"string\",\n                      \"description\": \"The full url (including the scheme `http://` or `https://`) or email address of the [callback](/reference/callbacks) that will be used when the task is completed.\"\n                    },\n                    \"instruction\": {\n                      \"type\": \"string\",\n                      \"default\": \"Label all ingredients and cookware. Please include relevant adjectives, for example **red apple** instead of just **apple**.\"\n                    },\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"default\": \"namedentityrecognition\"\n                    },\n                    \"status\": {\n                      \"type\": \"string\",\n                      \"default\": \"pending\"\n                    },\n                    \"params\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"text\": {\n                          \"type\": \"string\",\n                          \"default\": \"Melt butter in a heavy skillet over medium heat. Add onion; cook and stir until onion starts to brown, about 5 minutes. Season with salt and pepper.\"\n                        },\n                        \"labels\": {\n                          \"type\": \"array\",\n                          \"xml\": {\n                            \"name\": \"objects_to_annotate\",\n                            \"wrapped\": true\n                          },\n                          \"items\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"name\": {\n                                \"type\": \"string\",\n                                \"default\": \"T_INGR\"\n                              },\n                              \"display_name\": {\n                                \"type\": \"string\",\n                                \"default\": \"Ingredients\"\n                              },\n                              \"children\": {\n                                \"type\": \"array\",\n                                \"xml\": {\n                                  \"name\": \"objects_to_annotate\",\n                                  \"wrapped\": true\n                                },\n                                \"items\": {\n                                  \"type\": \"object\",\n                                  \"properties\": {\n                                    \"name\": {\n                                      \"type\": \"string\",\n                                      \"default\": \"T_Butter\"\n                                    },\n                                    \"display_name\": {\n                                      \"type\": \"string\",\n                                      \"default\": \"Butter\"\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    },\n                    \"is_test\": {\n                      \"type\": \"boolean\",\n                      \"default\": false\n                    },\n                    \"attachments\": {\n                      \"type\": \"array\",\n                      \"xml\": {\n                        \"name\": \"Data\",\n                        \"wrapped\": true\n                      },\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"type\": {\n                            \"type\": \"string\",\n                            \"default\": \"text\"\n                          },\n                          \"content\": {\n                            \"type\": \"string\",\n                            \"default\": \"**Please review this context**: I want to buy 1oz hand sanitizer please.\"\n                          }\n                        }\n                      }\n                    },\n                    \"metadata\": {\n                      \"type\": \"object\",\n                      \"description\": \"A set of key/value pairs that you can attach to a task object. It can be useful for storing additional information about the task in a structured format. Max 10KB.\",\n                      \"format\": \"json\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Bad Request -- The request was unacceptable, often due to missing a required parameter.\"\n          },\n          \"401\": {\n            \"description\": \"Unauthorized -- No valid API key provided.\"\n          },\n          \"402\": {\n            \"description\": \"Not enabled -- Please contact sales@scaleapi.com before creating this type of task.\"\n          },\n          \"404\": {\n            \"description\": \"Not Found -- The requested resource doesn't exist.\"\n          },\n          \"409\": {\n            \"description\": \"Conflict -- The provided idempotency key is already in use for a different request.\"\n          },\n          \"429\": {\n            \"description\": \"Too Many Requests -- Too many requests hit the API too quickly.\"\n          },\n          \"500\": {\n            \"description\": \"Internal Server Error -- We had a problem with our server. Try again later.\"\n          }\n        },\n        \"x-readme\": {\n          \"samples-languages\": [\n            \"python\",\n            \"node\",\n            \"javascript\",\n            \"curl\"\n          ]\n        }\n      }\n    }\n  },\n  \"components\": {\n    \"securitySchemes\": {\n      \"basicAuth\": {\n        \"type\": \"http\",\n        \"scheme\": \"basic\"\n      }\n    },\n    \"schemas\": {\n      \"resNamedEntityRecognition\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"task_id\": {\n            \"type\": \"string\",\n            \"default\": \"5c3f9c25744e7d005052e319\"\n          },\n          \"created_at\": {\n            \"type\": \"string\",\n            \"default\": \"2019-01-16T21:03:33.166Z\"\n          },\n          \"callback_url\": {\n            \"type\": \"string\",\n            \"description\": \"The full url (including the scheme `http://` or `https://`) or email address of the [callback](/reference/callbacks) that will be used when the task is completed.\"\n          },\n          \"instruction\": {\n            \"type\": \"string\",\n            \"default\": \"Label all ingredients and cookware. Please include relevant adjectives, for example **red apple** instead of just **apple**.\"\n          },\n          \"type\": {\n            \"type\": \"string\",\n            \"default\": \"namedentityrecognition\"\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"default\": \"pending\"\n          },\n          \"params\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"text\": {\n                \"type\": \"string\",\n                \"default\": \"Melt butter in a heavy skillet over medium heat. Add onion; cook and stir until onion starts to brown, about 5 minutes. Season with salt and pepper.\"\n              },\n              \"labels\": {\n                \"type\": \"array\",\n                \"xml\": {\n                  \"name\": \"objects_to_annotate\",\n                  \"wrapped\": true\n                },\n                \"items\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"name\": {\n                      \"type\": \"string\",\n                      \"default\": \"T_INGR\"\n                    },\n                    \"display_name\": {\n                      \"type\": \"string\",\n                      \"default\": \"Ingredients\"\n                    },\n                    \"children\": {\n                      \"type\": \"array\",\n                      \"xml\": {\n                        \"name\": \"objects_to_annotate\",\n                        \"wrapped\": true\n                      },\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"name\": {\n                            \"type\": \"string\",\n                            \"default\": \"T_Butter\"\n                          },\n                          \"display_name\": {\n                            \"type\": \"string\",\n                            \"default\": \"Butter\"\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"is_test\": {\n            \"type\": \"boolean\",\n            \"default\": false\n          },\n          \"attachments\": {\n            \"type\": \"array\",\n            \"xml\": {\n              \"name\": \"Data\",\n              \"wrapped\": true\n            },\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"type\": {\n                  \"type\": \"string\",\n                  \"default\": \"text\"\n                },\n                \"content\": {\n                  \"type\": \"string\",\n                  \"default\": \"**Please review this context**: I want to buy 1oz hand sanitizer please.\"\n                }\n              }\n            }\n          },\n          \"metadata\": {\n            \"type\": \"object\",\n            \"description\": \"A set of key/value pairs that you can attach to a task object. It can be useful for storing additional information about the task in a structured format. Max 10KB.\",\n            \"format\": \"json\"\n          }\n        }\n      },\n      \"res_nameentity_data\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\n            \"type\": \"string\",\n            \"default\": \"T_INGR\"\n          },\n          \"display_name\": {\n            \"type\": \"string\",\n            \"default\": \"Ingredients\"\n          },\n          \"children\": {\n            \"type\": \"array\",\n            \"xml\": {\n              \"name\": \"objects_to_annotate\",\n              \"wrapped\": true\n            },\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"name\": {\n                  \"type\": \"string\",\n                  \"default\": \"T_Butter\"\n                },\n                \"display_name\": {\n                  \"type\": \"string\",\n                  \"default\": \"Butter\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"res_nameentity_relationship_data\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\n            \"type\": \"string\",\n            \"default\": \"R_ADD\"\n          },\n          \"display_name\": {\n            \"type\": \"string\",\n            \"default\": \"is added to\"\n          },\n          \"is_directed\": {\n            \"type\": \"boolean\",\n            \"default\": true\n          },\n          \"source_label\": {\n            \"type\": \"string\",\n            \"default\": \"T_INGR\"\n          },\n          \"target_label\": {\n            \"type\": \"string\",\n            \"default\": \"T_INGR\"\n          }\n        }\n      },\n      \"namedentityrecognition\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"instruction\",\n          \"text\",\n          \"labels\"\n        ],\n        \"properties\": {\n          \"project\": {\n            \"type\": \"string\",\n            \"description\": \"The name of the project to associate this task with. See the [Projects](/reference/project-overview) Section for more details.\"\n          },\n          \"batch\": {\n            \"type\": \"string\",\n            \"description\": \"The name of the batch to associate this task with. Note that if a batch is specified, you need not specify the project, as the task will automatically be associated with the batch's project. For Scale Rapid projects specifying a batch is required. See [Batches section](/reference/batch-overview) for more details.\"\n          },\n          \"instruction\": {\n            \"type\": \"string\",\n            \"description\": \"A markdown-enabled string or iframe embed google doc explaining how to do the task. You can use [markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) to show example images, give structure to your instructions, and more. See our [instruction best practices](https://scale.com/docs/instructions) for more details. For Scale Rapid projects, DO NOT set this field unless you specifically want to override the project level instructions. \",\n            \"default\": \"Highlight any **text entity mentions** that correspond to the specified labels\"\n          },\n          \"callback_url\": {\n            \"type\": \"string\",\n            \"description\": \"The full url (including the scheme `http://` or `https://`) or email address of the [callback](/reference/callbacks) that will be used when the task is completed.\"\n          },\n          \"text\": {\n            \"type\": \"string\",\n            \"description\": \"The text from which to extract named entities.\",\n            \"default\": \"Melt butter in a heavy skillet over medium heat. Add onion; cook and stir until onion starts to brown, about 5 minutes. Season with salt and pepper.\"\n          },\n          \"attachments\": {\n            \"type\": \"array\",\n            \"description\": \"An array of [NerAttachment](/reference/nerattachment) objects to be labeled\",\n            \"default\": [],\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"type\": {\n                  \"type\": \"string\",\n                  \"default\": \"text\"\n                },\n                \"content\": {\n                  \"type\": \"string\",\n                  \"default\": \"**Please review this context**: I want to buy 1oz hand sanitizer please.\"\n                }\n              }\n            }\n          },\n          \"labels\": {\n            \"type\": \"array\",\n            \"xml\": {\n              \"name\": \"Data\",\n              \"wrapped\": true\n            },\n            \"description\": \"An array of [NamedEntityRecognitionLabel](/reference/namedentityrecognitionlabel) objects containing descriptions for the text span types to label.\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"name\": {\n                  \"type\": \"string\",\n                  \"default\": \"T_INGR\"\n                },\n                \"display_name\": {\n                  \"type\": \"string\",\n                  \"default\": \"Ingredients\"\n                },\n                \"children\": {\n                  \"type\": \"array\",\n                  \"xml\": {\n                    \"name\": \"objects_to_annotate\",\n                    \"wrapped\": true\n                  },\n                  \"items\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"name\": {\n                        \"type\": \"string\",\n                        \"default\": \"T_Butter\"\n                      },\n                      \"display_name\": {\n                        \"type\": \"string\",\n                        \"default\": \"Butter\"\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"relationships\": {\n            \"type\": \"array\",\n            \"xml\": {\n              \"name\": \"Data\",\n              \"wrapped\": true\n            },\n            \"description\": \"An array of [NamedEntityRecognitionRelationshipDefinition](/reference/namedentityrecognitionrelationshipdefinition) objects containing descriptions for the relationships between text spans to annotate.\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"name\": {\n                  \"type\": \"string\",\n                  \"default\": \"R_ADD\"\n                },\n                \"display_name\": {\n                  \"type\": \"string\",\n                  \"default\": \"is added to\"\n                },\n                \"is_directed\": {\n                  \"type\": \"boolean\",\n                  \"default\": true\n                },\n                \"source_label\": {\n                  \"type\": \"string\",\n                  \"default\": \"T_INGR\"\n                },\n                \"target_label\": {\n                  \"type\": \"string\",\n                  \"default\": \"T_INGR\"\n                }\n              }\n            }\n          },\n          \"merge_newlines\": {\n            \"type\": \"boolean\",\n            \"description\": \"If true, removes the '\\\\n' characters in the input and do not displays line breaks in the task interface.\",\n            \"default\": false\n          },\n          \"allow_overlapping_annotations\": {\n            \"type\": \"boolean\",\n            \"description\": \"If true, allows annotations to overlap. Otherwise, all annotations must cover disjoint text spans.\",\n            \"default\": false\n          },\n          \"unique_id\": {\n            \"type\": \"string\",\n            \"description\": \"A arbitrary ID that you can assign to a task and then query for later. This ID must be unique across all projects under your account, otherwise the task submission will be rejected. See [Avoiding Duplicate Tasks](/reference/idempotent-requests) for more details.\"\n          },\n          \"clear_unique_id_on_error\": {\n            \"type\": \"boolean\",\n            \"description\": \"If set to be true, if a task errors out after being submitted, the unique id on the task will be unset. This param allows workflows where you can re-submit the same unique id to recover from errors automatically\"\n          },\n          \"tags\": {\n            \"type\": \"array\",\n            \"description\": \"Arbitrary labels that you can assign to a task. At most 5 tags are allowed per task. You can query tasks with specific tags through the task retrieval API.\",\n            \"xml\": {\n              \"name\": \"tags\"\n            },\n            \"items\": {\n              \"type\": \"string\"\n            }\n          }\n        }\n      },\n      \"resnamedentityrecognition\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"email\": {\n            \"type\": \"string\",\n            \"default\": \"test145@email.com\"\n          },\n          \"password\": {\n            \"type\": \"string\",\n            \"default\": \"qwerty\"\n          }\n        }\n      },\n      \"ner_attachments\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"default\": \"text\"\n          },\n          \"content\": {\n            \"type\": \"string\",\n            \"default\": \"**Please review this context**: I want to buy 1oz hand sanitizer please.\"\n          }\n        }\n      },\n      \"textcollection\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"fields\",\n          \"attachments\"\n        ],\n        \"properties\": {\n          \"project\": {\n            \"type\": \"string\",\n            \"description\": \"The name of the project to associate this task with. See the [Projects](/reference/project-overview) Section for more details.\"\n          },\n          \"batch\": {\n            \"type\": \"string\",\n            \"description\": \"The name of the batch to associate this task with. Note that if a batch is specified, you need not specify the project, as the task will automatically be associated with the batch's project. For Scale Rapid projects specifying a batch is required. See [Batches section](/reference/batch-overview) for more details.\"\n          },\n          \"instruction\": {\n            \"type\": \"string\",\n            \"description\": \"A markdown-enabled string or iframe embed google doc explaining how to do the task. You can use [markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) to show example images, give structure to your instructions, and more. See our [instruction best practices](https://scale.com/docs/instructions) for more details. For Scale Rapid projects, DO NOT set this field unless you specifically want to override the project level instructions. \",\n            \"default\": \"**Instructions:** Please annotate all the things\"\n          },\n          \"callback_url\": {\n            \"type\": \"string\",\n            \"description\": \"The full url (including the scheme `http://` or `https://`) or email address of the [callback](/reference/callbacks) that will be used when the task is completed.\"\n          },\n          \"fields\": {\n            \"type\": \"array\",\n            \"description\": \"An array of [UnitField](/reference/unitfield) and [FieldSet](/reference/fieldset) objects containing descriptions for the fields of information to be collected. Alternatively, can be an array of [FormField](/reference/formfield) objects if the task is to be completed through multiple mini-forms.\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"type\": {\n                  \"type\": \"string\",\n                  \"default\": \"category\"\n                },\n                \"field_id\": {\n                  \"type\": \"string\",\n                  \"default\": \"category_field\"\n                },\n                \"title\": {\n                  \"type\": \"string\",\n                  \"default\": \"Please select the most relevant option\"\n                },\n                \"description\": {\n                  \"type\": \"string\"\n                },\n                \"choices\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"label\": {\n                        \"type\": \"string\",\n                        \"default\": \"Correct Website\"\n                      },\n                      \"value\": {\n                        \"type\": \"string\",\n                        \"default\": \"correct_website\"\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"attachments\": {\n            \"type\": \"array\",\n            \"description\": \"An array of [TextCollectionAttachment](/reference/textcollectionattachment) objects to be labeled\",\n            \"default\": [],\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"type\": {\n                  \"type\": \"string\",\n                  \"default\": \"website\"\n                },\n                \"content\": {\n                  \"type\": \"string\",\n                  \"default\": \"https://www.scale.com/\"\n                }\n              }\n            }\n          },\n          \"title\": {\n            \"type\": \"string\",\n            \"description\": \"The title of the task to be shown to scalers.\"\n          },\n          \"description\": {\n            \"type\": \"string\",\n            \"description\": \"The description of the task to be shown to scalers.\"\n          },\n          \"responses_required\": {\n            \"type\": \"integer\",\n            \"description\": \"The number of responses required for the task to build consensus before returning the callback response. Upper bound of 100.\",\n            \"default\": 1,\n            \"format\": \"int32\"\n          },\n          \"metadata\": {\n            \"type\": \"object\",\n            \"description\": \"A set of key/value pairs that you can attach to a task object. It can be useful for storing additional information about the task in a structured format. Max 10KB.\",\n            \"format\": \"json\"\n          },\n          \"priority\": {\n            \"type\": \"integer\",\n            \"description\": \"A value of 10, 20, or 30 that defines the priority of a task within a project. The higher the number, the higher the priority.\",\n            \"default\": 30,\n            \"format\": \"int32\"\n          },\n          \"unique_id\": {\n            \"type\": \"string\",\n            \"description\": \"A arbitrary ID that you can assign to a task and then query for later. This ID must be unique across all projects under your account, otherwise the task submission will be rejected. See [Avoiding Duplicate Tasks](/reference/idempotent-requests) for more details.\"\n          },\n          \"clear_unique_id_on_error\": {\n            \"type\": \"boolean\",\n            \"description\": \"If set to be true, if a task errors out after being submitted, the unique id on the task will be unset. This param allows workflows where you can re-submit the same unique id to recover from errors automatically\"\n          },\n          \"tags\": {\n            \"type\": \"array\",\n            \"description\": \"Arbitrary labels that you can assign to a task. At most 5 tags are allowed per task. You can query tasks with specific tags through the task retrieval API.\",\n            \"xml\": {\n              \"name\": \"tags\"\n            },\n            \"items\": {\n              \"type\": \"string\"\n            }\n          }\n        }\n      },\n      \"textcollection_attachments\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"default\": \"website\"\n          },\n          \"content\": {\n            \"type\": \"string\",\n            \"default\": \"https://www.scale.com/\"\n          }\n        }\n      },\n      \"textcollection_fields\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"default\": \"category\"\n          },\n          \"field_id\": {\n            \"type\": \"string\",\n            \"default\": \"category_field\"\n          },\n          \"title\": {\n            \"type\": \"string\",\n            \"default\": \"Please select the most relevant option\"\n          },\n          \"description\": {\n            \"type\": \"string\"\n          },\n          \"choices\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"label\": {\n                  \"type\": \"string\",\n                  \"default\": \"Correct Website\"\n                },\n                \"value\": {\n                  \"type\": \"string\",\n                  \"default\": \"correct_website\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"textcollection_categoryFieldsChoices\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"label\": {\n            \"type\": \"string\",\n            \"default\": \"Correct Website\"\n          },\n          \"value\": {\n            \"type\": \"string\",\n            \"default\": \"correct_website\"\n          }\n        }\n      },\n      \"restextcollection\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"task_id\": {\n            \"type\": \"string\",\n            \"default\": \"5c3f9c25744e7d005052e319\"\n          },\n          \"created_at\": {\n            \"type\": \"string\",\n            \"default\": \"2019-01-16T21:03:33.166Z\"\n          },\n          \"callback_url\": {\n            \"type\": \"string\",\n            \"default\": \"http://www.example.com/callback\"\n          },\n          \"type\": {\n            \"type\": \"string\",\n            \"default\": \"textcollection\"\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"default\": \"completed\"\n          },\n          \"instruction\": {\n            \"type\": \"string\",\n            \"default\": \"Find the URL for the hiring page for the company with attached website.\"\n          },\n          \"urgency\": {\n            \"type\": \"string\",\n            \"default\": \"day\"\n          },\n          \"attachments\": {\n            \"type\": \"array\",\n            \"xml\": {\n              \"name\": \"Data\",\n              \"wrapped\": true\n            },\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"type\": {\n                  \"type\": \"string\",\n                  \"default\": \"website\"\n                },\n                \"content\": {\n                  \"type\": \"string\",\n                  \"default\": \"https://www.scale.com/\"\n                }\n              }\n            }\n          },\n          \"fields\": {\n            \"type\": \"array\",\n            \"xml\": {\n              \"name\": \"Data\",\n              \"wrapped\": true\n            },\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"type\": {\n                  \"type\": \"string\",\n                  \"default\": \"category\"\n                },\n                \"field_id\": {\n                  \"type\": \"string\",\n                  \"default\": \"category_field\"\n                },\n                \"title\": {\n                  \"type\": \"string\",\n                  \"default\": \"Please select the most relevant option\"\n                },\n                \"description\": {\n                  \"type\": \"string\"\n                },\n                \"choices\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"label\": {\n                        \"type\": \"string\",\n                        \"default\": \"Correct Website\"\n                      },\n                      \"value\": {\n                        \"type\": \"string\",\n                        \"default\": \"correct_website\"\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"metadata\": {\n            \"type\": \"object\",\n            \"description\": \"A set of key/value pairs that you can attach to a task object. It can be useful for storing additional information about the task in a structured format. Max 10KB.\",\n            \"format\": \"json\"\n          }\n        }\n      }\n    }\n  },\n  \"x-si-base\": \"ReadmeSpecDocs/ScaleApi_Scale_Text.json\",\n  \"x-github-repo\": \"scaleapi/docs\",\n  \"x-github-sha\": \"a520dec1d37c303f496904ee2d4078224c3d6fd7\",\n  \"x-readme\": {\n    \"explorer-enabled\": true,\n    \"proxy-enabled\": true,\n    \"samples-enabled\": true\n  }\n}"},{"id":"serpapi-search","domain":"serpapi.com","openapi":"{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"SerpAPI\",\"version\":\"0.1.0\"},\"servers\":[{\"url\":\"https://serpapi.com\"}],\"paths\":{\"/search\":{\"get\":{\"summary\":\"Get search results\",\"parameters\":[{\"name\":\"q\",\"in\":\"query\",\"description\":\"Search query\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"location\",\"in\":\"query\",\"description\":\"Location for the search\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"hl\",\"in\":\"query\",\"description\":\"Interface language\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"gl\",\"in\":\"query\",\"description\":\"Geolocation of the search\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"google_domain\",\"in\":\"query\",\"description\":\"Google domain\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"security\":[{\"ApiKeyAuth\":[]}],\"responses\":{\"200\":{\"description\":\"Search results\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SearchResults\"}}}}}}}},\"components\":{\"schemas\":{\"SearchResults\":{\"type\":\"object\",\"properties\":{\"organic_results\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/OrganicResult\"}}}},\"OrganicResult\":{\"type\":\"object\",\"properties\":{\"position\":{\"type\":\"integer\"},\"title\":{\"type\":\"string\"},\"link\":{\"type\":\"string\"},\"displayed_link\":{\"type\":\"string\"},\"thumbnail\":{\"type\":\"string\"},\"snippet\":{\"type\":\"string\"},\"snippet_highlighted_words\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"sitelinks\":{\"$ref\":\"#/components/schemas/Sitelinks\"},\"rich_snippet\":{\"$ref\":\"#/components/schemas/RichSnippet\"},\"about_this_result\":{\"$ref\":\"#/components/schemas/AboutThisResult\"},\"about_page_link\":{\"type\":\"string\"},\"about_page_serpapi_link\":{\"type\":\"string\"},\"cached_page_link\":{\"type\":\"string\"},\"related_pages_link\":{\"type\":\"string\"}}},\"Sitelinks\":{\"type\":\"object\",\"properties\":{\"inline\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/InlineSitelink\"}}}},\"InlineSitelink\":{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"},\"link\":{\"type\":\"string\"}}},\"RichSnippet\":{\"type\":\"object\",\"properties\":{\"bottom\":{\"type\":\"object\",\"properties\":{\"extensions\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"detected_extensions\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"integer\"}}}}}},\"AboutThisResult\":{\"type\":\"object\",\"properties\":{\"source\":{\"type\":\"object\",\"properties\":{\"description\":{\"type\":\"string\"},\"source_info_link\":{\"type\":\"string\"},\"security\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"}}}}}},\"securitySchemes\":{\"ApiKeyAuth\":{\"type\":\"apiKey\",\"in\":\"query\",\"name\":\"api_key\"}}}}"},{"id":"speak","domain":"api.speak.com","openapi":"{\n  \"openapi\": \"3.0.1\",\n  \"info\": {\n    \"title\": \"Speak\",\n    \"description\": \"Learn how to say anything in another language.\",\n    \"version\": \"v1\"\n  },\n  \"servers\": [\n    {\n      \"url\": \"https://api.speak.com\"\n    }\n  ],\n  \"paths\": {\n    \"/v1/public/openai/translate\": {\n      \"post\": {\n        \"operationId\": \"translate\",\n        \"summary\": \"Translate and explain how to say a specific phrase or word in another language.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/translateRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/translateResponse\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/v1/public/openai/explain-phrase\": {\n      \"post\": {\n        \"operationId\": \"explainPhrase\",\n        \"summary\": \"Explain the meaning and usage of a specific foreign language phrase that the user is asking about.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/explainPhraseRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/explainPhraseResponse\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/v1/public/openai/explain-task\": {\n      \"post\": {\n        \"operationId\": \"explainTask\",\n        \"summary\": \"Explain the best way to say or do something in a specific situation or context with a foreign language. Use this endpoint when the user asks more general or high-level questions.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/explainTaskRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/explainTaskResponse\"\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  },\n  \"components\": {\n    \"schemas\": {\n      \"translateRequest\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"phrase_to_translate\",\n          \"learning_language\",\n          \"native_language\",\n          \"additional_context\",\n          \"full_query\"\n        ],\n        \"properties\": {\n          \"phrase_to_translate\": {\n            \"type\": \"string\",\n            \"description\": \"Phrase or concept to translate into the foreign language and explain further.\"\n          },\n          \"learning_language\": {\n            \"type\": \"string\",\n            \"description\": \"The foreign language that the user is learning and asking about. Always use the full name of the language (e.g. Spanish, French).\"\n          },\n          \"native_language\": {\n            \"type\": \"string\",\n            \"description\": \"The user's native language. Infer this value from the language the user asked their question in. Always use the full name of the language (e.g. Spanish, French).\"\n          },\n          \"additional_context\": {\n            \"type\": \"string\",\n            \"description\": \"A description of any additional context in the user's question that could affect the explanation - e.g. setting, scenario, situation, tone, speaking style and formality, usage notes, or any other qualifiers.\"\n          },\n          \"full_query\": {\n            \"type\": \"string\",\n            \"description\": \"Full text of the user's question.\"\n          }\n        }\n      },\n      \"translateResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"explanation\": {\n            \"type\": \"string\",\n            \"description\": \"An explanation of how to say the input phrase in the foreign language.\"\n          }\n        }\n      },\n      \"explainPhraseRequest\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"foreign_phrase\",\n          \"learning_language\",\n          \"native_language\",\n          \"additional_context\",\n          \"full_query\"\n        ],\n        \"properties\": {\n          \"foreign_phrase\": {\n            \"type\": \"string\",\n            \"description\": \"Foreign language phrase or word that the user wants an explanation for.\"\n          },\n          \"learning_language\": {\n            \"type\": \"string\",\n            \"description\": \"The language that the user is asking their language question about. The value can be inferred from question - e.g. for \\\"Somebody said no mames to me, what does that mean\\\", the value should be \\\"Spanish\\\" because \\\"no mames\\\" is a Spanish phrase. Always use the full name of the language (e.g. Spanish, French).\"\n          },\n          \"native_language\": {\n            \"type\": \"string\",\n            \"description\": \"The user's native language. Infer this value from the language the user asked their question in. Always use the full name of the language (e.g. Spanish, French).\"\n          },\n          \"additional_context\": {\n            \"type\": \"string\",\n            \"description\": \"A description of any additional context in the user's question that could affect the explanation - e.g. setting, scenario, situation, tone, speaking style and formality, usage notes, or any other qualifiers.\"\n          },\n          \"full_query\": {\n            \"type\": \"string\",\n            \"description\": \"Full text of the user's question.\"\n          }\n        }\n      },\n      \"explainPhraseResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"explanation\": {\n            \"type\": \"string\",\n            \"description\": \"An explanation of what the foreign language phrase means, and when you might use it.\"\n          }\n        }\n      },\n      \"explainTaskRequest\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"task_description\",\n          \"learning_language\",\n          \"native_language\",\n          \"additional_context\",\n          \"full_query\"\n        ],\n        \"properties\": {\n          \"task_description\": {\n            \"type\": \"string\",\n            \"description\": \"Description of the task that the user wants to accomplish or do. For example, \\\"tell the waiter they messed up my order\\\" or \\\"compliment someone on their shirt\\\"\"\n          },\n          \"learning_language\": {\n            \"type\": \"string\",\n            \"description\": \"The foreign language that the user is learning and asking about. The value can be inferred from question - for example, if the user asks \\\"how do i ask a girl out in mexico city\\\", the value should be \\\"Spanish\\\" because of Mexico City. Always use the full name of the language (e.g. Spanish, French).\"\n          },\n          \"native_language\": {\n            \"type\": \"string\",\n            \"description\": \"The user's native language. Infer this value from the language the user asked their question in. Always use the full name of the language (e.g. Spanish, French).\"\n          },\n          \"additional_context\": {\n            \"type\": \"string\",\n            \"description\": \"A description of any additional context in the user's question that could affect the explanation - e.g. setting, scenario, situation, tone, speaking style and formality, usage notes, or any other qualifiers.\"\n          },\n          \"full_query\": {\n            \"type\": \"string\",\n            \"description\": \"Full text of the user's question.\"\n          }\n        }\n      },\n      \"explainTaskResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"explanation\": {\n            \"type\": \"string\",\n            \"description\": \"An explanation of the best thing to say in the foreign language to accomplish the task described in the user's question.\"\n          }\n        }\n      }\n    }\n  }\n}"},{"id":"petstore","domain":"petstore.swagger.io","openapi":"{\n  \"openapi\": \"3.0.0\",\n  \"info\": {\n    \"version\": \"1.0.0\",\n    \"title\": \"Swagger Petstore\",\n    \"license\": {\n      \"name\": \"MIT\"\n    }\n  },\n  \"servers\": [\n    {\n      \"url\": \"http://petstore.swagger.io/v1\"\n    }\n  ],\n  \"paths\": {\n    \"/pets\": {\n      \"get\": {\n        \"summary\": \"List all pets\",\n        \"operationId\": \"listPets\",\n        \"tags\": [\"pets\"],\n        \"parameters\": [\n          {\n            \"name\": \"limit\",\n            \"in\": \"query\",\n            \"description\": \"How many items to return at one time (max 100)\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"integer\",\n              \"maximum\": 100,\n              \"format\": \"int32\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"A paged array of pets\",\n            \"headers\": {\n              \"x-next\": {\n                \"description\": \"A link to the next page of responses\",\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              }\n            },\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Pets\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"unexpected error\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Error\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"post\": {\n        \"summary\": \"Create a pet\",\n        \"operationId\": \"createPets\",\n        \"tags\": [\"pets\"],\n        \"responses\": {\n          \"201\": {\n            \"description\": \"Null response\"\n          },\n          \"default\": {\n            \"description\": \"unexpected error\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Error\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/pets/{petId}\": {\n      \"get\": {\n        \"summary\": \"Info for a specific pet\",\n        \"operationId\": \"showPetById\",\n        \"tags\": [\"pets\"],\n        \"parameters\": [\n          {\n            \"name\": \"petId\",\n            \"in\": \"path\",\n            \"required\": true,\n            \"description\": \"The id of the pet to retrieve\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Expected response to a valid request\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Pet\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"unexpected error\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Error\"\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  },\n  \"components\": {\n    \"schemas\": {\n      \"Pet\": {\n        \"type\": \"object\",\n        \"required\": [\"id\", \"name\"],\n        \"properties\": {\n          \"id\": {\n            \"type\": \"integer\",\n            \"format\": \"int64\"\n          },\n          \"name\": {\n            \"type\": \"string\"\n          },\n          \"tag\": {\n            \"type\": \"string\"\n          }\n        }\n      },\n      \"Pets\": {\n        \"type\": \"array\",\n        \"maxItems\": 100,\n        \"items\": {\n          \"$ref\": \"#/components/schemas/Pet\"\n        }\n      },\n      \"Error\": {\n        \"type\": \"object\",\n        \"required\": [\"code\", \"message\"],\n        \"properties\": {\n          \"code\": {\n            \"type\": \"integer\",\n            \"format\": \"int32\"\n          },\n          \"message\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    }\n  }\n}\n"},{"id":"trello","domain":"trello.com","openapi":"{\n  \"openapi\": \"3.0.0\",\n  \"servers\": [\n    {\n      \"url\": \"https://trello.com/1\"\n    }\n  ],\n  \"x-hasEquivalentPaths\": true,\n  \"info\": {\n    \"contact\": {\n      \"name\": \"Trello\",\n      \"url\": \"https://trello.com/home\"\n    },\n    \"description\": \"This document describes the REST API of Trello as published by Trello.com.\\n - <a href='https://trello.com/docs/index.html' target='_blank'>Official Documentation</a>\\n - <a href='https://trello.com/docs/api' target='_blank'>The HTML pages that were scraped in order to generate this specification.</a>\",\n    \"license\": {\n      \"name\": \"Trello : Terms of Service\",\n      \"url\": \"https://trello.com/legal\"\n    },\n    \"termsOfService\": \"https://trello.com/legal\",\n    \"title\": \"Trello\",\n    \"version\": \"1.0\",\n    \"x-apisguru-categories\": [\n      \"collaboration\"\n    ],\n    \"x-logo\": {\n      \"url\": \"https://d2k1ftgv7pobq7.cloudfront.net/meta/p/res/images/c13d1cd96a2cff30f0460a5e1860c5ea/header-logo-blue.svg\"\n    },\n    \"x-origin\": [\n      {\n        \"format\": \"openapi\",\n        \"url\": \"https://raw.githubusercontent.com/APIs-guru/unofficial_openapi_specs/master/trello.com/1.0/swagger.yaml\",\n        \"version\": \"3.0\"\n      }\n    ],\n    \"x-providerName\": \"trello.com\",\n    \"x-unofficialSpec\": true\n  },\n  \"externalDocs\": {\n    \"url\": \"https://developers.trello.com\"\n  },\n  \"tags\": [\n    {\n      \"description\": \"https://trello.com/docs/api/action/index.html\",\n      \"name\": \"action\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/batch/index.html\",\n      \"name\": \"batch\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/board/index.html\",\n      \"name\": \"board\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/card/index.html\",\n      \"name\": \"card\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/checklist/index.html\",\n      \"name\": \"checklist\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/label/index.html\",\n      \"name\": \"label\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/list/index.html\",\n      \"name\": \"list\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/member/index.html\",\n      \"name\": \"member\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/notification/index.html\",\n      \"name\": \"notification\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/organization/index.html\",\n      \"name\": \"organization\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/search/index.html\",\n      \"name\": \"search\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/session/index.html\",\n      \"name\": \"session\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/token/index.html\",\n      \"name\": \"token\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/type/index.html\",\n      \"name\": \"type\"\n    },\n    {\n      \"description\": \"https://trello.com/docs/api/webhook/index.html\",\n      \"name\": \"webhook\"\n    }\n  ],\n  \"paths\": {\n    \"/actions/{idAction}\": {\n      \"delete\": {\n        \"operationId\": \"deleteActionsByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteActionsByIdAction()\",\n        \"tags\": [\n          \"action\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getActionsByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsByIdAction()\",\n        \"tags\": [\n          \"action\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateActionsByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"text\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"action\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Actions\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateActionsByIdAction()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/board\": {\n      \"get\": {\n        \"operationId\": \"getActionsBoardByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsBoardByIdAction()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/board/{field}\": {\n      \"get\": {\n        \"operationId\": \"getActionsBoardByIdActionByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsBoardByIdActionByField()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/card\": {\n      \"get\": {\n        \"operationId\": \"getActionsCardByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsCardByIdAction()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/card/{field}\": {\n      \"get\": {\n        \"operationId\": \"getActionsCardByIdActionByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsCardByIdActionByField()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/display\": {\n      \"get\": {\n        \"operationId\": \"getActionsDisplayByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsDisplayByIdAction()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/entities\": {\n      \"get\": {\n        \"operationId\": \"getActionsEntitiesByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsEntitiesByIdAction()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/list\": {\n      \"get\": {\n        \"operationId\": \"getActionsListByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, idBoard, name, pos or subscribed\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsListByIdAction()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/list/{field}\": {\n      \"get\": {\n        \"operationId\": \"getActionsListByIdActionByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsListByIdActionByField()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/member\": {\n      \"get\": {\n        \"operationId\": \"getActionsMemberByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, avatarSource, bio, bioData, confirmed, email, fullName, gravatarHash, idBoards, idBoardsPinned, idOrganizations, idPremOrgsAdmin, initials, loginTypes, memberType, oneTimeMessagesDismissed, prefs, premiumFeatures, products, status, status, trophies, uploadedAvatarHash, url or username\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsMemberByIdAction()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/member/{field}\": {\n      \"get\": {\n        \"operationId\": \"getActionsMemberByIdActionByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsMemberByIdActionByField()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/memberCreator\": {\n      \"get\": {\n        \"operationId\": \"getActionsMemberCreatorByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, avatarSource, bio, bioData, confirmed, email, fullName, gravatarHash, idBoards, idBoardsPinned, idOrganizations, idPremOrgsAdmin, initials, loginTypes, memberType, oneTimeMessagesDismissed, prefs, premiumFeatures, products, status, status, trophies, uploadedAvatarHash, url or username\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsMemberCreatorByIdAction()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/memberCreator/{field}\": {\n      \"get\": {\n        \"operationId\": \"getActionsMemberCreatorByIdActionByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsMemberCreatorByIdActionByField()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/organization\": {\n      \"get\": {\n        \"operationId\": \"getActionsOrganizationByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsOrganizationByIdAction()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/organization/{field}\": {\n      \"get\": {\n        \"operationId\": \"getActionsOrganizationByIdActionByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getActionsOrganizationByIdActionByField()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/text\": {\n      \"put\": {\n        \"operationId\": \"updateActionsTextByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"action\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Actions Text\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateActionsTextByIdAction()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/actions/{idAction}/{field}\": {\n      \"get\": {\n        \"operationId\": \"getActionsByIdActionByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getActionsByIdActionByField()\",\n        \"tags\": [\n          \"action\"\n        ]\n      }\n    },\n    \"/batch\": {\n      \"get\": {\n        \"operationId\": \"getBatch\",\n        \"parameters\": [\n          {\n            \"description\": \"list of API v1 GET routes, not including the version prefix\",\n            \"in\": \"query\",\n            \"name\": \"urls\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getBatch()\",\n        \"tags\": [\n          \"batch\"\n        ]\n      }\n    },\n    \"/boards\": {\n      \"post\": {\n        \"operationId\": \"addBoards\",\n        \"parameters\": [\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"closed\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"desc\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"idBoardSource\": {\n                    \"description\": \"The id of the board to copy into the new board\",\n                    \"type\": \"string\"\n                  },\n                  \"idOrganization\": {\n                    \"description\": \"The id or name of the organization to add the board to.\",\n                    \"type\": \"string\"\n                  },\n                  \"keepFromSource\": {\n                    \"description\": \"Components of the source board to copy.\",\n                    \"type\": \"string\"\n                  },\n                  \"labelNames/blue\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"labelNames/green\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"labelNames/orange\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"labelNames/purple\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"labelNames/red\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"labelNames/yellow\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"powerUps\": {\n                    \"description\": \"all or a comma-separated list of: calendar, cardAging, recap or voting\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/background\": {\n                    \"description\": \"A standard background name, or the id of a custom background\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/calendarFeedEnabled\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/cardAging\": {\n                    \"description\": \"One of: pirate or regular\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/cardCovers\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/comments\": {\n                    \"description\": \"One of: disabled, members, observers, org or public\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/invitations\": {\n                    \"description\": \"One of: admins or members\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/permissionLevel\": {\n                    \"description\": \"One of: org, private or public\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/selfJoin\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/voting\": {\n                    \"description\": \"One of: disabled, members, observers, org or public\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_background\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_cardAging\": {\n                    \"description\": \"One of: pirate or regular\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_cardCovers\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_comments\": {\n                    \"description\": \"One of: disabled, members, observers, org or public\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_invitations\": {\n                    \"description\": \"One of: admins or members\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_permissionLevel\": {\n                    \"description\": \"One of: org, private or public\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_selfJoin\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_voting\": {\n                    \"description\": \"One of: disabled, members, observers, org or public\",\n                    \"type\": \"string\"\n                  },\n                  \"subscribed\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addBoards()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}\": {\n      \"get\": {\n        \"operationId\": \"getBoardsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"actions_entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"actions_display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: count, list or minimal\",\n            \"in\": \"query\",\n            \"name\": \"actions_format\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"list\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, null or lastView\",\n            \"in\": \"query\",\n            \"name\": \"actions_since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"actions_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"action_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"action_member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"action_member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"action_memberCreator\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"action_memberCreator_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none, open or visible\",\n            \"in\": \"query\",\n            \"name\": \"cards\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"card_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean value or &quot;cover&quot; for only card cover attachments\",\n            \"in\": \"query\",\n            \"name\": \"card_attachments\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: bytes, date, edgeColor, idMember, isUpload, mimeType, name, previews or url\",\n            \"in\": \"query\",\n            \"name\": \"card_attachment_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"card_checklists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"card_stickers\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: mine or none\",\n            \"in\": \"query\",\n            \"name\": \"boardStars\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"labels\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: color, idBoard, name or uses\",\n            \"in\": \"query\",\n            \"name\": \"label_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"labels_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none or open\",\n            \"in\": \"query\",\n            \"name\": \"lists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, idBoard, name, pos or subscribed\",\n            \"in\": \"query\",\n            \"name\": \"list_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: active, admin, deactivated, me or normal\",\n            \"in\": \"query\",\n            \"name\": \"memberships\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"memberships_member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"memberships_member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"fullName and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: admins, all, none, normal or owners\",\n            \"in\": \"query\",\n            \"name\": \"members\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, initials, fullName, username and confirmed\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: admins, all, none, normal or owners\",\n            \"in\": \"query\",\n            \"name\": \"membersInvited\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"membersInvited_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, initials, fullName and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"checklists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: idBoard, idCard, name or pos\",\n            \"in\": \"query\",\n            \"name\": \"checklist_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"organization\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"organization_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name and displayName\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: active, admin, deactivated, me or normal\",\n            \"in\": \"query\",\n            \"name\": \"organization_memberships\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"myPrefs\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, desc, descData, closed, idOrganization, pinned, url, shortUrl, prefs and labelNames\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateBoardsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"closed\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"desc\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"idBoardSource\": {\n                    \"description\": \"The id of the board to copy into the new board\",\n                    \"type\": \"string\"\n                  },\n                  \"idOrganization\": {\n                    \"description\": \"The id or name of the organization to add the board to.\",\n                    \"type\": \"string\"\n                  },\n                  \"keepFromSource\": {\n                    \"description\": \"Components of the source board to copy.\",\n                    \"type\": \"string\"\n                  },\n                  \"labelNames/blue\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"labelNames/green\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"labelNames/orange\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"labelNames/purple\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"labelNames/red\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"labelNames/yellow\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"powerUps\": {\n                    \"description\": \"all or a comma-separated list of: calendar, cardAging, recap or voting\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/background\": {\n                    \"description\": \"A standard background name, or the id of a custom background\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/calendarFeedEnabled\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/cardAging\": {\n                    \"description\": \"One of: pirate or regular\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/cardCovers\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/comments\": {\n                    \"description\": \"One of: disabled, members, observers, org or public\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/invitations\": {\n                    \"description\": \"One of: admins or members\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/permissionLevel\": {\n                    \"description\": \"One of: org, private or public\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/selfJoin\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/voting\": {\n                    \"description\": \"One of: disabled, members, observers, org or public\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_background\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_cardAging\": {\n                    \"description\": \"One of: pirate or regular\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_cardCovers\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_comments\": {\n                    \"description\": \"One of: disabled, members, observers, org or public\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_invitations\": {\n                    \"description\": \"One of: admins or members\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_permissionLevel\": {\n                    \"description\": \"One of: org, private or public\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_selfJoin\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs_voting\": {\n                    \"description\": \"One of: disabled, members, observers, org or public\",\n                    \"type\": \"string\"\n                  },\n                  \"subscribed\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/actions\": {\n      \"get\": {\n        \"operationId\": \"getBoardsActionsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: count, list or minimal\",\n            \"in\": \"query\",\n            \"name\": \"format\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"list\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, null or lastView\",\n            \"in\": \"query\",\n            \"name\": \"since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"before\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Page * limit must be less than 1000\",\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"0\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Only return actions related to these model ids\",\n            \"in\": \"query\",\n            \"name\": \"idModels\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsActionsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/boardStars\": {\n      \"get\": {\n        \"operationId\": \"getBoardsBoardStarsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: mine or none\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"mine\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsBoardStarsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/calendarKey/generate\": {\n      \"post\": {\n        \"operationId\": \"addBoardsCalendarKeyGenerateByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addBoardsCalendarKeyGenerateByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/cards\": {\n      \"get\": {\n        \"operationId\": \"getBoardsCardsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean value or &quot;cover&quot; for only card cover attachments\",\n            \"in\": \"query\",\n            \"name\": \"attachments\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: bytes, date, edgeColor, idMember, isUpload, mimeType, name, previews or url\",\n            \"in\": \"query\",\n            \"name\": \"attachment_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"stickers\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"members\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"checkItemStates\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"checklists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 1 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"before\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none, open or visible\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"visible\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsCardsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/cards/{filter}\": {\n      \"get\": {\n        \"operationId\": \"getBoardsCardsByIdBoardByFilter\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"filter\",\n            \"in\": \"path\",\n            \"name\": \"filter\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getBoardsCardsByIdBoardByFilter()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/cards/{idCard}\": {\n      \"get\": {\n        \"operationId\": \"getBoardsCardsByIdBoardByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idCard\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean value or &quot;cover&quot; for only card cover attachments\",\n            \"in\": \"query\",\n            \"name\": \"attachments\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: bytes, date, edgeColor, idMember, isUpload, mimeType, name, previews or url\",\n            \"in\": \"query\",\n            \"name\": \"attachment_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"actions_entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"actions_display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"actions_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"action_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"action_memberCreator_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"members\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, initials, fullName and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"checkItemStates\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: idCheckItem or state\",\n            \"in\": \"query\",\n            \"name\": \"checkItemState_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"labels\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"checklists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: idBoard, idCard, name or pos\",\n            \"in\": \"query\",\n            \"name\": \"checklist_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsCardsByIdBoardByIdCard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/checklists\": {\n      \"get\": {\n        \"operationId\": \"getBoardsChecklistsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none, open or visible\",\n            \"in\": \"query\",\n            \"name\": \"cards\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"card_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"checkItems\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: name, nameData, pos, state or type\",\n            \"in\": \"query\",\n            \"name\": \"checkItem_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, nameData, pos and state\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: idBoard, idCard, name or pos\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsChecklistsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addBoardsChecklistsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"name\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards Checklists\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addBoardsChecklistsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/closed\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsClosedByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards Closed\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsClosedByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/deltas\": {\n      \"get\": {\n        \"operationId\": \"getBoardsDeltasByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A valid tag for subscribing\",\n            \"in\": \"query\",\n            \"name\": \"tags\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from -1 to Infinity\",\n            \"in\": \"query\",\n            \"name\": \"ixLastUpdate\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsDeltasByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/desc\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsDescByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards Desc\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsDescByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/emailKey/generate\": {\n      \"post\": {\n        \"operationId\": \"addBoardsEmailKeyGenerateByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addBoardsEmailKeyGenerateByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/idOrganization\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsIdOrganizationByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards Id Organization\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsIdOrganizationByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/labelNames/blue\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsLabelNamesBlueByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Label Names Blue\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsLabelNamesBlueByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/labelNames/green\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsLabelNamesGreenByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Label Names Green\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsLabelNamesGreenByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/labelNames/orange\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsLabelNamesOrangeByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Label Names Orange\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsLabelNamesOrangeByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/labelNames/purple\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsLabelNamesPurpleByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Label Names Purple\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsLabelNamesPurpleByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/labelNames/red\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsLabelNamesRedByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Label Names Red\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsLabelNamesRedByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/labelNames/yellow\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsLabelNamesYellowByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Label Names Yellow\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsLabelNamesYellowByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/labels\": {\n      \"get\": {\n        \"operationId\": \"getBoardsLabelsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: color, idBoard, name or uses\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsLabelsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addBoardsLabelsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"color\": {\n                    \"description\": \"A valid label color or null\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards Labels\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addBoardsLabelsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/labels/{idLabel}\": {\n      \"get\": {\n        \"operationId\": \"getBoardsLabelsByIdBoardByIdLabel\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idLabel\",\n            \"in\": \"path\",\n            \"name\": \"idLabel\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: color, idBoard, name or uses\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsLabelsByIdBoardByIdLabel()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/lists\": {\n      \"get\": {\n        \"operationId\": \"getBoardsListsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none, open or visible\",\n            \"in\": \"query\",\n            \"name\": \"cards\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"card_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none or open\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"open\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, idBoard, name, pos or subscribed\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsListsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addBoardsListsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"name\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards Lists\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addBoardsListsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/lists/{filter}\": {\n      \"get\": {\n        \"operationId\": \"getBoardsListsByIdBoardByFilter\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"filter\",\n            \"in\": \"path\",\n            \"name\": \"filter\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getBoardsListsByIdBoardByFilter()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/markAsViewed\": {\n      \"post\": {\n        \"operationId\": \"addBoardsMarkAsViewedByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addBoardsMarkAsViewedByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/members\": {\n      \"get\": {\n        \"operationId\": \"getBoardsMembersByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: admins, all, none, normal or owners\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"fullName and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"true or false ; works for premium organizations only.\",\n            \"in\": \"query\",\n            \"name\": \"activity\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsMembersByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateBoardsMembersByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"email\": {\n                    \"description\": \"An email address\",\n                    \"type\": \"string\"\n                  },\n                  \"fullName\": {\n                    \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n                    \"type\": \"string\"\n                  },\n                  \"type\": {\n                    \"description\": \"One of: admin, normal or observer\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards Members\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsMembersByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/members/{filter}\": {\n      \"get\": {\n        \"operationId\": \"getBoardsMembersByIdBoardByFilter\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"filter\",\n            \"in\": \"path\",\n            \"name\": \"filter\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getBoardsMembersByIdBoardByFilter()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/members/{idMember}\": {\n      \"delete\": {\n        \"operationId\": \"deleteBoardsMembersByIdBoardByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMember\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteBoardsMembersByIdBoardByIdMember()\",\n        \"tags\": [\n          \"board\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateBoardsMembersByIdBoardByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMember\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"email\": {\n                    \"description\": \"An email address\",\n                    \"type\": \"string\"\n                  },\n                  \"fullName\": {\n                    \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n                    \"type\": \"string\"\n                  },\n                  \"type\": {\n                    \"description\": \"One of: admin, normal or observer\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards Members\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsMembersByIdBoardByIdMember()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/members/{idMember}/cards\": {\n      \"get\": {\n        \"operationId\": \"getBoardsMembersCardsByIdBoardByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMember\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean value or &quot;cover&quot; for only card cover attachments\",\n            \"in\": \"query\",\n            \"name\": \"attachments\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: bytes, date, edgeColor, idMember, isUpload, mimeType, name, previews or url\",\n            \"in\": \"query\",\n            \"name\": \"attachment_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"members\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"checkItemStates\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"checklists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"board\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"board_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, desc, closed, idOrganization, pinned, url and prefs\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"list\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, idBoard, name, pos or subscribed\",\n            \"in\": \"query\",\n            \"name\": \"list_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none, open or visible\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"visible\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsMembersCardsByIdBoardByIdMember()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/membersInvited\": {\n      \"get\": {\n        \"operationId\": \"getBoardsMembersInvitedByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, avatarSource, bio, bioData, confirmed, email, fullName, gravatarHash, idBoards, idBoardsPinned, idOrganizations, idPremOrgsAdmin, initials, loginTypes, memberType, oneTimeMessagesDismissed, prefs, premiumFeatures, products, status, status, trophies, uploadedAvatarHash, url or username\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsMembersInvitedByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/membersInvited/{field}\": {\n      \"get\": {\n        \"operationId\": \"getBoardsMembersInvitedByIdBoardByField\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsMembersInvitedByIdBoardByField()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/memberships\": {\n      \"get\": {\n        \"operationId\": \"getBoardsMembershipsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: active, admin, deactivated, me or normal\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"fullName and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsMembershipsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/memberships/{idMembership}\": {\n      \"get\": {\n        \"operationId\": \"getBoardsMembershipsByIdBoardByIdMembership\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMembership\",\n            \"in\": \"path\",\n            \"name\": \"idMembership\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"fullName and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsMembershipsByIdBoardByIdMembership()\",\n        \"tags\": [\n          \"board\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateBoardsMembershipsByIdBoardByIdMembership\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMembership\",\n            \"in\": \"path\",\n            \"name\": \"idMembership\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"member_fields\": {\n                    \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n                    \"type\": \"string\"\n                  },\n                  \"type\": {\n                    \"description\": \"One of: admin, normal or observer\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards Memberships\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsMembershipsByIdBoardByIdMembership()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/myPrefs\": {\n      \"get\": {\n        \"operationId\": \"getBoardsMyPrefsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsMyPrefsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/myPrefs/emailPosition\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsMyPrefsEmailPositionByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: bottom or top\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"My Prefs Email Position\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsMyPrefsEmailPositionByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/myPrefs/idEmailList\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsMyPrefsIdEmailListByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"An id\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"My Prefs Id Email List\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsMyPrefsIdEmailListByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/myPrefs/showListGuide\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsMyPrefsShowListGuideByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"My Prefs Show List Guide\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsMyPrefsShowListGuideByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/myPrefs/showSidebar\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsMyPrefsShowSidebarByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"My Prefs Show Sidebar\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsMyPrefsShowSidebarByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/myPrefs/showSidebarActivity\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsMyPrefsShowSidebarActivityByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"My Prefs Show Sidebar Activity\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsMyPrefsShowSidebarActivityByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/myPrefs/showSidebarBoardActions\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsMyPrefsShowSidebarBoardActionsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"My Prefs Show Sidebar Board Actions\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsMyPrefsShowSidebarBoardActionsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/myPrefs/showSidebarMembers\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsMyPrefsShowSidebarMembersByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"My Prefs Show Sidebar Members\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsMyPrefsShowSidebarMembersByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/name\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsNameByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards Name\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsNameByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/organization\": {\n      \"get\": {\n        \"operationId\": \"getBoardsOrganizationByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsOrganizationByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/organization/{field}\": {\n      \"get\": {\n        \"operationId\": \"getBoardsOrganizationByIdBoardByField\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getBoardsOrganizationByIdBoardByField()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/powerUps\": {\n      \"post\": {\n        \"operationId\": \"addBoardsPowerUpsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: calendar, cardAging, recap or voting\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards Power Ups\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addBoardsPowerUpsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/powerUps/{powerUp}\": {\n      \"delete\": {\n        \"operationId\": \"deleteBoardsPowerUpsByIdBoardByPowerUp\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"powerUp\",\n            \"in\": \"path\",\n            \"name\": \"powerUp\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteBoardsPowerUpsByIdBoardByPowerUp()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/prefs/background\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsPrefsBackgroundByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A standard background name, or the id of a custom background\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Background\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsPrefsBackgroundByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/prefs/calendarFeedEnabled\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsPrefsCalendarFeedEnabledByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Calendar Feed Enabled\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsPrefsCalendarFeedEnabledByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/prefs/cardAging\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsPrefsCardAgingByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: pirate or regular\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Card Aging\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsPrefsCardAgingByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/prefs/cardCovers\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsPrefsCardCoversByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Card Covers\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsPrefsCardCoversByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/prefs/comments\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsPrefsCommentsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: disabled, members, observers, org or public\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Comments\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsPrefsCommentsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/prefs/invitations\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsPrefsInvitationsByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: admins or members\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Invitations\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsPrefsInvitationsByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/prefs/permissionLevel\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsPrefsPermissionLevelByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: private or public\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Permission Level\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsPrefsPermissionLevelByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/prefs/selfJoin\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsPrefsSelfJoinByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Self Join\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsPrefsSelfJoinByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/prefs/voting\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsPrefsVotingByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: disabled, members, observers, org or public\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Voting\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsPrefsVotingByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/subscribed\": {\n      \"put\": {\n        \"operationId\": \"updateBoardsSubscribedByIdBoard\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Boards Subscribed\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateBoardsSubscribedByIdBoard()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/boards/{idBoard}/{field}\": {\n      \"get\": {\n        \"operationId\": \"getBoardsByIdBoardByField\",\n        \"parameters\": [\n          {\n            \"description\": \"board_id\",\n            \"in\": \"path\",\n            \"name\": \"idBoard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getBoardsByIdBoardByField()\",\n        \"tags\": [\n          \"board\"\n        ]\n      }\n    },\n    \"/cards\": {\n      \"post\": {\n        \"operationId\": \"addCards\",\n        \"parameters\": [\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"closed\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"desc\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"due\": {\n                    \"description\": \"A date, or null\",\n                    \"type\": \"string\"\n                  },\n                  \"fileSource\": {\n                    \"description\": \"A file\",\n                    \"type\": \"string\"\n                  },\n                  \"idAttachmentCover\": {\n                    \"description\": \"Id of the image attachment of this card to use as its cover, or null for no cover\",\n                    \"type\": \"string\"\n                  },\n                  \"idBoard\": {\n                    \"description\": \"id of the board the card should be moved to\",\n                    \"type\": \"string\"\n                  },\n                  \"idCardSource\": {\n                    \"description\": \"The id of the card to copy into a new card.\",\n                    \"type\": \"string\"\n                  },\n                  \"idLabels\": {\n                    \"description\": \"A comma-separated list of objectIds, 24-character hex strings\",\n                    \"type\": \"string\"\n                  },\n                  \"idList\": {\n                    \"description\": \"id of the list that the card should be added to\",\n                    \"type\": \"string\"\n                  },\n                  \"idMembers\": {\n                    \"description\": \"A comma-separated list of objectIds, 24-character hex strings\",\n                    \"type\": \"string\"\n                  },\n                  \"keepFromSource\": {\n                    \"description\": \"Properties of the card to copy over from the source.\",\n                    \"type\": \"string\"\n                  },\n                  \"labels\": {\n                    \"description\": \"all or a comma-separated list of: blue, green, orange, purple, red or yellow\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"The name of the new card.  It isn&#39;t required if the name is being copied from provided by a URL, file or card that is being copied.\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  },\n                  \"subscribed\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"urlSource\": {\n                    \"description\": \"A URL starting with http:// or https:// or null\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addCards()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}\": {\n      \"delete\": {\n        \"operationId\": \"deleteCardsByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteCardsByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getCardsByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"actions_entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"actions_display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"actions_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"action_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"action_memberCreator_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean value or &quot;cover&quot; for only card cover attachments\",\n            \"in\": \"query\",\n            \"name\": \"attachments\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: bytes, date, edgeColor, idMember, isUpload, mimeType, name, previews or url\",\n            \"in\": \"query\",\n            \"name\": \"attachment_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"members\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"membersVoted\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"memberVoted_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"checkItemStates\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: idCheckItem or state\",\n            \"in\": \"query\",\n            \"name\": \"checkItemState_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"checklists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: idBoard, idCard, name or pos\",\n            \"in\": \"query\",\n            \"name\": \"checklist_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"board\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"board_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, desc, descData, closed, idOrganization, pinned, url and prefs\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"list\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, idBoard, name, pos or subscribed\",\n            \"in\": \"query\",\n            \"name\": \"list_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"stickers\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: image, imageScaled, imageUrl, left, rotate, top or zIndex\",\n            \"in\": \"query\",\n            \"name\": \"sticker_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idBoard, idChecklists, idLabels, idList, idMembers, idShort, idAttachmentCover, manualCoverAttachment, labels, name, pos, shortUrl and url\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateCardsByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"closed\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"desc\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"due\": {\n                    \"description\": \"A date, or null\",\n                    \"type\": \"string\"\n                  },\n                  \"fileSource\": {\n                    \"description\": \"A file\",\n                    \"type\": \"string\"\n                  },\n                  \"idAttachmentCover\": {\n                    \"description\": \"Id of the image attachment of this card to use as its cover, or null for no cover\",\n                    \"type\": \"string\"\n                  },\n                  \"idBoard\": {\n                    \"description\": \"id of the board the card should be moved to\",\n                    \"type\": \"string\"\n                  },\n                  \"idCardSource\": {\n                    \"description\": \"The id of the card to copy into a new card.\",\n                    \"type\": \"string\"\n                  },\n                  \"idLabels\": {\n                    \"description\": \"A comma-separated list of objectIds, 24-character hex strings\",\n                    \"type\": \"string\"\n                  },\n                  \"idList\": {\n                    \"description\": \"id of the list that the card should be added to\",\n                    \"type\": \"string\"\n                  },\n                  \"idMembers\": {\n                    \"description\": \"A comma-separated list of objectIds, 24-character hex strings\",\n                    \"type\": \"string\"\n                  },\n                  \"keepFromSource\": {\n                    \"description\": \"Properties of the card to copy over from the source.\",\n                    \"type\": \"string\"\n                  },\n                  \"labels\": {\n                    \"description\": \"all or a comma-separated list of: blue, green, orange, purple, red or yellow\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"The name of the new card.  It isn&#39;t required if the name is being copied from provided by a URL, file or card that is being copied.\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  },\n                  \"subscribed\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"urlSource\": {\n                    \"description\": \"A URL starting with http:// or https:// or null\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/actions\": {\n      \"get\": {\n        \"operationId\": \"getCardsActionsByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"commentCard and updateCard:idList\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: count, list or minimal\",\n            \"in\": \"query\",\n            \"name\": \"format\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"list\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, null or lastView\",\n            \"in\": \"query\",\n            \"name\": \"since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"before\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Page * limit must be less than 1000\",\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"0\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Only return actions related to these model ids\",\n            \"in\": \"query\",\n            \"name\": \"idModels\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsActionsByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/actions/comments\": {\n      \"post\": {\n        \"operationId\": \"addCardsActionsCommentsByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"text\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Actions Comments\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addCardsActionsCommentsByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/actions/{idAction}/comments\": {\n      \"delete\": {\n        \"description\": \"This can only be done by the original author of the comment, or someone with higher permissions than the original author.\",\n        \"operationId\": \"deleteCardsActionsCommentsByIdCardByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteCardsActionsCommentsByIdCardByIdAction()\",\n        \"tags\": [\n          \"card\"\n        ]\n      },\n      \"put\": {\n        \"description\": \"This can only be done by the original author of the comment.\",\n        \"operationId\": \"updateCardsActionsCommentsByIdCardByIdAction\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idAction\",\n            \"in\": \"path\",\n            \"name\": \"idAction\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"text\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Actions Comments\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsActionsCommentsByIdCardByIdAction()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/attachments\": {\n      \"get\": {\n        \"operationId\": \"getCardsAttachmentsByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: bytes, date, edgeColor, idMember, isUpload, mimeType, name, previews or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean value or &quot;cover&quot; for only card cover attachments\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsAttachmentsByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addCardsAttachmentsByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"file\": {\n                    \"description\": \"A file\",\n                    \"type\": \"string\"\n                  },\n                  \"mimeType\": {\n                    \"description\": \"a string with a length from 0 to 256\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 0 to 256\",\n                    \"type\": \"string\"\n                  },\n                  \"url\": {\n                    \"description\": \"A URL starting with http:// or https:// or null\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Attachments\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addCardsAttachmentsByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/attachments/{idAttachment}\": {\n      \"delete\": {\n        \"operationId\": \"deleteCardsAttachmentsByIdCardByIdAttachment\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idAttachment\",\n            \"in\": \"path\",\n            \"name\": \"idAttachment\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteCardsAttachmentsByIdCardByIdAttachment()\",\n        \"tags\": [\n          \"card\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getCardsAttachmentsByIdCardByIdAttachment\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idAttachment\",\n            \"in\": \"path\",\n            \"name\": \"idAttachment\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: bytes, date, edgeColor, idMember, isUpload, mimeType, name, previews or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsAttachmentsByIdCardByIdAttachment()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/board\": {\n      \"get\": {\n        \"operationId\": \"getCardsBoardByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsBoardByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/board/{field}\": {\n      \"get\": {\n        \"operationId\": \"getCardsBoardByIdCardByField\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsBoardByIdCardByField()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/checkItemStates\": {\n      \"get\": {\n        \"operationId\": \"getCardsCheckItemStatesByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: idCheckItem or state\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsCheckItemStatesByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/checklist/{idChecklistCurrent}/checkItem/{idCheckItem}\": {\n      \"put\": {\n        \"operationId\": \"updateCardsChecklistCheckItemByIdCardByIdChecklistCurrentByIdCheckItem\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idChecklistCurrent\",\n            \"in\": \"path\",\n            \"name\": \"idChecklistCurrent\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idCheckItem\",\n            \"in\": \"path\",\n            \"name\": \"idCheckItem\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"idChecklist\": {\n                    \"description\": \"An id, or null\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  },\n                  \"state\": {\n                    \"description\": \"One of: complete, false, incomplete or true\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Checklist Id Checklist Current Check Item\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsChecklistCheckItemByIdCardByIdChecklistCurrentByIdCheckItem()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/checklist/{idChecklist}/checkItem\": {\n      \"post\": {\n        \"operationId\": \"addCardsChecklistCheckItemByIdCardByIdChecklist\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"name\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Checklist Check Item\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addCardsChecklistCheckItemByIdCardByIdChecklist()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/checklist/{idChecklist}/checkItem/{idCheckItem}\": {\n      \"delete\": {\n        \"operationId\": \"deleteCardsChecklistCheckItemByIdCardByIdChecklistByIdCheckItem\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idCheckItem\",\n            \"in\": \"path\",\n            \"name\": \"idCheckItem\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteCardsChecklistCheckItemByIdCardByIdChecklistByIdCheckItem()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/checklist/{idChecklist}/checkItem/{idCheckItem}/convertToCard\": {\n      \"post\": {\n        \"operationId\": \"addCardsChecklistCheckItemConvertToCardByIdCardByIdChecklistByIdCheckItem\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idCheckItem\",\n            \"in\": \"path\",\n            \"name\": \"idCheckItem\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addCardsChecklistCheckItemConvertToCardByIdCardByIdChecklistByIdCheckItem()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/checklist/{idChecklist}/checkItem/{idCheckItem}/name\": {\n      \"put\": {\n        \"operationId\": \"updateCardsChecklistCheckItemNameByIdCardByIdChecklistByIdCheckItem\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idCheckItem\",\n            \"in\": \"path\",\n            \"name\": \"idCheckItem\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Checklist Check Item Name\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsChecklistCheckItemNameByIdCardByIdChecklistByIdCheckItem()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/checklist/{idChecklist}/checkItem/{idCheckItem}/pos\": {\n      \"put\": {\n        \"operationId\": \"updateCardsChecklistCheckItemPosByIdCardByIdChecklistByIdCheckItem\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idCheckItem\",\n            \"in\": \"path\",\n            \"name\": \"idCheckItem\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Checklist Check Item Pos\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsChecklistCheckItemPosByIdCardByIdChecklistByIdCheckItem()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/checklist/{idChecklist}/checkItem/{idCheckItem}/state\": {\n      \"put\": {\n        \"operationId\": \"updateCardsChecklistCheckItemStateByIdCardByIdChecklistByIdCheckItem\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idCheckItem\",\n            \"in\": \"path\",\n            \"name\": \"idCheckItem\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: complete, false, incomplete or true\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Checklist Check Item State\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsChecklistCheckItemStateByIdCardByIdChecklistByIdCheckItem()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/checklists\": {\n      \"get\": {\n        \"operationId\": \"getCardsChecklistsByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none, open or visible\",\n            \"in\": \"query\",\n            \"name\": \"cards\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"card_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"checkItems\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: name, nameData, pos, state or type\",\n            \"in\": \"query\",\n            \"name\": \"checkItem_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, nameData, pos and state\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: idBoard, idCard, name or pos\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsChecklistsByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addCardsChecklistsByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"idChecklistSource\": {\n                    \"description\": \"The id of the source checklist to copy into a new checklist.\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"value\": {\n                    \"description\": \"The id of the checklist to add to the card, or null to create a new one.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Checklists\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addCardsChecklistsByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/checklists/{idChecklist}\": {\n      \"delete\": {\n        \"operationId\": \"deleteCardsChecklistsByIdCardByIdChecklist\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteCardsChecklistsByIdCardByIdChecklist()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/closed\": {\n      \"put\": {\n        \"operationId\": \"updateCardsClosedByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Closed\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsClosedByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/desc\": {\n      \"put\": {\n        \"operationId\": \"updateCardsDescByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Desc\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsDescByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/due\": {\n      \"put\": {\n        \"operationId\": \"updateCardsDueByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A date, or null\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Due\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsDueByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/idAttachmentCover\": {\n      \"put\": {\n        \"operationId\": \"updateCardsIdAttachmentCoverByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"Id of the image attachment of this card to use as its cover, or null for no cover\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Id Attachment Cover\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsIdAttachmentCoverByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/idBoard\": {\n      \"put\": {\n        \"operationId\": \"updateCardsIdBoardByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"idList\": {\n                    \"description\": \"id of the list that the card should be moved to on the new board\",\n                    \"type\": \"string\"\n                  },\n                  \"value\": {\n                    \"description\": \"id of the board the card should be moved to\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Id Board\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsIdBoardByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/idLabels\": {\n      \"post\": {\n        \"operationId\": \"addCardsIdLabelsByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"The id of the label to add\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Id Labels\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addCardsIdLabelsByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/idLabels/{idLabel}\": {\n      \"delete\": {\n        \"operationId\": \"deleteCardsIdLabelsByIdCardByIdLabel\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idLabel\",\n            \"in\": \"path\",\n            \"name\": \"idLabel\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteCardsIdLabelsByIdCardByIdLabel()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/idList\": {\n      \"put\": {\n        \"operationId\": \"updateCardsIdListByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"id of the list the card should be moved to\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Id List\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsIdListByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/idMembers\": {\n      \"post\": {\n        \"operationId\": \"addCardsIdMembersByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"The id of the member to add to the card\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Id Members\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addCardsIdMembersByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateCardsIdMembersByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"The id of the member to add to the card\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Id Members\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsIdMembersByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/idMembers/{idMember}\": {\n      \"delete\": {\n        \"operationId\": \"deleteCardsIdMembersByIdCardByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMember\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteCardsIdMembersByIdCardByIdMember()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/labels\": {\n      \"post\": {\n        \"operationId\": \"addCardsLabelsByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"color\": {\n                    \"description\": \"A valid label color or null\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"value\": {\n                    \"description\": \"all or a comma-separated list of: blue, green, orange, purple, red or yellow\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Labels\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addCardsLabelsByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateCardsLabelsByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"color\": {\n                    \"description\": \"A valid label color or null\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"value\": {\n                    \"description\": \"all or a comma-separated list of: blue, green, orange, purple, red or yellow\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Labels\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsLabelsByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/labels/{color}\": {\n      \"delete\": {\n        \"operationId\": \"deleteCardsLabelsByIdCardByColor\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"color\",\n            \"in\": \"path\",\n            \"name\": \"color\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteCardsLabelsByIdCardByColor()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/list\": {\n      \"get\": {\n        \"operationId\": \"getCardsListByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, idBoard, name, pos or subscribed\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsListByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/list/{field}\": {\n      \"get\": {\n        \"operationId\": \"getCardsListByIdCardByField\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsListByIdCardByField()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/markAssociatedNotificationsRead\": {\n      \"post\": {\n        \"operationId\": \"addCardsMarkAssociatedNotificationsReadByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addCardsMarkAssociatedNotificationsReadByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/members\": {\n      \"get\": {\n        \"operationId\": \"getCardsMembersByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsMembersByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/membersVoted\": {\n      \"get\": {\n        \"operationId\": \"getCardsMembersVotedByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsMembersVotedByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addCardsMembersVotedByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"The id of the member to vote &#39;yes&#39; on the card\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Members Voted\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addCardsMembersVotedByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/membersVoted/{idMember}\": {\n      \"delete\": {\n        \"operationId\": \"deleteCardsMembersVotedByIdCardByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMember\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteCardsMembersVotedByIdCardByIdMember()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/name\": {\n      \"put\": {\n        \"operationId\": \"updateCardsNameByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Name\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsNameByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/pos\": {\n      \"put\": {\n        \"operationId\": \"updateCardsPosByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Pos\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsPosByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/stickers\": {\n      \"get\": {\n        \"operationId\": \"getCardsStickersByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: image, imageScaled, imageUrl, left, rotate, top or zIndex\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsStickersByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addCardsStickersByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"image\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"left\": {\n                    \"description\": \"undefined\",\n                    \"type\": \"string\"\n                  },\n                  \"rotate\": {\n                    \"description\": \"undefined\",\n                    \"type\": \"string\"\n                  },\n                  \"top\": {\n                    \"description\": \"undefined\",\n                    \"type\": \"string\"\n                  },\n                  \"zIndex\": {\n                    \"description\": \"Valid Z values for stickers, must be an integer\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Stickers\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addCardsStickersByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/stickers/{idSticker}\": {\n      \"delete\": {\n        \"operationId\": \"deleteCardsStickersByIdCardByIdSticker\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idSticker\",\n            \"in\": \"path\",\n            \"name\": \"idSticker\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteCardsStickersByIdCardByIdSticker()\",\n        \"tags\": [\n          \"card\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getCardsStickersByIdCardByIdSticker\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idSticker\",\n            \"in\": \"path\",\n            \"name\": \"idSticker\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: image, imageScaled, imageUrl, left, rotate, top or zIndex\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getCardsStickersByIdCardByIdSticker()\",\n        \"tags\": [\n          \"card\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateCardsStickersByIdCardByIdSticker\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idSticker\",\n            \"in\": \"path\",\n            \"name\": \"idSticker\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"image\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"left\": {\n                    \"description\": \"undefined\",\n                    \"type\": \"string\"\n                  },\n                  \"rotate\": {\n                    \"description\": \"undefined\",\n                    \"type\": \"string\"\n                  },\n                  \"top\": {\n                    \"description\": \"undefined\",\n                    \"type\": \"string\"\n                  },\n                  \"zIndex\": {\n                    \"description\": \"Valid Z values for stickers, must be an integer\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Stickers\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsStickersByIdCardByIdSticker()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/subscribed\": {\n      \"put\": {\n        \"operationId\": \"updateCardsSubscribedByIdCard\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"card\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Cards Subscribed\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateCardsSubscribedByIdCard()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/cards/{idCard}/{field}\": {\n      \"get\": {\n        \"operationId\": \"getCardsByIdCardByField\",\n        \"parameters\": [\n          {\n            \"description\": \"card id or shortlink\",\n            \"in\": \"path\",\n            \"name\": \"idCard\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getCardsByIdCardByField()\",\n        \"tags\": [\n          \"card\"\n        ]\n      }\n    },\n    \"/checklists\": {\n      \"post\": {\n        \"operationId\": \"addChecklists\",\n        \"parameters\": [\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"idBoard\": {\n                    \"description\": \"id of the board that the checklist should be added to\",\n                    \"type\": \"string\"\n                  },\n                  \"idCard\": {\n                    \"description\": \"id of the card that the checklist should be added to\",\n                    \"type\": \"string\"\n                  },\n                  \"idChecklistSource\": {\n                    \"description\": \"The id of the source checklist to copy into a new checklist.\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"checklist\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Checklists\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addChecklists()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      }\n    },\n    \"/checklists/{idChecklist}\": {\n      \"delete\": {\n        \"operationId\": \"deleteChecklistsByIdChecklist\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteChecklistsByIdChecklist()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getChecklistsByIdChecklist\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none, open or visible\",\n            \"in\": \"query\",\n            \"name\": \"cards\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"card_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"checkItems\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: name, nameData, pos, state or type\",\n            \"in\": \"query\",\n            \"name\": \"checkItem_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, nameData, pos and state\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: idBoard, idCard, name or pos\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getChecklistsByIdChecklist()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateChecklistsByIdChecklist\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"idBoard\": {\n                    \"description\": \"id of the board that the checklist should be added to\",\n                    \"type\": \"string\"\n                  },\n                  \"idCard\": {\n                    \"description\": \"id of the card that the checklist should be added to\",\n                    \"type\": \"string\"\n                  },\n                  \"idChecklistSource\": {\n                    \"description\": \"The id of the source checklist to copy into a new checklist.\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"checklist\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Checklists\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateChecklistsByIdChecklist()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      }\n    },\n    \"/checklists/{idChecklist}/board\": {\n      \"get\": {\n        \"operationId\": \"getChecklistsBoardByIdChecklist\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getChecklistsBoardByIdChecklist()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      }\n    },\n    \"/checklists/{idChecklist}/board/{field}\": {\n      \"get\": {\n        \"operationId\": \"getChecklistsBoardByIdChecklistByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getChecklistsBoardByIdChecklistByField()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      }\n    },\n    \"/checklists/{idChecklist}/cards\": {\n      \"get\": {\n        \"operationId\": \"getChecklistsCardsByIdChecklist\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean value or &quot;cover&quot; for only card cover attachments\",\n            \"in\": \"query\",\n            \"name\": \"attachments\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: bytes, date, edgeColor, idMember, isUpload, mimeType, name, previews or url\",\n            \"in\": \"query\",\n            \"name\": \"attachment_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"stickers\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"members\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"checkItemStates\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"checklists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 1 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"before\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none or open\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"open\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getChecklistsCardsByIdChecklist()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      }\n    },\n    \"/checklists/{idChecklist}/cards/{filter}\": {\n      \"get\": {\n        \"operationId\": \"getChecklistsCardsByIdChecklistByFilter\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"filter\",\n            \"in\": \"path\",\n            \"name\": \"filter\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getChecklistsCardsByIdChecklistByFilter()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      }\n    },\n    \"/checklists/{idChecklist}/checkItems\": {\n      \"get\": {\n        \"operationId\": \"getChecklistsCheckItemsByIdChecklist\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: name, nameData, pos, state or type\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, nameData, pos and state\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getChecklistsCheckItemsByIdChecklist()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addChecklistsCheckItemsByIdChecklist\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"checked\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"checklist\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Checklists Check Items\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addChecklistsCheckItemsByIdChecklist()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      }\n    },\n    \"/checklists/{idChecklist}/checkItems/{idCheckItem}\": {\n      \"delete\": {\n        \"operationId\": \"deleteChecklistsCheckItemsByIdChecklistByIdCheckItem\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idCheckItem\",\n            \"in\": \"path\",\n            \"name\": \"idCheckItem\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteChecklistsCheckItemsByIdChecklistByIdCheckItem()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getChecklistsCheckItemsByIdChecklistByIdCheckItem\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idCheckItem\",\n            \"in\": \"path\",\n            \"name\": \"idCheckItem\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: name, nameData, pos, state or type\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, nameData, pos and state\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getChecklistsCheckItemsByIdChecklistByIdCheckItem()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      }\n    },\n    \"/checklists/{idChecklist}/idCard\": {\n      \"put\": {\n        \"operationId\": \"updateChecklistsIdCardByIdChecklist\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"The id of the card that the checklist is on\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"checklist\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Checklists Id Card\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateChecklistsIdCardByIdChecklist()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      }\n    },\n    \"/checklists/{idChecklist}/name\": {\n      \"put\": {\n        \"operationId\": \"updateChecklistsNameByIdChecklist\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"checklist\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Checklists Name\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateChecklistsNameByIdChecklist()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      }\n    },\n    \"/checklists/{idChecklist}/pos\": {\n      \"put\": {\n        \"operationId\": \"updateChecklistsPosByIdChecklist\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"checklist\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Checklists Pos\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateChecklistsPosByIdChecklist()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      }\n    },\n    \"/checklists/{idChecklist}/{field}\": {\n      \"get\": {\n        \"operationId\": \"getChecklistsByIdChecklistByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idChecklist\",\n            \"in\": \"path\",\n            \"name\": \"idChecklist\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getChecklistsByIdChecklistByField()\",\n        \"tags\": [\n          \"checklist\"\n        ]\n      }\n    },\n    \"/labels\": {\n      \"post\": {\n        \"operationId\": \"addLabels\",\n        \"parameters\": [\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"color\": {\n                    \"description\": \"A valid label color or null\",\n                    \"type\": \"string\"\n                  },\n                  \"idBoard\": {\n                    \"description\": \"An id\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"label\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Labels\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addLabels()\",\n        \"tags\": [\n          \"label\"\n        ]\n      }\n    },\n    \"/labels/{idLabel}\": {\n      \"delete\": {\n        \"operationId\": \"deleteLabelsByIdLabel\",\n        \"parameters\": [\n          {\n            \"description\": \"idLabel\",\n            \"in\": \"path\",\n            \"name\": \"idLabel\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteLabelsByIdLabel()\",\n        \"tags\": [\n          \"label\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getLabelsByIdLabel\",\n        \"parameters\": [\n          {\n            \"description\": \"idLabel\",\n            \"in\": \"path\",\n            \"name\": \"idLabel\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: color, idBoard, name or uses\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getLabelsByIdLabel()\",\n        \"tags\": [\n          \"label\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateLabelsByIdLabel\",\n        \"parameters\": [\n          {\n            \"description\": \"idLabel\",\n            \"in\": \"path\",\n            \"name\": \"idLabel\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"color\": {\n                    \"description\": \"A valid label color or null\",\n                    \"type\": \"string\"\n                  },\n                  \"idBoard\": {\n                    \"description\": \"An id\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"label\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Labels\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateLabelsByIdLabel()\",\n        \"tags\": [\n          \"label\"\n        ]\n      }\n    },\n    \"/labels/{idLabel}/board\": {\n      \"get\": {\n        \"operationId\": \"getLabelsBoardByIdLabel\",\n        \"parameters\": [\n          {\n            \"description\": \"idLabel\",\n            \"in\": \"path\",\n            \"name\": \"idLabel\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getLabelsBoardByIdLabel()\",\n        \"tags\": [\n          \"label\"\n        ]\n      }\n    },\n    \"/labels/{idLabel}/board/{field}\": {\n      \"get\": {\n        \"operationId\": \"getLabelsBoardByIdLabelByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idLabel\",\n            \"in\": \"path\",\n            \"name\": \"idLabel\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getLabelsBoardByIdLabelByField()\",\n        \"tags\": [\n          \"label\"\n        ]\n      }\n    },\n    \"/labels/{idLabel}/color\": {\n      \"put\": {\n        \"operationId\": \"updateLabelsColorByIdLabel\",\n        \"parameters\": [\n          {\n            \"description\": \"idLabel\",\n            \"in\": \"path\",\n            \"name\": \"idLabel\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A valid label color or null\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"label\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Labels Color\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateLabelsColorByIdLabel()\",\n        \"tags\": [\n          \"label\"\n        ]\n      }\n    },\n    \"/labels/{idLabel}/name\": {\n      \"put\": {\n        \"operationId\": \"updateLabelsNameByIdLabel\",\n        \"parameters\": [\n          {\n            \"description\": \"idLabel\",\n            \"in\": \"path\",\n            \"name\": \"idLabel\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"label\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Labels Name\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateLabelsNameByIdLabel()\",\n        \"tags\": [\n          \"label\"\n        ]\n      }\n    },\n    \"/lists\": {\n      \"post\": {\n        \"operationId\": \"addLists\",\n        \"parameters\": [\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"closed\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"idBoard\": {\n                    \"description\": \"id of the board that the list should be added to\",\n                    \"type\": \"string\"\n                  },\n                  \"idListSource\": {\n                    \"description\": \"The id of the list to copy into a new list.\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  },\n                  \"subscribed\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"list\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Lists\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addLists()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}\": {\n      \"get\": {\n        \"operationId\": \"getListsByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none or open\",\n            \"in\": \"query\",\n            \"name\": \"cards\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"card_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"board\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"board_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, desc, descData, closed, idOrganization, pinned, url and prefs\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, idBoard, name, pos or subscribed\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, closed, idBoard and pos\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getListsByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateListsByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"closed\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"idBoard\": {\n                    \"description\": \"id of the board that the list should be added to\",\n                    \"type\": \"string\"\n                  },\n                  \"idListSource\": {\n                    \"description\": \"The id of the list to copy into a new list.\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  },\n                  \"subscribed\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"list\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Lists\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateListsByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/actions\": {\n      \"get\": {\n        \"operationId\": \"getListsActionsByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: count, list or minimal\",\n            \"in\": \"query\",\n            \"name\": \"format\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"list\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, null or lastView\",\n            \"in\": \"query\",\n            \"name\": \"since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"before\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Page * limit must be less than 1000\",\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"0\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Only return actions related to these model ids\",\n            \"in\": \"query\",\n            \"name\": \"idModels\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getListsActionsByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/archiveAllCards\": {\n      \"post\": {\n        \"operationId\": \"addListsArchiveAllCardsByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addListsArchiveAllCardsByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/board\": {\n      \"get\": {\n        \"operationId\": \"getListsBoardByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getListsBoardByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/board/{field}\": {\n      \"get\": {\n        \"operationId\": \"getListsBoardByIdListByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getListsBoardByIdListByField()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/cards\": {\n      \"get\": {\n        \"operationId\": \"getListsCardsByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean value or &quot;cover&quot; for only card cover attachments\",\n            \"in\": \"query\",\n            \"name\": \"attachments\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: bytes, date, edgeColor, idMember, isUpload, mimeType, name, previews or url\",\n            \"in\": \"query\",\n            \"name\": \"attachment_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"stickers\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"members\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"checkItemStates\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"checklists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 1 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"before\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none or open\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"open\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getListsCardsByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addListsCardsByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"desc\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"due\": {\n                    \"description\": \"A date, or null\",\n                    \"type\": \"string\"\n                  },\n                  \"idMembers\": {\n                    \"description\": \"A comma-separated list of objectIds, 24-character hex strings\",\n                    \"type\": \"string\"\n                  },\n                  \"labels\": {\n                    \"description\": \"all or a comma-separated list of: blue, green, orange, purple, red or yellow\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"list\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Lists Cards\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addListsCardsByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/cards/{filter}\": {\n      \"get\": {\n        \"operationId\": \"getListsCardsByIdListByFilter\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"filter\",\n            \"in\": \"path\",\n            \"name\": \"filter\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getListsCardsByIdListByFilter()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/closed\": {\n      \"put\": {\n        \"operationId\": \"updateListsClosedByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"list\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Lists Closed\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateListsClosedByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/idBoard\": {\n      \"put\": {\n        \"operationId\": \"updateListsIdBoardByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"pos\": {\n                    \"description\": \"position of the list on the new board\",\n                    \"type\": \"string\"\n                  },\n                  \"value\": {\n                    \"description\": \"id of the board the list should be moved to\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"list\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Lists Id Board\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateListsIdBoardByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/moveAllCards\": {\n      \"post\": {\n        \"operationId\": \"addListsMoveAllCardsByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"idBoard\": {\n                    \"description\": \"id of the board that the cards should be moved to\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"list\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Lists Move All Cards\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addListsMoveAllCardsByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/name\": {\n      \"put\": {\n        \"operationId\": \"updateListsNameByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"list\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Lists Name\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateListsNameByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/pos\": {\n      \"put\": {\n        \"operationId\": \"updateListsPosByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"list\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Lists Pos\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateListsPosByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/subscribed\": {\n      \"put\": {\n        \"operationId\": \"updateListsSubscribedByIdList\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"list\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Lists Subscribed\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateListsSubscribedByIdList()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/lists/{idList}/{field}\": {\n      \"get\": {\n        \"operationId\": \"getListsByIdListByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idList\",\n            \"in\": \"path\",\n            \"name\": \"idList\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getListsByIdListByField()\",\n        \"tags\": [\n          \"list\"\n        ]\n      }\n    },\n    \"/members/{idMember}\": {\n      \"get\": {\n        \"description\": \"If you specify 'me' as the username, this call will respond as if you had supplied the username associated with the supplied token\",\n        \"operationId\": \"getMembersByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"actions_entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"actions_display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"actions_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"action_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, null or lastView\",\n            \"in\": \"query\",\n            \"name\": \"action_since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"action_before\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none, open or visible\",\n            \"in\": \"query\",\n            \"name\": \"cards\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"card_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"card_members\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"card_member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean value or &quot;cover&quot; for only card cover attachments\",\n            \"in\": \"query\",\n            \"name\": \"card_attachments\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: bytes, date, edgeColor, idMember, isUpload, mimeType, name, previews or url\",\n            \"in\": \"query\",\n            \"name\": \"card_attachment_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"url and previews\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"card_stickers\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, members, open, organization, pinned, public, starred or unpinned\",\n            \"in\": \"query\",\n            \"name\": \"boards\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"board_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, closed, idOrganization and pinned\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"board_actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"board_actions_entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"board_actions_display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: count, list or minimal\",\n            \"in\": \"query\",\n            \"name\": \"board_actions_format\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"list\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, null or lastView\",\n            \"in\": \"query\",\n            \"name\": \"board_actions_since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"board_actions_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"board_action_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none or open\",\n            \"in\": \"query\",\n            \"name\": \"board_lists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: active, admin, deactivated, me or normal\",\n            \"in\": \"query\",\n            \"name\": \"board_memberships\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"board_organization\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"board_organization_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name and displayName\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, members, open, organization, pinned, public, starred or unpinned\",\n            \"in\": \"query\",\n            \"name\": \"boardsInvited\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"boardsInvited_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, closed, idOrganization and pinned\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"boardStars\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"savedSearches\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, members, none or public\",\n            \"in\": \"query\",\n            \"name\": \"organizations\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"organization_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"organization_paid_account\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, members, none or public\",\n            \"in\": \"query\",\n            \"name\": \"organizationsInvited\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"organizationsInvited_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAdminToBoard, addAdminToOrganization, addedAttachmentToCard, addedMemberToCard, addedToBoard, addedToCard, addedToOrganization, cardDueSoon, changeCard, closeBoard, commentCard, createdCard, declinedInvitationToBoard, declinedInvitationToOrganization, invitedToBoard, invitedToOrganization, makeAdminOfBoard, makeAdminOfOrganization, memberJoinedTrello, mentionedOnCard, removedFromBoard, removedFromCard, removedFromOrganization, removedMemberFromCard, unconfirmedInvitedToBoard, unconfirmedInvitedToOrganization or updateCheckItemStateOnCard\",\n            \"in\": \"query\",\n            \"name\": \"notifications\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"notifications_entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"notifications_display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 1 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"notifications_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator, type or unread\",\n            \"in\": \"query\",\n            \"name\": \"notification_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"notification_memberCreator\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"notification_memberCreator_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An id, or null\",\n            \"in\": \"query\",\n            \"name\": \"notification_before\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An id, or null\",\n            \"in\": \"query\",\n            \"name\": \"notification_since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"tokens\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"paid_account\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, custom, default, none or premium\",\n            \"in\": \"query\",\n            \"name\": \"boardBackgrounds\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"customBoardBackgrounds\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"customStickers\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"customEmoji\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, avatarSource, bio, bioData, confirmed, email, fullName, gravatarHash, idBoards, idBoardsPinned, idOrganizations, idPremOrgsAdmin, initials, loginTypes, memberType, oneTimeMessagesDismissed, prefs, premiumFeatures, products, status, status, trophies, uploadedAvatarHash, url or username\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateMembersByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"avatarSource\": {\n                    \"description\": \"One of: gravatar, none or upload\",\n                    \"type\": \"string\"\n                  },\n                  \"bio\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"fullName\": {\n                    \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n                    \"type\": \"string\"\n                  },\n                  \"initials\": {\n                    \"description\": \"A string with a length from 1 to 4.  Cannot begin or end with a space\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/colorBlind\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/locale\": {\n                    \"description\": \"a string with a length from 0 to 255\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/minutesBetweenSummaries\": {\n                    \"description\": \"-1 (disabled), 1 or 60\",\n                    \"type\": \"string\"\n                  },\n                  \"username\": {\n                    \"description\": \"A string with a length of at least 3.  Only lowercase letters, underscores, and numbers are allowed.  Must be unique.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/actions\": {\n      \"get\": {\n        \"operationId\": \"getMembersActionsByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: count, list or minimal\",\n            \"in\": \"query\",\n            \"name\": \"format\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"list\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, null or lastView\",\n            \"in\": \"query\",\n            \"name\": \"since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"before\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Page * limit must be less than 1000\",\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"0\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Only return actions related to these model ids\",\n            \"in\": \"query\",\n            \"name\": \"idModels\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersActionsByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/avatar\": {\n      \"post\": {\n        \"operationId\": \"addMembersAvatarByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"file\": {\n                    \"description\": \"A file\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Avatar\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addMembersAvatarByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/avatarSource\": {\n      \"put\": {\n        \"operationId\": \"updateMembersAvatarSourceByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: gravatar, none or upload\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Avatar Source\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersAvatarSourceByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/bio\": {\n      \"put\": {\n        \"operationId\": \"updateMembersBioByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Bio\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersBioByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/boardBackgrounds\": {\n      \"get\": {\n        \"operationId\": \"getMembersBoardBackgroundsByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, custom, default, none or premium\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersBoardBackgroundsByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addMembersBoardBackgroundsByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"brightness\": {\n                    \"description\": \"One of: dark, light or unknown\",\n                    \"type\": \"string\"\n                  },\n                  \"file\": {\n                    \"description\": \"A file\",\n                    \"type\": \"string\"\n                  },\n                  \"tile\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Board Backgrounds\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addMembersBoardBackgroundsByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/boardBackgrounds/{idBoardBackground}\": {\n      \"delete\": {\n        \"operationId\": \"deleteMembersBoardBackgroundsByIdMemberByIdBoardBackground\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idBoardBackground\",\n            \"in\": \"path\",\n            \"name\": \"idBoardBackground\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteMembersBoardBackgroundsByIdMemberByIdBoardBackground()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getMembersBoardBackgroundsByIdMemberByIdBoardBackground\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idBoardBackground\",\n            \"in\": \"path\",\n            \"name\": \"idBoardBackground\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: brightness, fullSizeUrl, scaled or tile\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersBoardBackgroundsByIdMemberByIdBoardBackground()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateMembersBoardBackgroundsByIdMemberByIdBoardBackground\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idBoardBackground\",\n            \"in\": \"path\",\n            \"name\": \"idBoardBackground\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"brightness\": {\n                    \"description\": \"One of: dark, light or unknown\",\n                    \"type\": \"string\"\n                  },\n                  \"file\": {\n                    \"description\": \"A file\",\n                    \"type\": \"string\"\n                  },\n                  \"tile\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Board Backgrounds\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersBoardBackgroundsByIdMemberByIdBoardBackground()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/boardStars\": {\n      \"get\": {\n        \"operationId\": \"getMembersBoardStarsByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersBoardStarsByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addMembersBoardStarsByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"idBoard\": {\n                    \"description\": \"The id of the board to star\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Board Stars\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addMembersBoardStarsByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/boardStars/{idBoardStar}\": {\n      \"delete\": {\n        \"operationId\": \"deleteMembersBoardStarsByIdMemberByIdBoardStar\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idBoardStar\",\n            \"in\": \"path\",\n            \"name\": \"idBoardStar\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteMembersBoardStarsByIdMemberByIdBoardStar()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getMembersBoardStarsByIdMemberByIdBoardStar\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idBoardStar\",\n            \"in\": \"path\",\n            \"name\": \"idBoardStar\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersBoardStarsByIdMemberByIdBoardStar()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateMembersBoardStarsByIdMemberByIdBoardStar\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idBoardStar\",\n            \"in\": \"path\",\n            \"name\": \"idBoardStar\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"idBoard\": {\n                    \"description\": \"The id of the board to star\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Board Stars\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersBoardStarsByIdMemberByIdBoardStar()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/boardStars/{idBoardStar}/idBoard\": {\n      \"put\": {\n        \"operationId\": \"updateMembersBoardStarsIdBoardByIdMemberByIdBoardStar\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idBoardStar\",\n            \"in\": \"path\",\n            \"name\": \"idBoardStar\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"An id\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Board Stars Id Board\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersBoardStarsIdBoardByIdMemberByIdBoardStar()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/boardStars/{idBoardStar}/pos\": {\n      \"put\": {\n        \"operationId\": \"updateMembersBoardStarsPosByIdMemberByIdBoardStar\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idBoardStar\",\n            \"in\": \"path\",\n            \"name\": \"idBoardStar\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Board Stars Pos\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersBoardStarsPosByIdMemberByIdBoardStar()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/boards\": {\n      \"get\": {\n        \"operationId\": \"getMembersBoardsByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, members, open, organization, pinned, public, starred or unpinned\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"actions_entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"actions_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: count, list or minimal\",\n            \"in\": \"query\",\n            \"name\": \"actions_format\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"list\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, null or lastView\",\n            \"in\": \"query\",\n            \"name\": \"actions_since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"action_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: active, admin, deactivated, me or normal\",\n            \"in\": \"query\",\n            \"name\": \"memberships\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"organization\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"organization_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name and displayName\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none or open\",\n            \"in\": \"query\",\n            \"name\": \"lists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersBoardsByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/boards/{filter}\": {\n      \"get\": {\n        \"operationId\": \"getMembersBoardsByIdMemberByFilter\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"filter\",\n            \"in\": \"path\",\n            \"name\": \"filter\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getMembersBoardsByIdMemberByFilter()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/boardsInvited\": {\n      \"get\": {\n        \"operationId\": \"getMembersBoardsInvitedByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersBoardsInvitedByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/boardsInvited/{field}\": {\n      \"get\": {\n        \"operationId\": \"getMembersBoardsInvitedByIdMemberByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersBoardsInvitedByIdMemberByField()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/cards\": {\n      \"get\": {\n        \"operationId\": \"getMembersCardsByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean value or &quot;cover&quot; for only card cover attachments\",\n            \"in\": \"query\",\n            \"name\": \"attachments\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: bytes, date, edgeColor, idMember, isUpload, mimeType, name, previews or url\",\n            \"in\": \"query\",\n            \"name\": \"attachment_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"stickers\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"members\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"checkItemStates\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"checklists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 1 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"before\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none, open or visible\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"visible\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersCardsByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/cards/{filter}\": {\n      \"get\": {\n        \"operationId\": \"getMembersCardsByIdMemberByFilter\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"filter\",\n            \"in\": \"path\",\n            \"name\": \"filter\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getMembersCardsByIdMemberByFilter()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/customBoardBackgrounds\": {\n      \"get\": {\n        \"operationId\": \"getMembersCustomBoardBackgroundsByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersCustomBoardBackgroundsByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addMembersCustomBoardBackgroundsByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"brightness\": {\n                    \"description\": \"One of: dark, light or unknown\",\n                    \"type\": \"string\"\n                  },\n                  \"file\": {\n                    \"description\": \"A file\",\n                    \"type\": \"string\"\n                  },\n                  \"tile\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Custom Board Backgrounds\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addMembersCustomBoardBackgroundsByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/customBoardBackgrounds/{idBoardBackground}\": {\n      \"delete\": {\n        \"operationId\": \"deleteMembersCustomBoardBackgroundsByIdMemberByIdBoardBackground\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idBoardBackground\",\n            \"in\": \"path\",\n            \"name\": \"idBoardBackground\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteMembersCustomBoardBackgroundsByIdMemberByIdBoardBackground()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getMembersCustomBoardBackgroundsByIdMemberByIdBoardBackground\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idBoardBackground\",\n            \"in\": \"path\",\n            \"name\": \"idBoardBackground\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: brightness, fullSizeUrl, scaled or tile\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersCustomBoardBackgroundsByIdMemberByIdBoardBackground()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateMembersCustomBoardBackgroundsByIdMemberByIdBoardBackground\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idBoardBackground\",\n            \"in\": \"path\",\n            \"name\": \"idBoardBackground\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"brightness\": {\n                    \"description\": \"One of: dark, light or unknown\",\n                    \"type\": \"string\"\n                  },\n                  \"file\": {\n                    \"description\": \"A file\",\n                    \"type\": \"string\"\n                  },\n                  \"tile\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Custom Board Backgrounds\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersCustomBoardBackgroundsByIdMemberByIdBoardBackground()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/customEmoji\": {\n      \"get\": {\n        \"description\": \"This gets the list of all of the user’s uploaded emoji\",\n        \"operationId\": \"getMembersCustomEmojiByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersCustomEmojiByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addMembersCustomEmojiByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"file\": {\n                    \"description\": \"A file\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 2 to 64\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Custom Emoji\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addMembersCustomEmojiByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/customEmoji/{idCustomEmoji}\": {\n      \"get\": {\n        \"operationId\": \"getMembersCustomEmojiByIdMemberByIdCustomEmoji\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idCustomEmoji\",\n            \"in\": \"path\",\n            \"name\": \"idCustomEmoji\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: name or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersCustomEmojiByIdMemberByIdCustomEmoji()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/customStickers\": {\n      \"get\": {\n        \"description\": \"This gets a list of all of the user’s uploaded stickers\",\n        \"operationId\": \"getMembersCustomStickersByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersCustomStickersByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addMembersCustomStickersByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"file\": {\n                    \"description\": \"A file\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Custom Stickers\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addMembersCustomStickersByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/customStickers/{idCustomSticker}\": {\n      \"delete\": {\n        \"operationId\": \"deleteMembersCustomStickersByIdMemberByIdCustomSticker\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idCustomSticker\",\n            \"in\": \"path\",\n            \"name\": \"idCustomSticker\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteMembersCustomStickersByIdMemberByIdCustomSticker()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getMembersCustomStickersByIdMemberByIdCustomSticker\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idCustomSticker\",\n            \"in\": \"path\",\n            \"name\": \"idCustomSticker\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: scaled or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersCustomStickersByIdMemberByIdCustomSticker()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/deltas\": {\n      \"get\": {\n        \"operationId\": \"getMembersDeltasByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A valid tag for subscribing\",\n            \"in\": \"query\",\n            \"name\": \"tags\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from -1 to Infinity\",\n            \"in\": \"query\",\n            \"name\": \"ixLastUpdate\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersDeltasByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/fullName\": {\n      \"put\": {\n        \"operationId\": \"updateMembersFullNameByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Full Name\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersFullNameByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/initials\": {\n      \"put\": {\n        \"operationId\": \"updateMembersInitialsByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A string with a length from 1 to 4.  Cannot begin or end with a space\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Initials\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersInitialsByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/notifications\": {\n      \"get\": {\n        \"description\": \"You can only read the notifications for the member associated with the supplied token\",\n        \"operationId\": \"getMembersNotificationsByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAdminToBoard, addAdminToOrganization, addedAttachmentToCard, addedMemberToCard, addedToBoard, addedToCard, addedToOrganization, cardDueSoon, changeCard, closeBoard, commentCard, createdCard, declinedInvitationToBoard, declinedInvitationToOrganization, invitedToBoard, invitedToOrganization, makeAdminOfBoard, makeAdminOfOrganization, memberJoinedTrello, mentionedOnCard, removedFromBoard, removedFromCard, removedFromOrganization, removedMemberFromCard, unconfirmedInvitedToBoard, unconfirmedInvitedToOrganization or updateCheckItemStateOnCard\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, read or unread\",\n            \"in\": \"query\",\n            \"name\": \"read_filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator, type or unread\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 1 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 100\",\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"0\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An id, or null\",\n            \"in\": \"query\",\n            \"name\": \"before\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An id, or null\",\n            \"in\": \"query\",\n            \"name\": \"since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersNotificationsByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/notifications/{filter}\": {\n      \"get\": {\n        \"operationId\": \"getMembersNotificationsByIdMemberByFilter\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"filter\",\n            \"in\": \"path\",\n            \"name\": \"filter\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getMembersNotificationsByIdMemberByFilter()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/oneTimeMessagesDismissed\": {\n      \"post\": {\n        \"operationId\": \"addMembersOneTimeMessagesDismissedByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"Type of message dismissed\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members One Time Messages Dismissed\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addMembersOneTimeMessagesDismissedByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/organizations\": {\n      \"get\": {\n        \"operationId\": \"getMembersOrganizationsByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, members, none or public\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"paid_account\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersOrganizationsByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/organizations/{filter}\": {\n      \"get\": {\n        \"operationId\": \"getMembersOrganizationsByIdMemberByFilter\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"filter\",\n            \"in\": \"path\",\n            \"name\": \"filter\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getMembersOrganizationsByIdMemberByFilter()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/organizationsInvited\": {\n      \"get\": {\n        \"operationId\": \"getMembersOrganizationsInvitedByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersOrganizationsInvitedByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/organizationsInvited/{field}\": {\n      \"get\": {\n        \"operationId\": \"getMembersOrganizationsInvitedByIdMemberByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersOrganizationsInvitedByIdMemberByField()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/prefs/colorBlind\": {\n      \"put\": {\n        \"operationId\": \"updateMembersPrefsColorBlindByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Color Blind\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersPrefsColorBlindByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/prefs/locale\": {\n      \"put\": {\n        \"operationId\": \"updateMembersPrefsLocaleByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 255\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Locale\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersPrefsLocaleByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/prefs/minutesBetweenSummaries\": {\n      \"put\": {\n        \"operationId\": \"updateMembersPrefsMinutesBetweenSummariesByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"-1 (disabled), 1 or 60\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Minutes Between Summaries\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersPrefsMinutesBetweenSummariesByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/savedSearches\": {\n      \"get\": {\n        \"operationId\": \"getMembersSavedSearchesByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersSavedSearchesByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addMembersSavedSearchesByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"name\": {\n                    \"description\": \"A non-empty string with at least one non-space character\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  },\n                  \"query\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Saved Searches\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addMembersSavedSearchesByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/savedSearches/{idSavedSearch}\": {\n      \"delete\": {\n        \"operationId\": \"deleteMembersSavedSearchesByIdMemberByIdSavedSearch\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idSavedSearch\",\n            \"in\": \"path\",\n            \"name\": \"idSavedSearch\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteMembersSavedSearchesByIdMemberByIdSavedSearch()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getMembersSavedSearchesByIdMemberByIdSavedSearch\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idSavedSearch\",\n            \"in\": \"path\",\n            \"name\": \"idSavedSearch\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersSavedSearchesByIdMemberByIdSavedSearch()\",\n        \"tags\": [\n          \"member\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateMembersSavedSearchesByIdMemberByIdSavedSearch\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idSavedSearch\",\n            \"in\": \"path\",\n            \"name\": \"idSavedSearch\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"name\": {\n                    \"description\": \"A non-empty string with at least one non-space character\",\n                    \"type\": \"string\"\n                  },\n                  \"pos\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  },\n                  \"query\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Saved Searches\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersSavedSearchesByIdMemberByIdSavedSearch()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/savedSearches/{idSavedSearch}/name\": {\n      \"put\": {\n        \"operationId\": \"updateMembersSavedSearchesNameByIdMemberByIdSavedSearch\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idSavedSearch\",\n            \"in\": \"path\",\n            \"name\": \"idSavedSearch\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A non-empty string with at least one non-space character\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Saved Searches Name\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersSavedSearchesNameByIdMemberByIdSavedSearch()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/savedSearches/{idSavedSearch}/pos\": {\n      \"put\": {\n        \"operationId\": \"updateMembersSavedSearchesPosByIdMemberByIdSavedSearch\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idSavedSearch\",\n            \"in\": \"path\",\n            \"name\": \"idSavedSearch\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A position. top , bottom , or a positive number.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Saved Searches Pos\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersSavedSearchesPosByIdMemberByIdSavedSearch()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/savedSearches/{idSavedSearch}/query\": {\n      \"put\": {\n        \"operationId\": \"updateMembersSavedSearchesQueryByIdMemberByIdSavedSearch\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idSavedSearch\",\n            \"in\": \"path\",\n            \"name\": \"idSavedSearch\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 1 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Saved Searches Query\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersSavedSearchesQueryByIdMemberByIdSavedSearch()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/tokens\": {\n      \"get\": {\n        \"operationId\": \"getMembersTokensByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getMembersTokensByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/username\": {\n      \"put\": {\n        \"operationId\": \"updateMembersUsernameByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A string with a length of at least 3.  Only lowercase letters, underscores, and numbers are allowed.  Must be unique.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"member\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Members Username\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateMembersUsernameByIdMember()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/members/{idMember}/{field}\": {\n      \"get\": {\n        \"operationId\": \"getMembersByIdMemberByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idMember or username\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getMembersByIdMemberByField()\",\n        \"tags\": [\n          \"member\"\n        ]\n      }\n    },\n    \"/notifications/all/read\": {\n      \"post\": {\n        \"operationId\": \"addNotificationsAllRead\",\n        \"parameters\": [\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addNotificationsAllRead()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsByIdNotification\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator, type or unread\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"board\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"board_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"list\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"card\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"card_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"organization\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"organization_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"displayName\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsByIdNotification()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateNotificationsByIdNotification\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"unread\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"notification\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Notifications\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateNotificationsByIdNotification()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/board\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsBoardByIdNotification\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsBoardByIdNotification()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/board/{field}\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsBoardByIdNotificationByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsBoardByIdNotificationByField()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/card\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsCardByIdNotification\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsCardByIdNotification()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/card/{field}\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsCardByIdNotificationByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsCardByIdNotificationByField()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/display\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsDisplayByIdNotification\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsDisplayByIdNotification()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/entities\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsEntitiesByIdNotification\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsEntitiesByIdNotification()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/list\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsListByIdNotification\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, idBoard, name, pos or subscribed\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsListByIdNotification()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/list/{field}\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsListByIdNotificationByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsListByIdNotificationByField()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/member\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsMemberByIdNotification\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, avatarSource, bio, bioData, confirmed, email, fullName, gravatarHash, idBoards, idBoardsPinned, idOrganizations, idPremOrgsAdmin, initials, loginTypes, memberType, oneTimeMessagesDismissed, prefs, premiumFeatures, products, status, status, trophies, uploadedAvatarHash, url or username\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsMemberByIdNotification()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/member/{field}\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsMemberByIdNotificationByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsMemberByIdNotificationByField()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/memberCreator\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsMemberCreatorByIdNotification\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, avatarSource, bio, bioData, confirmed, email, fullName, gravatarHash, idBoards, idBoardsPinned, idOrganizations, idPremOrgsAdmin, initials, loginTypes, memberType, oneTimeMessagesDismissed, prefs, premiumFeatures, products, status, status, trophies, uploadedAvatarHash, url or username\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsMemberCreatorByIdNotification()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/memberCreator/{field}\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsMemberCreatorByIdNotificationByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsMemberCreatorByIdNotificationByField()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/organization\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsOrganizationByIdNotification\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsOrganizationByIdNotification()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/organization/{field}\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsOrganizationByIdNotificationByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getNotificationsOrganizationByIdNotificationByField()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/unread\": {\n      \"put\": {\n        \"operationId\": \"updateNotificationsUnreadByIdNotification\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"notification\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Notifications Unread\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateNotificationsUnreadByIdNotification()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/notifications/{idNotification}/{field}\": {\n      \"get\": {\n        \"operationId\": \"getNotificationsByIdNotificationByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idNotification\",\n            \"in\": \"path\",\n            \"name\": \"idNotification\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getNotificationsByIdNotificationByField()\",\n        \"tags\": [\n          \"notification\"\n        ]\n      }\n    },\n    \"/organizations\": {\n      \"post\": {\n        \"operationId\": \"addOrganizations\",\n        \"parameters\": [\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"desc\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"displayName\": {\n                    \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/associatedDomain\": {\n                    \"description\": \"The google apps domain to link this org to.\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/boardVisibilityRestrict/org\": {\n                    \"description\": \"One of: admin, none or org\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/boardVisibilityRestrict/private\": {\n                    \"description\": \"One of: admin, none or org\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/boardVisibilityRestrict/public\": {\n                    \"description\": \"One of: admin, none or org\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/externalMembersDisabled\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/googleAppsVersion\": {\n                    \"description\": \"a number from 1 to 2\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/orgInviteRestrict\": {\n                    \"description\": \"An email address with optional expansion tokens\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/permissionLevel\": {\n                    \"description\": \"One of: private or public\",\n                    \"type\": \"string\"\n                  },\n                  \"website\": {\n                    \"description\": \"A URL starting with http:// or https:// or null\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Organizations\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addOrganizations()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}\": {\n      \"delete\": {\n        \"operationId\": \"deleteOrganizationsByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteOrganizationsByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getOrganizationsByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"actions_entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"actions_display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"actions_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"action_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: active, admin, deactivated, me or normal\",\n            \"in\": \"query\",\n            \"name\": \"memberships\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"memberships_member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"memberships_member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"fullName and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: admins, all, none, normal or owners\",\n            \"in\": \"query\",\n            \"name\": \"members\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials, username and confirmed\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"true or false ; works for premium organizations only.\",\n            \"in\": \"query\",\n            \"name\": \"member_activity\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: admins, all, none, normal or owners\",\n            \"in\": \"query\",\n            \"name\": \"membersInvited\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"membersInvited_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, initials, fullName and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, members, open, organization, pinned, public, starred or unpinned\",\n            \"in\": \"query\",\n            \"name\": \"boards\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"board_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"board_actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"board_actions_entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"board_actions_display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: count, list or minimal\",\n            \"in\": \"query\",\n            \"name\": \"board_actions_format\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"list\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, null or lastView\",\n            \"in\": \"query\",\n            \"name\": \"board_actions_since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"board_actions_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"board_action_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none or open\",\n            \"in\": \"query\",\n            \"name\": \"board_lists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"paid_account\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, displayName, desc, descData, url, website, logoHash, products and powerUps\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getOrganizationsByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateOrganizationsByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"desc\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"displayName\": {\n                    \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n                    \"type\": \"string\"\n                  },\n                  \"name\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/associatedDomain\": {\n                    \"description\": \"The google apps domain to link this org to.\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/boardVisibilityRestrict/org\": {\n                    \"description\": \"One of: admin, none or org\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/boardVisibilityRestrict/private\": {\n                    \"description\": \"One of: admin, none or org\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/boardVisibilityRestrict/public\": {\n                    \"description\": \"One of: admin, none or org\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/externalMembersDisabled\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/googleAppsVersion\": {\n                    \"description\": \"a number from 1 to 2\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/orgInviteRestrict\": {\n                    \"description\": \"An email address with optional expansion tokens\",\n                    \"type\": \"string\"\n                  },\n                  \"prefs/permissionLevel\": {\n                    \"description\": \"One of: private or public\",\n                    \"type\": \"string\"\n                  },\n                  \"website\": {\n                    \"description\": \"A URL starting with http:// or https:// or null\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Organizations\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/actions\": {\n      \"get\": {\n        \"operationId\": \"getOrganizationsActionsByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"display\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: count, list or minimal\",\n            \"in\": \"query\",\n            \"name\": \"format\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"list\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, null or lastView\",\n            \"in\": \"query\",\n            \"name\": \"since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, or null\",\n            \"in\": \"query\",\n            \"name\": \"before\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Page * limit must be less than 1000\",\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"0\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"Only return actions related to these model ids\",\n            \"in\": \"query\",\n            \"name\": \"idModels\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"memberCreator_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getOrganizationsActionsByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/boards\": {\n      \"get\": {\n        \"operationId\": \"getOrganizationsBoardsByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, members, open, organization, pinned, public, starred or unpinned\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"actions_entities\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"actions_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"50\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: count, list or minimal\",\n            \"in\": \"query\",\n            \"name\": \"actions_format\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"list\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A date, null or lastView\",\n            \"in\": \"query\",\n            \"name\": \"actions_since\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: data, date, idMemberCreator or type\",\n            \"in\": \"query\",\n            \"name\": \"action_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: active, admin, deactivated, me or normal\",\n            \"in\": \"query\",\n            \"name\": \"memberships\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"organization\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"organization_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name and displayName\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none or open\",\n            \"in\": \"query\",\n            \"name\": \"lists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getOrganizationsBoardsByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/boards/{filter}\": {\n      \"get\": {\n        \"operationId\": \"getOrganizationsBoardsByIdOrgByFilter\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"filter\",\n            \"in\": \"path\",\n            \"name\": \"filter\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getOrganizationsBoardsByIdOrgByFilter()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/deltas\": {\n      \"get\": {\n        \"operationId\": \"getOrganizationsDeltasByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A valid tag for subscribing\",\n            \"in\": \"query\",\n            \"name\": \"tags\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from -1 to Infinity\",\n            \"in\": \"query\",\n            \"name\": \"ixLastUpdate\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getOrganizationsDeltasByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/desc\": {\n      \"put\": {\n        \"operationId\": \"updateOrganizationsDescByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Organizations Desc\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsDescByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/displayName\": {\n      \"put\": {\n        \"operationId\": \"updateOrganizationsDisplayNameByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Organizations Display Name\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsDisplayNameByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/logo\": {\n      \"delete\": {\n        \"operationId\": \"deleteOrganizationsLogoByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteOrganizationsLogoByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addOrganizationsLogoByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"file\": {\n                    \"description\": \"A file\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Organizations Logo\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addOrganizationsLogoByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/members\": {\n      \"get\": {\n        \"operationId\": \"getOrganizationsMembersByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: admins, all, none, normal or owners\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"fullName and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"true or false ; works for premium organizations only.\",\n            \"in\": \"query\",\n            \"name\": \"activity\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getOrganizationsMembersByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateOrganizationsMembersByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"email\": {\n                    \"description\": \"An email address\",\n                    \"type\": \"string\"\n                  },\n                  \"fullName\": {\n                    \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n                    \"type\": \"string\"\n                  },\n                  \"type\": {\n                    \"description\": \"One of: admin, normal or observer\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Organizations Members\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsMembersByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/members/{filter}\": {\n      \"get\": {\n        \"operationId\": \"getOrganizationsMembersByIdOrgByFilter\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"filter\",\n            \"in\": \"path\",\n            \"name\": \"filter\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getOrganizationsMembersByIdOrgByFilter()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/members/{idMember}\": {\n      \"delete\": {\n        \"operationId\": \"deleteOrganizationsMembersByIdOrgByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMember\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteOrganizationsMembersByIdOrgByIdMember()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateOrganizationsMembersByIdOrgByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMember\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"email\": {\n                    \"description\": \"An email address\",\n                    \"type\": \"string\"\n                  },\n                  \"fullName\": {\n                    \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n                    \"type\": \"string\"\n                  },\n                  \"type\": {\n                    \"description\": \"One of: admin, normal or observer\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Organizations Members\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsMembersByIdOrgByIdMember()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/members/{idMember}/all\": {\n      \"delete\": {\n        \"operationId\": \"deleteOrganizationsMembersAllByIdOrgByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMember\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteOrganizationsMembersAllByIdOrgByIdMember()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/members/{idMember}/cards\": {\n      \"get\": {\n        \"operationId\": \"getOrganizationsMembersCardsByIdOrgByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMember\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: addAttachmentToCard, addChecklistToCard, addMemberToBoard, addMemberToCard, addMemberToOrganization, addToOrganizationBoard, commentCard, convertToCardFromCheckItem, copyBoard, copyCard, copyCommentCard, createBoard, createCard, createList, createOrganization, deleteAttachmentFromCard, deleteBoardInvitation, deleteCard, deleteOrganizationInvitation, disablePowerUp, emailCard, enablePowerUp, makeAdminOfBoard, makeNormalMemberOfBoard, makeNormalMemberOfOrganization, makeObserverOfBoard, memberJoinedTrello, moveCardFromBoard, moveCardToBoard, moveListFromBoard, moveListToBoard, removeChecklistFromCard, removeFromOrganizationBoard, removeMemberFromCard, unconfirmedBoardInvitation, unconfirmedOrganizationInvitation, updateBoard, updateCard, updateCard:closed, updateCard:desc, updateCard:idList, updateCard:name, updateCheckItemStateOnCard, updateChecklist, updateList, updateList:closed, updateList:name, updateMember or updateOrganization\",\n            \"in\": \"query\",\n            \"name\": \"actions\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean value or &quot;cover&quot; for only card cover attachments\",\n            \"in\": \"query\",\n            \"name\": \"attachments\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: bytes, date, edgeColor, idMember, isUpload, mimeType, name, previews or url\",\n            \"in\": \"query\",\n            \"name\": \"attachment_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"members\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"checkItemStates\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all or none\",\n            \"in\": \"query\",\n            \"name\": \"checklists\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"none\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"board\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"board_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name, desc, closed, idOrganization, pinned, url and prefs\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"list\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, idBoard, name, pos or subscribed\",\n            \"in\": \"query\",\n            \"name\": \"list_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"One of: all, closed, none, open or visible\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"visible\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getOrganizationsMembersCardsByIdOrgByIdMember()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/members/{idMember}/deactivated\": {\n      \"put\": {\n        \"operationId\": \"updateOrganizationsMembersDeactivatedByIdOrgByIdMember\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMember\",\n            \"in\": \"path\",\n            \"name\": \"idMember\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Organizations Members Deactivated\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsMembersDeactivatedByIdOrgByIdMember()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/membersInvited\": {\n      \"get\": {\n        \"operationId\": \"getOrganizationsMembersInvitedByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, avatarSource, bio, bioData, confirmed, email, fullName, gravatarHash, idBoards, idBoardsPinned, idOrganizations, idPremOrgsAdmin, initials, loginTypes, memberType, oneTimeMessagesDismissed, prefs, premiumFeatures, products, status, status, trophies, uploadedAvatarHash, url or username\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getOrganizationsMembersInvitedByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/membersInvited/{field}\": {\n      \"get\": {\n        \"operationId\": \"getOrganizationsMembersInvitedByIdOrgByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getOrganizationsMembersInvitedByIdOrgByField()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/memberships\": {\n      \"get\": {\n        \"operationId\": \"getOrganizationsMembershipsByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: active, admin, deactivated, me or normal\",\n            \"in\": \"query\",\n            \"name\": \"filter\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"fullName and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getOrganizationsMembershipsByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/memberships/{idMembership}\": {\n      \"get\": {\n        \"operationId\": \"getOrganizationsMembershipsByIdOrgByIdMembership\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMembership\",\n            \"in\": \"path\",\n            \"name\": \"idMembership\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"member\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"fullName and username\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getOrganizationsMembershipsByIdOrgByIdMembership()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateOrganizationsMembershipsByIdOrgByIdMembership\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idMembership\",\n            \"in\": \"path\",\n            \"name\": \"idMembership\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"member_fields\": {\n                    \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n                    \"type\": \"string\"\n                  },\n                  \"type\": {\n                    \"description\": \"One of: admin, normal or observer\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Organizations Memberships\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsMembershipsByIdOrgByIdMembership()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/name\": {\n      \"put\": {\n        \"operationId\": \"updateOrganizationsNameByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A string with a length of at least 3.  Only lowercase letters, underscores, and numbers are allowed.  Must be unique.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Organizations Name\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsNameByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/prefs/associatedDomain\": {\n      \"delete\": {\n        \"operationId\": \"deleteOrganizationsPrefsAssociatedDomainByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteOrganizationsPrefsAssociatedDomainByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateOrganizationsPrefsAssociatedDomainByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"The google apps domain to link this org to.\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Associated Domain\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsPrefsAssociatedDomainByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/prefs/boardVisibilityRestrict/org\": {\n      \"put\": {\n        \"operationId\": \"updateOrganizationsPrefsBoardVisibilityRestrictOrgByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: admin, none or org\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Board Visibility Restrict\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsPrefsBoardVisibilityRestrictOrgByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/prefs/boardVisibilityRestrict/private\": {\n      \"put\": {\n        \"operationId\": \"updateOrganizationsPrefsBoardVisibilityRestrictPrivateByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: admin, none or org\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Board Visibility Restrict\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsPrefsBoardVisibilityRestrictPrivateByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/prefs/boardVisibilityRestrict/public\": {\n      \"put\": {\n        \"operationId\": \"updateOrganizationsPrefsBoardVisibilityRestrictPublicByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: admin, none or org\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Board Visibility Restrict\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsPrefsBoardVisibilityRestrictPublicByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/prefs/externalMembersDisabled\": {\n      \"put\": {\n        \"operationId\": \"updateOrganizationsPrefsExternalMembersDisabledByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs External Members Disabled\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsPrefsExternalMembersDisabledByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/prefs/googleAppsVersion\": {\n      \"put\": {\n        \"operationId\": \"updateOrganizationsPrefsGoogleAppsVersionByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a number from 1 to 2\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Google Apps Version\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsPrefsGoogleAppsVersionByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/prefs/orgInviteRestrict\": {\n      \"delete\": {\n        \"operationId\": \"deleteOrganizationsPrefsOrgInviteRestrictByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An email address with optional expansion tokens\",\n            \"in\": \"query\",\n            \"name\": \"value\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteOrganizationsPrefsOrgInviteRestrictByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateOrganizationsPrefsOrgInviteRestrictByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"An email address with optional expansion tokens\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Org Invite Restrict\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsPrefsOrgInviteRestrictByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/prefs/permissionLevel\": {\n      \"put\": {\n        \"operationId\": \"updateOrganizationsPrefsPermissionLevelByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: private or public\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"board\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Prefs Permission Level\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsPrefsPermissionLevelByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/website\": {\n      \"put\": {\n        \"operationId\": \"updateOrganizationsWebsiteByIdOrg\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A URL starting with http:// or https:// or null\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"organization\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Organizations Website\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateOrganizationsWebsiteByIdOrg()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/organizations/{idOrg}/{field}\": {\n      \"get\": {\n        \"operationId\": \"getOrganizationsByIdOrgByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idOrg or name\",\n            \"in\": \"path\",\n            \"name\": \"idOrg\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getOrganizationsByIdOrgByField()\",\n        \"tags\": [\n          \"organization\"\n        ]\n      }\n    },\n    \"/search\": {\n      \"get\": {\n        \"operationId\": \"getSearch\",\n        \"parameters\": [\n          {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"in\": \"query\",\n            \"name\": \"query\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A comma-separated list of objectIds, 24-character hex strings\",\n            \"in\": \"query\",\n            \"name\": \"idBoards\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"mine\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A comma-separated list of objectIds, 24-character hex strings\",\n            \"in\": \"query\",\n            \"name\": \"idOrganizations\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A comma-separated list of objectIds, 24-character hex strings\",\n            \"in\": \"query\",\n            \"name\": \"idCards\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: actions, boards, cards, members or organizations\",\n            \"in\": \"query\",\n            \"name\": \"modelTypes\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"board_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name and idOrganization\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 1 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"boards_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"10\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idAttachmentCover, idBoard, idChecklists, idLabels, idList, idMembers, idMembersVoted, idShort, labels, manualCoverAttachment, name, pos, shortLink, shortUrl, subscribed or url\",\n            \"in\": \"query\",\n            \"name\": \"card_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 1 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"cards_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"10\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 0 to 100\",\n            \"in\": \"query\",\n            \"name\": \"cards_page\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"0\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"card_board\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"card_list\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"card_members\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"card_stickers\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean value or &quot;cover&quot; for only card cover attachments\",\n            \"in\": \"query\",\n            \"name\": \"card_attachments\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url or website\",\n            \"in\": \"query\",\n            \"name\": \"organization_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"name and displayName\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 1 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"organizations_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"10\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"in\": \"query\",\n            \"name\": \"member_fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"avatarHash, fullName, initials, username and confirmed\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 1 to 1000\",\n            \"in\": \"query\",\n            \"name\": \"members_limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"10\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"partial\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getSearch()\",\n        \"tags\": [\n          \"search\"\n        ]\n      }\n    },\n    \"/search/members\": {\n      \"get\": {\n        \"operationId\": \"getSearchMembers\",\n        \"parameters\": [\n          {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"in\": \"query\",\n            \"name\": \"query\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"a number from 1 to 20\",\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"8\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An id, or null\",\n            \"in\": \"query\",\n            \"name\": \"idBoard\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"An id, or null\",\n            \"in\": \"query\",\n            \"name\": \"idOrganization\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"A boolean\",\n            \"in\": \"query\",\n            \"name\": \"onlyOrgMembers\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getSearchMembers()\",\n        \"tags\": [\n          \"search\"\n        ]\n      }\n    },\n    \"/sessions\": {\n      \"post\": {\n        \"operationId\": \"addSessions\",\n        \"parameters\": [\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"idBoard\": {\n                    \"description\": \"The id of the board you&#39;re viewing.  Boards with no viewers will not get updates about members&#39; statuses.\",\n                    \"type\": \"string\"\n                  },\n                  \"status\": {\n                    \"description\": \"One of: active, disconnected or idle\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"session\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Sessions\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addSessions()\",\n        \"tags\": [\n          \"session\"\n        ]\n      }\n    },\n    \"/sessions/socket\": {\n      \"get\": {\n        \"description\": \"This is the route for WebSocket requests.  See the socket API reference for a description of WebSocket usage.\",\n        \"operationId\": \"getSessionsSocket\",\n        \"parameters\": [\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getSessionsSocket()\",\n        \"tags\": [\n          \"session\"\n        ]\n      }\n    },\n    \"/sessions/{idSession}\": {\n      \"put\": {\n        \"operationId\": \"updateSessionsByIdSession\",\n        \"parameters\": [\n          {\n            \"description\": \"idSession\",\n            \"in\": \"path\",\n            \"name\": \"idSession\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"idBoard\": {\n                    \"description\": \"The id of the board you&#39;re viewing.  Boards with no viewers will not get updates about members&#39; statuses.\",\n                    \"type\": \"string\"\n                  },\n                  \"status\": {\n                    \"description\": \"One of: active, disconnected or idle\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"session\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Sessions\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateSessionsByIdSession()\",\n        \"tags\": [\n          \"session\"\n        ]\n      }\n    },\n    \"/sessions/{idSession}/status\": {\n      \"put\": {\n        \"operationId\": \"updateSessionsStatusByIdSession\",\n        \"parameters\": [\n          {\n            \"description\": \"idSession\",\n            \"in\": \"path\",\n            \"name\": \"idSession\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"One of: active, disconnected or idle\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"session\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Sessions Status\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateSessionsStatusByIdSession()\",\n        \"tags\": [\n          \"session\"\n        ]\n      }\n    },\n    \"/tokens/{token}\": {\n      \"delete\": {\n        \"operationId\": \"deleteTokensByToken\",\n        \"parameters\": [\n          {\n            \"description\": \"token\",\n            \"in\": \"path\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteTokensByToken()\",\n        \"tags\": [\n          \"token\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getTokensByToken\",\n        \"parameters\": [\n          {\n            \"description\": \"token\",\n            \"in\": \"path\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: dateCreated, dateExpires, idMember, identifier or permissions\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \" true or false\",\n            \"in\": \"query\",\n            \"name\": \"webhooks\",\n            \"required\": false,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getTokensByToken()\",\n        \"tags\": [\n          \"token\"\n        ]\n      }\n    },\n    \"/tokens/{token}/member\": {\n      \"get\": {\n        \"operationId\": \"getTokensMemberByToken\",\n        \"parameters\": [\n          {\n            \"description\": \"token\",\n            \"in\": \"path\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"all or a comma-separated list of: avatarHash, avatarSource, bio, bioData, confirmed, email, fullName, gravatarHash, idBoards, idBoardsPinned, idOrganizations, idPremOrgsAdmin, initials, loginTypes, memberType, oneTimeMessagesDismissed, prefs, premiumFeatures, products, status, status, trophies, uploadedAvatarHash, url or username\",\n            \"in\": \"query\",\n            \"name\": \"fields\",\n            \"required\": false,\n            \"schema\": {\n              \"default\": \"all\",\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getTokensMemberByToken()\",\n        \"tags\": [\n          \"token\"\n        ]\n      }\n    },\n    \"/tokens/{token}/member/{field}\": {\n      \"get\": {\n        \"operationId\": \"getTokensMemberByTokenByField\",\n        \"parameters\": [\n          {\n            \"description\": \"token\",\n            \"in\": \"path\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getTokensMemberByTokenByField()\",\n        \"tags\": [\n          \"token\"\n        ]\n      }\n    },\n    \"/tokens/{token}/webhooks\": {\n      \"get\": {\n        \"operationId\": \"getTokensWebhooksByToken\",\n        \"parameters\": [\n          {\n            \"description\": \"token\",\n            \"in\": \"path\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getTokensWebhooksByToken()\",\n        \"tags\": [\n          \"token\"\n        ]\n      },\n      \"post\": {\n        \"operationId\": \"addTokensWebhooksByToken\",\n        \"parameters\": [\n          {\n            \"description\": \"token\",\n            \"in\": \"path\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"callbackURL\": {\n                    \"description\": \"A valid URL that is reachable with a HEAD request\",\n                    \"type\": \"string\"\n                  },\n                  \"description\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"idModel\": {\n                    \"description\": \"id of the model to be monitored\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"token\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Tokens Webhooks\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addTokensWebhooksByToken()\",\n        \"tags\": [\n          \"token\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateTokensWebhooksByToken\",\n        \"parameters\": [\n          {\n            \"description\": \"token\",\n            \"in\": \"path\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"callbackURL\": {\n                    \"description\": \"A valid URL that is reachable with a HEAD request\",\n                    \"type\": \"string\"\n                  },\n                  \"description\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"idModel\": {\n                    \"description\": \"id of the model to be monitored\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"token\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Tokens Webhooks\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateTokensWebhooksByToken()\",\n        \"tags\": [\n          \"token\"\n        ]\n      }\n    },\n    \"/tokens/{token}/webhooks/{idWebhook}\": {\n      \"delete\": {\n        \"operationId\": \"deleteTokensWebhooksByTokenByIdWebhook\",\n        \"parameters\": [\n          {\n            \"description\": \"token\",\n            \"in\": \"path\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idWebhook\",\n            \"in\": \"path\",\n            \"name\": \"idWebhook\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteTokensWebhooksByTokenByIdWebhook()\",\n        \"tags\": [\n          \"token\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getTokensWebhooksByTokenByIdWebhook\",\n        \"parameters\": [\n          {\n            \"description\": \"token\",\n            \"in\": \"path\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"idWebhook\",\n            \"in\": \"path\",\n            \"name\": \"idWebhook\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getTokensWebhooksByTokenByIdWebhook()\",\n        \"tags\": [\n          \"token\"\n        ]\n      }\n    },\n    \"/tokens/{token}/{field}\": {\n      \"get\": {\n        \"operationId\": \"getTokensByTokenByField\",\n        \"parameters\": [\n          {\n            \"description\": \"token\",\n            \"in\": \"path\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getTokensByTokenByField()\",\n        \"tags\": [\n          \"token\"\n        ]\n      }\n    },\n    \"/types/{id}\": {\n      \"get\": {\n        \"operationId\": \"getTypesById\",\n        \"parameters\": [\n          {\n            \"description\": \"id\",\n            \"in\": \"path\",\n            \"name\": \"id\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getTypesById()\",\n        \"tags\": [\n          \"type\"\n        ]\n      }\n    },\n    \"/webhooks\": {\n      \"post\": {\n        \"operationId\": \"addWebhooks\",\n        \"parameters\": [\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"active\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"callbackURL\": {\n                    \"description\": \"A valid URL that is reachable with a HEAD request\",\n                    \"type\": \"string\"\n                  },\n                  \"description\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"idModel\": {\n                    \"description\": \"id of the model that should be hooked\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"webhook\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Webhooks\\\" to be added.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"addWebhooks()\",\n        \"tags\": [\n          \"webhook\"\n        ]\n      }\n    },\n    \"/webhooks/\": {\n      \"put\": {\n        \"operationId\": \"updateWebhooks\",\n        \"parameters\": [\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"active\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"callbackURL\": {\n                    \"description\": \"A valid URL that is reachable with a HEAD request\",\n                    \"type\": \"string\"\n                  },\n                  \"description\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"idModel\": {\n                    \"description\": \"id of the model that should be hooked\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"webhook\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Webhooks\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateWebhooks()\",\n        \"tags\": [\n          \"webhook\"\n        ]\n      }\n    },\n    \"/webhooks/{idWebhook}\": {\n      \"delete\": {\n        \"operationId\": \"deleteWebhooksByIdWebhook\",\n        \"parameters\": [\n          {\n            \"description\": \"idWebhook\",\n            \"in\": \"path\",\n            \"name\": \"idWebhook\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"deleteWebhooksByIdWebhook()\",\n        \"tags\": [\n          \"webhook\"\n        ]\n      },\n      \"get\": {\n        \"operationId\": \"getWebhooksByIdWebhook\",\n        \"parameters\": [\n          {\n            \"description\": \"idWebhook\",\n            \"in\": \"path\",\n            \"name\": \"idWebhook\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"getWebhooksByIdWebhook()\",\n        \"tags\": [\n          \"webhook\"\n        ]\n      },\n      \"put\": {\n        \"operationId\": \"updateWebhooksByIdWebhook\",\n        \"parameters\": [\n          {\n            \"description\": \"idWebhook\",\n            \"in\": \"path\",\n            \"name\": \"idWebhook\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"active\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  },\n                  \"callbackURL\": {\n                    \"description\": \"A valid URL that is reachable with a HEAD request\",\n                    \"type\": \"string\"\n                  },\n                  \"description\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  },\n                  \"idModel\": {\n                    \"description\": \"id of the model that should be hooked\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"webhook\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Webhooks\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateWebhooksByIdWebhook()\",\n        \"tags\": [\n          \"webhook\"\n        ]\n      }\n    },\n    \"/webhooks/{idWebhook}/active\": {\n      \"put\": {\n        \"operationId\": \"updateWebhooksActiveByIdWebhook\",\n        \"parameters\": [\n          {\n            \"description\": \"idWebhook\",\n            \"in\": \"path\",\n            \"name\": \"idWebhook\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \" true or false\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"webhook\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Webhooks Active\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateWebhooksActiveByIdWebhook()\",\n        \"tags\": [\n          \"webhook\"\n        ]\n      }\n    },\n    \"/webhooks/{idWebhook}/callbackURL\": {\n      \"put\": {\n        \"operationId\": \"updateWebhooksCallbackURLByIdWebhook\",\n        \"parameters\": [\n          {\n            \"description\": \"idWebhook\",\n            \"in\": \"path\",\n            \"name\": \"idWebhook\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"A valid URL that is reachable with a HEAD request\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"webhook\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Webhooks Callback Url\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateWebhooksCallbackURLByIdWebhook()\",\n        \"tags\": [\n          \"webhook\"\n        ]\n      }\n    },\n    \"/webhooks/{idWebhook}/description\": {\n      \"put\": {\n        \"operationId\": \"updateWebhooksDescriptionByIdWebhook\",\n        \"parameters\": [\n          {\n            \"description\": \"idWebhook\",\n            \"in\": \"path\",\n            \"name\": \"idWebhook\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"a string with a length from 0 to 16384\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"webhook\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Webhooks Description\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateWebhooksDescriptionByIdWebhook()\",\n        \"tags\": [\n          \"webhook\"\n        ]\n      }\n    },\n    \"/webhooks/{idWebhook}/idModel\": {\n      \"put\": {\n        \"operationId\": \"updateWebhooksIdModelByIdWebhook\",\n        \"parameters\": [\n          {\n            \"description\": \"idWebhook\",\n            \"in\": \"path\",\n            \"name\": \"idWebhook\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"id of the model to be monitored\",\n                    \"type\": \"string\"\n                  }\n                },\n                \"type\": \"object\",\n                \"xml\": {\n                  \"name\": \"webhook\"\n                }\n              }\n            }\n          },\n          \"description\": \"Attributes of \\\"Webhooks Id Model\\\" to be updated.\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"security\": [\n          {\n            \"api_key\": []\n          },\n          {\n            \"api_token\": []\n          }\n        ],\n        \"summary\": \"updateWebhooksIdModelByIdWebhook()\",\n        \"tags\": [\n          \"webhook\"\n        ]\n      }\n    },\n    \"/webhooks/{idWebhook}/{field}\": {\n      \"get\": {\n        \"operationId\": \"getWebhooksByIdWebhookByField\",\n        \"parameters\": [\n          {\n            \"description\": \"idWebhook\",\n            \"in\": \"path\",\n            \"name\": \"idWebhook\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"field\",\n            \"in\": \"path\",\n            \"name\": \"field\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/1/appKey/generate\\\"  target=\\\"_blank\\\">Generate your application key</a>\",\n            \"in\": \"query\",\n            \"name\": \"key\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"description\": \"<a href=\\\"https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user\\\"  target=\\\"_blank\\\">Getting a token from a user</a>\",\n            \"in\": \"query\",\n            \"name\": \"token\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Success\"\n          },\n          \"400\": {\n            \"description\": \"Server rejection\"\n          }\n        },\n        \"summary\": \"getWebhooksByIdWebhookByField()\",\n        \"tags\": [\n          \"webhook\"\n        ]\n      }\n    }\n  },\n  \"components\": {\n    \"requestBodies\": {\n      \"boards_members\": {\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"properties\": {\n                \"email\": {\n                  \"description\": \"An email address\",\n                  \"type\": \"string\"\n                },\n                \"fullName\": {\n                  \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n                  \"type\": \"string\"\n                },\n                \"type\": {\n                  \"description\": \"One of: admin, normal or observer\",\n                  \"type\": \"string\"\n                }\n              },\n              \"type\": \"object\",\n              \"xml\": {\n                \"name\": \"board\"\n              }\n            }\n          }\n        },\n        \"description\": \"Attributes of \\\"Boards Members\\\" to be updated.\",\n        \"required\": true\n      },\n      \"organizations_members\": {\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"properties\": {\n                \"email\": {\n                  \"description\": \"An email address\",\n                  \"type\": \"string\"\n                },\n                \"fullName\": {\n                  \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n                  \"type\": \"string\"\n                },\n                \"type\": {\n                  \"description\": \"One of: admin, normal or observer\",\n                  \"type\": \"string\"\n                }\n              },\n              \"type\": \"object\",\n              \"xml\": {\n                \"name\": \"organization\"\n              }\n            }\n          }\n        },\n        \"description\": \"Attributes of \\\"Organizations Members\\\" to be updated.\",\n        \"required\": true\n      },\n      \"prefs_boardVisibilityRestrict\": {\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"properties\": {\n                \"value\": {\n                  \"description\": \"One of: admin, none or org\",\n                  \"type\": \"string\"\n                }\n              },\n              \"type\": \"object\",\n              \"xml\": {\n                \"name\": \"organization\"\n              }\n            }\n          }\n        },\n        \"description\": \"Attributes of \\\"Prefs Board Visibility Restrict\\\" to be updated.\",\n        \"required\": true\n      },\n      \"prefs_permissionLevel\": {\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"properties\": {\n                \"value\": {\n                  \"description\": \"One of: private or public\",\n                  \"type\": \"string\"\n                }\n              },\n              \"type\": \"object\",\n              \"xml\": {\n                \"name\": \"board\"\n              }\n            }\n          }\n        },\n        \"description\": \"Attributes of \\\"Prefs Permission Level\\\" to be updated.\",\n        \"required\": true\n      },\n      \"webhooks\": {\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"properties\": {\n                \"active\": {\n                  \"description\": \" true or false\",\n                  \"type\": \"string\"\n                },\n                \"callbackURL\": {\n                  \"description\": \"A valid URL that is reachable with a HEAD request\",\n                  \"type\": \"string\"\n                },\n                \"description\": {\n                  \"description\": \"a string with a length from 0 to 16384\",\n                  \"type\": \"string\"\n                },\n                \"idModel\": {\n                  \"description\": \"id of the model that should be hooked\",\n                  \"type\": \"string\"\n                }\n              },\n              \"type\": \"object\",\n              \"xml\": {\n                \"name\": \"webhook\"\n              }\n            }\n          }\n        },\n        \"description\": \"Attributes of \\\"Webhooks\\\" to be updated.\",\n        \"required\": true\n      }\n    },\n    \"schemas\": {\n      \"actions\": {\n        \"properties\": {\n          \"text\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"action\"\n        }\n      },\n      \"actions_comments\": {\n        \"properties\": {\n          \"text\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"actions_text\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"action\"\n        }\n      },\n      \"boards\": {\n        \"properties\": {\n          \"closed\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"desc\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"idBoardSource\": {\n            \"description\": \"The id of the board to copy into the new board\",\n            \"type\": \"string\"\n          },\n          \"idOrganization\": {\n            \"description\": \"The id or name of the organization to add the board to.\",\n            \"type\": \"string\"\n          },\n          \"keepFromSource\": {\n            \"description\": \"Components of the source board to copy.\",\n            \"type\": \"string\"\n          },\n          \"labelNames/blue\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"labelNames/green\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"labelNames/orange\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"labelNames/purple\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"labelNames/red\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"labelNames/yellow\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          },\n          \"powerUps\": {\n            \"description\": \"all or a comma-separated list of: calendar, cardAging, recap or voting\",\n            \"type\": \"string\"\n          },\n          \"prefs/background\": {\n            \"description\": \"A standard background name, or the id of a custom background\",\n            \"type\": \"string\"\n          },\n          \"prefs/calendarFeedEnabled\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"prefs/cardAging\": {\n            \"description\": \"One of: pirate or regular\",\n            \"type\": \"string\"\n          },\n          \"prefs/cardCovers\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"prefs/comments\": {\n            \"description\": \"One of: disabled, members, observers, org or public\",\n            \"type\": \"string\"\n          },\n          \"prefs/invitations\": {\n            \"description\": \"One of: admins or members\",\n            \"type\": \"string\"\n          },\n          \"prefs/permissionLevel\": {\n            \"description\": \"One of: org, private or public\",\n            \"type\": \"string\"\n          },\n          \"prefs/selfJoin\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"prefs/voting\": {\n            \"description\": \"One of: disabled, members, observers, org or public\",\n            \"type\": \"string\"\n          },\n          \"prefs_background\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"prefs_cardAging\": {\n            \"description\": \"One of: pirate or regular\",\n            \"type\": \"string\"\n          },\n          \"prefs_cardCovers\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"prefs_comments\": {\n            \"description\": \"One of: disabled, members, observers, org or public\",\n            \"type\": \"string\"\n          },\n          \"prefs_invitations\": {\n            \"description\": \"One of: admins or members\",\n            \"type\": \"string\"\n          },\n          \"prefs_permissionLevel\": {\n            \"description\": \"One of: org, private or public\",\n            \"type\": \"string\"\n          },\n          \"prefs_selfJoin\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"prefs_voting\": {\n            \"description\": \"One of: disabled, members, observers, org or public\",\n            \"type\": \"string\"\n          },\n          \"subscribed\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"boards_checklists\": {\n        \"properties\": {\n          \"name\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"boards_closed\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"boards_desc\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"boards_idOrganization\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"boards_labels\": {\n        \"properties\": {\n          \"color\": {\n            \"description\": \"A valid label color or null\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"boards_lists\": {\n        \"properties\": {\n          \"name\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          },\n          \"pos\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"boards_members\": {\n        \"properties\": {\n          \"email\": {\n            \"description\": \"An email address\",\n            \"type\": \"string\"\n          },\n          \"fullName\": {\n            \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n            \"type\": \"string\"\n          },\n          \"type\": {\n            \"description\": \"One of: admin, normal or observer\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"boards_memberships\": {\n        \"properties\": {\n          \"member_fields\": {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"type\": \"string\"\n          },\n          \"type\": {\n            \"description\": \"One of: admin, normal or observer\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"boards_name\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"boards_powerUps\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"One of: calendar, cardAging, recap or voting\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"boards_subscribed\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"cards\": {\n        \"properties\": {\n          \"closed\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"desc\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"due\": {\n            \"description\": \"A date, or null\",\n            \"type\": \"string\"\n          },\n          \"fileSource\": {\n            \"description\": \"A file\",\n            \"type\": \"string\"\n          },\n          \"idAttachmentCover\": {\n            \"description\": \"Id of the image attachment of this card to use as its cover, or null for no cover\",\n            \"type\": \"string\"\n          },\n          \"idBoard\": {\n            \"description\": \"id of the board the card should be moved to\",\n            \"type\": \"string\"\n          },\n          \"idCardSource\": {\n            \"description\": \"The id of the card to copy into a new card.\",\n            \"type\": \"string\"\n          },\n          \"idLabels\": {\n            \"description\": \"A comma-separated list of objectIds, 24-character hex strings\",\n            \"type\": \"string\"\n          },\n          \"idList\": {\n            \"description\": \"id of the list that the card should be added to\",\n            \"type\": \"string\"\n          },\n          \"idMembers\": {\n            \"description\": \"A comma-separated list of objectIds, 24-character hex strings\",\n            \"type\": \"string\"\n          },\n          \"keepFromSource\": {\n            \"description\": \"Properties of the card to copy over from the source.\",\n            \"type\": \"string\"\n          },\n          \"labels\": {\n            \"description\": \"all or a comma-separated list of: blue, green, orange, purple, red or yellow\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"The name of the new card.  It isn&#39;t required if the name is being copied from provided by a URL, file or card that is being copied.\",\n            \"type\": \"string\"\n          },\n          \"pos\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          },\n          \"subscribed\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"urlSource\": {\n            \"description\": \"A URL starting with http:// or https:// or null\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_actions_comments\": {\n        \"properties\": {\n          \"text\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_attachments\": {\n        \"properties\": {\n          \"file\": {\n            \"description\": \"A file\",\n            \"type\": \"string\"\n          },\n          \"mimeType\": {\n            \"description\": \"a string with a length from 0 to 256\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 0 to 256\",\n            \"type\": \"string\"\n          },\n          \"url\": {\n            \"description\": \"A URL starting with http:// or https:// or null\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_checklist_checkItem\": {\n        \"properties\": {\n          \"name\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          },\n          \"pos\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_checklist_checkItem_name\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_checklist_checkItem_pos\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_checklist_checkItem_state\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"One of: complete, false, incomplete or true\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_checklist_idChecklistCurrent_checkItem\": {\n        \"properties\": {\n          \"idChecklist\": {\n            \"description\": \"An id, or null\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          },\n          \"pos\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          },\n          \"state\": {\n            \"description\": \"One of: complete, false, incomplete or true\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_checklists\": {\n        \"properties\": {\n          \"idChecklistSource\": {\n            \"description\": \"The id of the source checklist to copy into a new checklist.\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"value\": {\n            \"description\": \"The id of the checklist to add to the card, or null to create a new one.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_closed\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_desc\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_due\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A date, or null\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_idAttachmentCover\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"Id of the image attachment of this card to use as its cover, or null for no cover\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_idBoard\": {\n        \"properties\": {\n          \"idList\": {\n            \"description\": \"id of the list that the card should be moved to on the new board\",\n            \"type\": \"string\"\n          },\n          \"value\": {\n            \"description\": \"id of the board the card should be moved to\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_idLabels\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"The id of the label to add\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_idList\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"id of the list the card should be moved to\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_idMembers\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"The id of the member to add to the card\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_labels\": {\n        \"properties\": {\n          \"color\": {\n            \"description\": \"A valid label color or null\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"value\": {\n            \"description\": \"all or a comma-separated list of: blue, green, orange, purple, red or yellow\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_membersVoted\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"The id of the member to vote &#39;yes&#39; on the card\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_name\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_pos\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_stickers\": {\n        \"properties\": {\n          \"image\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"left\": {\n            \"description\": \"undefined\",\n            \"type\": \"string\"\n          },\n          \"rotate\": {\n            \"description\": \"undefined\",\n            \"type\": \"string\"\n          },\n          \"top\": {\n            \"description\": \"undefined\",\n            \"type\": \"string\"\n          },\n          \"zIndex\": {\n            \"description\": \"Valid Z values for stickers, must be an integer\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"cards_subscribed\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"card\"\n        }\n      },\n      \"checklists\": {\n        \"properties\": {\n          \"idBoard\": {\n            \"description\": \"id of the board that the checklist should be added to\",\n            \"type\": \"string\"\n          },\n          \"idCard\": {\n            \"description\": \"id of the card that the checklist should be added to\",\n            \"type\": \"string\"\n          },\n          \"idChecklistSource\": {\n            \"description\": \"The id of the source checklist to copy into a new checklist.\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"pos\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"checklist\"\n        }\n      },\n      \"checklists_checkItems\": {\n        \"properties\": {\n          \"checked\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          },\n          \"pos\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"checklist\"\n        }\n      },\n      \"checklists_idCard\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"The id of the card that the checklist is on\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"checklist\"\n        }\n      },\n      \"checklists_name\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"checklist\"\n        }\n      },\n      \"checklists_pos\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"checklist\"\n        }\n      },\n      \"labelNames_blue\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"labelNames_green\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"labelNames_orange\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"labelNames_purple\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"labelNames_red\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"labelNames_yellow\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"labels\": {\n        \"properties\": {\n          \"color\": {\n            \"description\": \"A valid label color or null\",\n            \"type\": \"string\"\n          },\n          \"idBoard\": {\n            \"description\": \"An id\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"label\"\n        }\n      },\n      \"labels_color\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A valid label color or null\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"label\"\n        }\n      },\n      \"labels_name\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"label\"\n        }\n      },\n      \"lists\": {\n        \"properties\": {\n          \"closed\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"idBoard\": {\n            \"description\": \"id of the board that the list should be added to\",\n            \"type\": \"string\"\n          },\n          \"idListSource\": {\n            \"description\": \"The id of the list to copy into a new list.\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          },\n          \"pos\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          },\n          \"subscribed\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"list\"\n        }\n      },\n      \"lists_cards\": {\n        \"properties\": {\n          \"desc\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"due\": {\n            \"description\": \"A date, or null\",\n            \"type\": \"string\"\n          },\n          \"idMembers\": {\n            \"description\": \"A comma-separated list of objectIds, 24-character hex strings\",\n            \"type\": \"string\"\n          },\n          \"labels\": {\n            \"description\": \"all or a comma-separated list of: blue, green, orange, purple, red or yellow\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"list\"\n        }\n      },\n      \"lists_closed\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"list\"\n        }\n      },\n      \"lists_idBoard\": {\n        \"properties\": {\n          \"pos\": {\n            \"description\": \"position of the list on the new board\",\n            \"type\": \"string\"\n          },\n          \"value\": {\n            \"description\": \"id of the board the list should be moved to\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"list\"\n        }\n      },\n      \"lists_moveAllCards\": {\n        \"properties\": {\n          \"idBoard\": {\n            \"description\": \"id of the board that the cards should be moved to\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"list\"\n        }\n      },\n      \"lists_name\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"list\"\n        }\n      },\n      \"lists_pos\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"list\"\n        }\n      },\n      \"lists_subscribed\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"list\"\n        }\n      },\n      \"members\": {\n        \"properties\": {\n          \"avatarSource\": {\n            \"description\": \"One of: gravatar, none or upload\",\n            \"type\": \"string\"\n          },\n          \"bio\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"fullName\": {\n            \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n            \"type\": \"string\"\n          },\n          \"initials\": {\n            \"description\": \"A string with a length from 1 to 4.  Cannot begin or end with a space\",\n            \"type\": \"string\"\n          },\n          \"prefs/colorBlind\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"prefs/locale\": {\n            \"description\": \"a string with a length from 0 to 255\",\n            \"type\": \"string\"\n          },\n          \"prefs/minutesBetweenSummaries\": {\n            \"description\": \"-1 (disabled), 1 or 60\",\n            \"type\": \"string\"\n          },\n          \"username\": {\n            \"description\": \"A string with a length of at least 3.  Only lowercase letters, underscores, and numbers are allowed.  Must be unique.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_avatar\": {\n        \"properties\": {\n          \"file\": {\n            \"description\": \"A file\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_avatarSource\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"One of: gravatar, none or upload\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_bio\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_boardBackgrounds\": {\n        \"properties\": {\n          \"brightness\": {\n            \"description\": \"One of: dark, light or unknown\",\n            \"type\": \"string\"\n          },\n          \"file\": {\n            \"description\": \"A file\",\n            \"type\": \"string\"\n          },\n          \"tile\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_boardStars\": {\n        \"properties\": {\n          \"idBoard\": {\n            \"description\": \"The id of the board to star\",\n            \"type\": \"string\"\n          },\n          \"pos\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_boardStars_idBoard\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"An id\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_boardStars_pos\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_customBoardBackgrounds\": {\n        \"properties\": {\n          \"brightness\": {\n            \"description\": \"One of: dark, light or unknown\",\n            \"type\": \"string\"\n          },\n          \"file\": {\n            \"description\": \"A file\",\n            \"type\": \"string\"\n          },\n          \"tile\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_customEmoji\": {\n        \"properties\": {\n          \"file\": {\n            \"description\": \"A file\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 2 to 64\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_customStickers\": {\n        \"properties\": {\n          \"file\": {\n            \"description\": \"A file\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_fullName\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_initials\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A string with a length from 1 to 4.  Cannot begin or end with a space\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_oneTimeMessagesDismissed\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"Type of message dismissed\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_savedSearches\": {\n        \"properties\": {\n          \"name\": {\n            \"description\": \"A non-empty string with at least one non-space character\",\n            \"type\": \"string\"\n          },\n          \"pos\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          },\n          \"query\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_savedSearches_name\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A non-empty string with at least one non-space character\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_savedSearches_pos\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A position. top , bottom , or a positive number.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_savedSearches_query\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 1 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"members_username\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A string with a length of at least 3.  Only lowercase letters, underscores, and numbers are allowed.  Must be unique.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"myPrefs_emailPosition\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"One of: bottom or top\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"myPrefs_idEmailList\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"An id\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"myPrefs_showListGuide\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"myPrefs_showSidebar\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"myPrefs_showSidebarActivity\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"myPrefs_showSidebarBoardActions\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"myPrefs_showSidebarMembers\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"notifications\": {\n        \"properties\": {\n          \"unread\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"notification\"\n        }\n      },\n      \"notifications_unread\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"notification\"\n        }\n      },\n      \"organizations\": {\n        \"properties\": {\n          \"desc\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"displayName\": {\n            \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"prefs/associatedDomain\": {\n            \"description\": \"The google apps domain to link this org to.\",\n            \"type\": \"string\"\n          },\n          \"prefs/boardVisibilityRestrict/org\": {\n            \"description\": \"One of: admin, none or org\",\n            \"type\": \"string\"\n          },\n          \"prefs/boardVisibilityRestrict/private\": {\n            \"description\": \"One of: admin, none or org\",\n            \"type\": \"string\"\n          },\n          \"prefs/boardVisibilityRestrict/public\": {\n            \"description\": \"One of: admin, none or org\",\n            \"type\": \"string\"\n          },\n          \"prefs/externalMembersDisabled\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"prefs/googleAppsVersion\": {\n            \"description\": \"a number from 1 to 2\",\n            \"type\": \"string\"\n          },\n          \"prefs/orgInviteRestrict\": {\n            \"description\": \"An email address with optional expansion tokens\",\n            \"type\": \"string\"\n          },\n          \"prefs/permissionLevel\": {\n            \"description\": \"One of: private or public\",\n            \"type\": \"string\"\n          },\n          \"website\": {\n            \"description\": \"A URL starting with http:// or https:// or null\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"organizations_desc\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"organizations_displayName\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"organizations_logo\": {\n        \"properties\": {\n          \"file\": {\n            \"description\": \"A file\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"organizations_members\": {\n        \"properties\": {\n          \"email\": {\n            \"description\": \"An email address\",\n            \"type\": \"string\"\n          },\n          \"fullName\": {\n            \"description\": \"A string with a length of at least 1.  Cannot begin or end with a space.\",\n            \"type\": \"string\"\n          },\n          \"type\": {\n            \"description\": \"One of: admin, normal or observer\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"organizations_members_deactivated\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"organizations_memberships\": {\n        \"properties\": {\n          \"member_fields\": {\n            \"description\": \"all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url or username\",\n            \"type\": \"string\"\n          },\n          \"type\": {\n            \"description\": \"One of: admin, normal or observer\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"organizations_name\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A string with a length of at least 3.  Only lowercase letters, underscores, and numbers are allowed.  Must be unique.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"organizations_website\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A URL starting with http:// or https:// or null\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"prefs_associatedDomain\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"The google apps domain to link this org to.\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"prefs_background\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A standard background name, or the id of a custom background\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"prefs_boardVisibilityRestrict\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"One of: admin, none or org\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"prefs_calendarFeedEnabled\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"prefs_cardAging\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"One of: pirate or regular\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"prefs_cardCovers\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"prefs_colorBlind\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"prefs_comments\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"One of: disabled, members, observers, org or public\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"prefs_externalMembersDisabled\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"prefs_googleAppsVersion\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a number from 1 to 2\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"prefs_invitations\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"One of: admins or members\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"prefs_locale\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 255\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"prefs_minutesBetweenSummaries\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"-1 (disabled), 1 or 60\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"member\"\n        }\n      },\n      \"prefs_orgInviteRestrict\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"An email address with optional expansion tokens\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"organization\"\n        }\n      },\n      \"prefs_permissionLevel\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"One of: private or public\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"prefs_selfJoin\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"prefs_voting\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"One of: disabled, members, observers, org or public\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"board\"\n        }\n      },\n      \"sessions\": {\n        \"properties\": {\n          \"idBoard\": {\n            \"description\": \"The id of the board you&#39;re viewing.  Boards with no viewers will not get updates about members&#39; statuses.\",\n            \"type\": \"string\"\n          },\n          \"status\": {\n            \"description\": \"One of: active, disconnected or idle\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"session\"\n        }\n      },\n      \"sessions_status\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"One of: active, disconnected or idle\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"session\"\n        }\n      },\n      \"tokens_webhooks\": {\n        \"properties\": {\n          \"callbackURL\": {\n            \"description\": \"A valid URL that is reachable with a HEAD request\",\n            \"type\": \"string\"\n          },\n          \"description\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"idModel\": {\n            \"description\": \"id of the model to be monitored\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"token\"\n        }\n      },\n      \"webhooks\": {\n        \"properties\": {\n          \"active\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          },\n          \"callbackURL\": {\n            \"description\": \"A valid URL that is reachable with a HEAD request\",\n            \"type\": \"string\"\n          },\n          \"description\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          },\n          \"idModel\": {\n            \"description\": \"id of the model that should be hooked\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"webhook\"\n        }\n      },\n      \"webhooks_active\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \" true or false\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"webhook\"\n        }\n      },\n      \"webhooks_callbackURL\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"A valid URL that is reachable with a HEAD request\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"webhook\"\n        }\n      },\n      \"webhooks_description\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"a string with a length from 0 to 16384\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"webhook\"\n        }\n      },\n      \"webhooks_idModel\": {\n        \"properties\": {\n          \"value\": {\n            \"description\": \"id of the model to be monitored\",\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\",\n        \"xml\": {\n          \"name\": \"webhook\"\n        }\n      }\n    },\n    \"securitySchemes\": {\n      \"api_key\": {\n        \"in\": \"query\",\n        \"name\": \"key\",\n        \"type\": \"apiKey\"\n      },\n      \"api_token\": {\n        \"in\": \"query\",\n        \"name\": \"token\",\n        \"type\": \"apiKey\"\n      }\n    }\n  }\n}"},{"id":"intercom","domain":"api.webflow.com","openapi":"{\n  \"openapi\": \"3.1.0\",\n  \"info\": {\n    \"version\": \"2.0.0\",\n    \"title\": \"Webflow Data API v2\",\n    \"description\": \"Webflow's Data API v2\",\n    \"termsOfService\": \"https://webflow.com/legal/terms\",\n    \"license\": {\n      \"name\": \"MIT\",\n      \"url\": \"https://opensource.org/licenses/MIT\"\n    }\n  },\n  \"servers\": [\n    {\n      \"url\": \"https://api.webflow.com/beta\"\n    }\n  ],\n  \"security\": [\n    {\n      \"OAuth2\": []\n    },\n    {\n      \"ApiKey\": []\n    }\n  ],\n  \"tags\": [\n    {\n      \"name\": \"Meta\"\n    },\n    {\n      \"name\": \"Sites\"\n    },\n    {\n      \"name\": \"Pages\"\n    },\n    {\n      \"name\": \"Collections\"\n    },\n    {\n      \"name\": \"Items\"\n    },\n    {\n      \"name\": \"Users\"\n    },\n    {\n      \"name\": \"Products & SKUs\"\n    },\n    {\n      \"name\": \"Orders\"\n    },\n    {\n      \"name\": \"Inventory\"\n    },\n    {\n      \"name\": \"Settings\"\n    },\n    {\n      \"name\": \"Webhooks\"\n    }\n  ],\n  \"paths\": {\n    \"/sites\": {\n      \"get\": {\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"sites:read\"\n            ]\n          }\n        ],\n        \"operationId\": \"list-sites\",\n        \"summary\": \"List Sites\",\n        \"description\": \"List of all sites the provided access token is able to access. </br></br> Required scope | `sites:read`\",\n        \"tags\": [\n          \"Sites\"\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"array\",\n                  \"description\": \"A list of Sites\",\n                  \"example\": [\n                    {\n                      \"id\": \"580e63e98c9a982ac9b8b741\",\n                      \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n                      \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n                      \"displayName\": \"api_docs_sample_json\",\n                      \"shortName\": \"api-docs-sample-json\",\n                      \"lastPublished\": \"2016-10-24T23:06:51.251Z\",\n                      \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241603.png\",\n                      \"timeZone\": \"America/Los_Angeles\"\n                    },\n                    {\n                      \"id\": \"580ff8c3ba3e45ba9fe588bb\",\n                      \"workspaceId\": \"580ff8c3ba3e45ba9fe588bf\",\n                      \"createdOn\": \"2016-10-26T00:28:54.191Z\",\n                      \"displayName\": \"Copy of api_docs_sample_json\",\n                      \"shortName\": \"api-docs-sample-json-086c6538f9b0583762\",\n                      \"lastPublished\": \"2022-10-26T00:28:54.191Z\",\n                      \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241603.png\",\n                      \"timeZone\": \"America/Los_Angeles\"\n                    },\n                    {\n                      \"id\": \"580ff8d7ba3e45ba9fe588e9\",\n                      \"workspaceId\": \"580ff8d7ba3e45ba9fe588ed\",\n                      \"createdOn\": \"2016-10-26T00:29:13.634Z\",\n                      \"displayName\": \"Copy of api_docs_sample_json\",\n                      \"shortName\": \"api-docs-sample-json-ce077aa6c5cd3e0177\",\n                      \"lastPublished\": \"2022-10-26T00:28:54.191Z\",\n                      \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241603.png\",\n                      \"timeZone\": \"America/Los_Angeles\"\n                    }\n                  ],\n                  \"items\": {\n                    \"example\": {\n                      \"id\": \"580e63e98c9a982ac9b8b741\",\n                      \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n                      \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n                      \"displayName\": \"api_docs_sample_json\",\n                      \"shortName\": \"api-docs-sample-json\",\n                      \"lastPublished\": \"2016-10-24T19:43:17.271Z\",\n                      \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\",\n                      \"timeZone\": \"America/Los_Angeles\"\n                    },\n                    \"required\": [\n                      \"_id\"\n                    ],\n                    \"properties\": {\n                      \"id\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Unique identifier for the Site\",\n                        \"example\": \"580e63e98c9a982ac9b8b741\"\n                      },\n                      \"workspaceId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Unique identifier for the Workspace\",\n                        \"example\": \"580e63e98c9a982ac9b8b741\"\n                      },\n                      \"createdOn\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\",\n                        \"description\": \"Date the site was created\",\n                        \"example\": \"2016-10-24T19:41:29.156Z\"\n                      },\n                      \"displayName\": {\n                        \"type\": \"string\",\n                        \"description\": \"Name given to site\",\n                        \"example\": \"api_docs_sample_json\"\n                      },\n                      \"shortName\": {\n                        \"type\": \"string\",\n                        \"description\": \"Slugified version of name\",\n                        \"example\": \"api-docs-sample-json\"\n                      },\n                      \"lastPublished\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\",\n                        \"description\": \"Date site was last published\",\n                        \"example\": \"2016-10-24T19:43:17.271Z\"\n                      },\n                      \"previewUrl\": {\n                        \"type\": \"string\",\n                        \"format\": \"uri\",\n                        \"description\": \"URL of a generated image for the given site\",\n                        \"example\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\"\n                      },\n                      \"timeZone\": {\n                        \"type\": \"string\",\n                        \"description\": \"Site timezone set under Site Settings\",\n                        \"example\": \"America/Los_Angeles\"\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      }\n    },\n    \"/sites/{site_id}\": {\n      \"get\": {\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"sites:read\"\n            ]\n          }\n        ],\n        \"operationId\": \"get-site\",\n        \"summary\": \"Get Site\",\n        \"description\": \"Get a site by site id </br></br>  Required scope | `sites:read`\",\n        \"tags\": [\n          \"Sites\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"id\": \"580e63e98c9a982ac9b8b741\",\n                    \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n                    \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n                    \"displayName\": \"api_docs_sample_json\",\n                    \"shortName\": \"api-docs-sample-json\",\n                    \"lastPublished\": \"2016-10-24T19:43:17.271Z\",\n                    \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\",\n                    \"timeZone\": \"America/Los_Angeles\"\n                  },\n                  \"required\": [\n                    \"_id\"\n                  ],\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"description\": \"Unique identifier for the Site\",\n                      \"example\": \"580e63e98c9a982ac9b8b741\"\n                    },\n                    \"workspaceId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"description\": \"Unique identifier for the Workspace\",\n                      \"example\": \"580e63e98c9a982ac9b8b741\"\n                    },\n                    \"createdOn\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"description\": \"Date the site was created\",\n                      \"example\": \"2016-10-24T19:41:29.156Z\"\n                    },\n                    \"displayName\": {\n                      \"type\": \"string\",\n                      \"description\": \"Name given to site\",\n                      \"example\": \"api_docs_sample_json\"\n                    },\n                    \"shortName\": {\n                      \"type\": \"string\",\n                      \"description\": \"Slugified version of name\",\n                      \"example\": \"api-docs-sample-json\"\n                    },\n                    \"lastPublished\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"description\": \"Date site was last published\",\n                      \"example\": \"2016-10-24T19:43:17.271Z\"\n                    },\n                    \"previewUrl\": {\n                      \"type\": \"string\",\n                      \"format\": \"uri\",\n                      \"description\": \"URL of a generated image for the given site\",\n                      \"example\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\"\n                    },\n                    \"timeZone\": {\n                      \"type\": \"string\",\n                      \"description\": \"Site timezone set under Site Settings\",\n                      \"example\": \"America/Los_Angeles\"\n                    }\n                  }\n                },\n                \"example\": {\n                  \"id\": \"580e63e98c9a982ac9b8b741\",\n                  \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n                  \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n                  \"displayName\": \"api_docs_sample_json\",\n                  \"shortName\": \"api-docs-sample-json\",\n                  \"lastPublished\": \"2016-10-24T19:43:17.271Z\",\n                  \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\",\n                  \"timeZone\": \"America/Los_Angeles\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      }\n    },\n    \"/sites/{site_id}/pages\": {\n      \"get\": {\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"read:pages\"\n            ]\n          }\n        ],\n        \"operationId\": \"list-pages\",\n        \"summary\": \"List Pages\",\n        \"description\": \"List of all pages for a site </br></br> Required scope | `sites:read`\",\n        \"tags\": [\n          \"Pages\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"description\": \"The Page object\",\n                  \"type\": \"object\",\n                  \"example\": {\n                    \"pagination\": {\n                      \"limit\": 20,\n                      \"offset\": 0,\n                      \"total\": 2\n                    },\n                    \"pages\": [\n                      {\n                        \"id\": \"6390c49774a71f0e3c1a08ee\",\n                        \"siteId\": \"6390c49674a71f84b51a08d8\",\n                        \"title\": \"Blog Categories Template\",\n                        \"slug\": \"detail_blog-category\",\n                        \"pageType\": \"dynamic\",\n                        \"collectionId\": \"6390c49774a71f12831a08e3\",\n                        \"createdOn\": \"2018-10-14T21:55:49.063Z\",\n                        \"lastUpdated\": \"2022-12-07T16:51:37.571Z\",\n                        \"archived\": false,\n                        \"draft\": false,\n                        \"canBranch\": true,\n                        \"isMembersOnly\": false,\n                        \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                        \"seoDesc\": \"This Webflow template offers a quick start into an ecommerce / memberships site\",\n                        \"openGraph\": {\n                          \"title\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                          \"titleCopied\": true,\n                          \"description\": \"This Webflow template offers a quick start into an ecommerce / memberships site\",\n                          \"descriptionCopied\": true\n                        }\n                      },\n                      {\n                        \"id\": \"6390c49774a71f99f21a08eb\",\n                        \"siteId\": \"6390c49674a71f84b51a08d8\",\n                        \"title\": \"Blog\",\n                        \"slug\": \"blog\",\n                        \"pageType\": \"static\",\n                        \"collectionId\": null,\n                        \"createdOn\": \"2018-10-12T17:56:16.411Z\",\n                        \"lastUpdated\": \"2022-12-07T16:57:16.406Z\",\n                        \"archived\": false,\n                        \"draft\": false,\n                        \"canBranch\": true,\n                        \"isMembersOnly\": false,\n                        \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                        \"seoDesc\": null,\n                        \"openGraph\": {\n                          \"title\": \"null,\",\n                          \"titleCopied\": \"true,\",\n                          \"description\": \"null,\",\n                          \"descriptionCopied\": true\n                        }\n                      }\n                    ]\n                  },\n                  \"properties\": {\n                    \"pagination\": {\n                      \"description\": \"Pagination object\",\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"limit\": {\n                          \"type\": \"number\",\n                          \"description\": \"The limit used for pagination\",\n                          \"example\": 100\n                        },\n                        \"offset\": {\n                          \"type\": \"number\",\n                          \"description\": \"The offset used for pagination\",\n                          \"example\": 0\n                        },\n                        \"total\": {\n                          \"type\": \"number\",\n                          \"description\": \"The total number of records\",\n                          \"example\": 100\n                        }\n                      }\n                    },\n                    \"pages\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"description\": \"The Page object\",\n                        \"type\": \"object\",\n                        \"required\": [\n                          \"pageId\"\n                        ],\n                        \"example\": null,\n                        \"properties\": {\n                          \"pageId\": {\n                            \"type\": \"string\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"description\": \"Unique identifier for page\",\n                            \"example\": \"63499e4e6e9ed5abbfe42b69\"\n                          },\n                          \"siteId\": {\n                            \"type\": \"string\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"description\": \"Unique identifier for a site\",\n                            \"example\": \"580e63e98c9a982ac9b8b741\"\n                          },\n                          \"title\": {\n                            \"type\": \"string\",\n                            \"description\": \"Title of the page\",\n                            \"example\": \"My New Page\"\n                          },\n                          \"slug\": {\n                            \"type\": \"string\",\n                            \"description\": \"slug of page\",\n                            \"example\": \"my-new-page\"\n                          },\n                          \"pageType\": {\n                            \"type\": \"string\",\n                            \"description\": \"indicator of whether the page is static or dynamic\",\n                            \"readOnly\": true,\n                            \"enum\": [\n                              \"dynamic\",\n                              \"static\"\n                            ],\n                            \"example\": \"dynamic\"\n                          },\n                          \"collectionId\": {\n                            \"type\": \"string\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"description\": \"Unique identifier for a collection, value will be null if the page is not part of a collection.\",\n                            \"example\": \"6390c49774a71f12831a08e3\"\n                          },\n                          \"createdOn\": {\n                            \"type\": \"string\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"description\": \"The date the page was created\",\n                            \"example\": \"2016-10-24T19:42:38.929Z\"\n                          },\n                          \"lastUpdated\": {\n                            \"type\": \"string\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"description\": \"The date the page was most recently updated\",\n                            \"example\": \"2016-10-24T19:42:38.929Z\"\n                          },\n                          \"archived\": {\n                            \"type\": \"boolean\",\n                            \"description\": \"page archive status\",\n                            \"default\": false,\n                            \"example\": false\n                          },\n                          \"draft\": {\n                            \"type\": \"boolean\",\n                            \"description\": \"page draft status\",\n                            \"default\": false,\n                            \"example\": false\n                          },\n                          \"canBranch\": {\n                            \"type\": \"boolean\",\n                            \"description\": \"indicates whether the page supports [Page Branching](https://www.google.com/search?q=webflow+page+branching&rlz=1C5GCEM_enUS1034US1034&oq=webflow+page+branc&aqs=chrome.0.0i512j69i57j0i390l3j69i64l3.10144j1j1&sourceid=chrome&ie=UTF-8)\",\n                            \"readOnly\": true,\n                            \"default\": false,\n                            \"example\": false\n                          },\n                          \"isMembersOnly\": {\n                            \"type\": \"boolean\",\n                            \"description\": \"indicates whether the page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)\",\n                            \"readOnly\": true,\n                            \"default\": false,\n                            \"example\": false\n                          },\n                          \"seoTitle\": {\n                            \"type\": \"string\",\n                            \"description\": \"SEO title tag\",\n                            \"example\": \"A search result\"\n                          },\n                          \"seoDesc\": {\n                            \"type\": \"string\",\n                            \"description\": \"An SEO meta description\",\n                            \"example\": \"This is the description that appears in the search result\"\n                          },\n                          \"openGraph\": {\n                            \"type\": \"object\",\n                            \"description\": \"Open Graph settings for the page\",\n                            \"properties\": {\n                              \"title\": {\n                                \"type\": \"string\",\n                                \"description\": \"Open Graph Title\",\n                                \"example\": \"This is the title that appears in a social graph\"\n                              },\n                              \"titleCopied\": {\n                                \"type\": \"boolean\",\n                                \"description\": \"Indicator if the Open Graph Title was copied from the SEO Title\",\n                                \"readOnly\": true,\n                                \"default\": true\n                              },\n                              \"description\": {\n                                \"type\": \"string\",\n                                \"description\": \"Open Graph Description\",\n                                \"example\": \"This is the description that appears in a social graph\"\n                              },\n                              \"descriptionCopied\": {\n                                \"type\": \"boolean\",\n                                \"description\": \"Indicator of whether the Open Graph description was copied from the SEO description\",\n                                \"readOnly\": true,\n                                \"default\": true\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      }\n    },\n    \"/pages/{page_id}\": {\n      \"get\": {\n        \"operationId\": \"get-page-metadata\",\n        \"summary\": \"Get Page Metadata\",\n        \"description\": \"Get metadata information for a single page </br></br> Required scope | `pages:read`\",\n        \"tags\": [\n          \"Pages\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"page_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Page\",\n            \"example\": \"63c720f9347c2139b248e552\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"description\": \"The Page object\",\n                  \"type\": \"object\",\n                  \"required\": [\n                    \"pageId\"\n                  ],\n                  \"example\": null,\n                  \"properties\": {\n                    \"pageId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"readOnly\": true,\n                      \"description\": \"Unique identifier for page\",\n                      \"example\": \"63499e4e6e9ed5abbfe42b69\"\n                    },\n                    \"siteId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"readOnly\": true,\n                      \"description\": \"Unique identifier for a site\",\n                      \"example\": \"580e63e98c9a982ac9b8b741\"\n                    },\n                    \"title\": {\n                      \"type\": \"string\",\n                      \"description\": \"Title of the page\",\n                      \"example\": \"My New Page\"\n                    },\n                    \"slug\": {\n                      \"type\": \"string\",\n                      \"description\": \"slug of page\",\n                      \"example\": \"my-new-page\"\n                    },\n                    \"pageType\": {\n                      \"type\": \"string\",\n                      \"description\": \"indicator of whether the page is static or dynamic\",\n                      \"readOnly\": true,\n                      \"enum\": [\n                        \"dynamic\",\n                        \"static\"\n                      ],\n                      \"example\": \"dynamic\"\n                    },\n                    \"collectionId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"readOnly\": true,\n                      \"description\": \"Unique identifier for a collection, value will be null if the page is not part of a collection.\",\n                      \"example\": \"6390c49774a71f12831a08e3\"\n                    },\n                    \"createdOn\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"readOnly\": true,\n                      \"description\": \"The date the page was created\",\n                      \"example\": \"2016-10-24T19:42:38.929Z\"\n                    },\n                    \"lastUpdated\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"readOnly\": true,\n                      \"description\": \"The date the page was most recently updated\",\n                      \"example\": \"2016-10-24T19:42:38.929Z\"\n                    },\n                    \"archived\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"page archive status\",\n                      \"default\": false,\n                      \"example\": false\n                    },\n                    \"draft\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"page draft status\",\n                      \"default\": false,\n                      \"example\": false\n                    },\n                    \"canBranch\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"indicates whether the page supports [Page Branching](https://www.google.com/search?q=webflow+page+branching&rlz=1C5GCEM_enUS1034US1034&oq=webflow+page+branc&aqs=chrome.0.0i512j69i57j0i390l3j69i64l3.10144j1j1&sourceid=chrome&ie=UTF-8)\",\n                      \"readOnly\": true,\n                      \"default\": false,\n                      \"example\": false\n                    },\n                    \"isMembersOnly\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"indicates whether the page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)\",\n                      \"readOnly\": true,\n                      \"default\": false,\n                      \"example\": false\n                    },\n                    \"seoTitle\": {\n                      \"type\": \"string\",\n                      \"description\": \"SEO title tag\",\n                      \"example\": \"A search result\"\n                    },\n                    \"seoDesc\": {\n                      \"type\": \"string\",\n                      \"description\": \"An SEO meta description\",\n                      \"example\": \"This is the description that appears in the search result\"\n                    },\n                    \"openGraph\": {\n                      \"type\": \"object\",\n                      \"description\": \"Open Graph settings for the page\",\n                      \"properties\": {\n                        \"title\": {\n                          \"type\": \"string\",\n                          \"description\": \"Open Graph Title\",\n                          \"example\": \"This is the title that appears in a social graph\"\n                        },\n                        \"titleCopied\": {\n                          \"type\": \"boolean\",\n                          \"description\": \"Indicator if the Open Graph Title was copied from the SEO Title\",\n                          \"readOnly\": true,\n                          \"default\": true\n                        },\n                        \"description\": {\n                          \"type\": \"string\",\n                          \"description\": \"Open Graph Description\",\n                          \"example\": \"This is the description that appears in a social graph\"\n                        },\n                        \"descriptionCopied\": {\n                          \"type\": \"boolean\",\n                          \"description\": \"Indicator of whether the Open Graph description was copied from the SEO description\",\n                          \"readOnly\": true,\n                          \"default\": true\n                        }\n                      }\n                    }\n                  }\n                },\n                \"example\": {\n                  \"id\": \"6390c49774a71f0e3c1a08ee\",\n                  \"siteId\": \"6390c49674a71f84b51a08d8\",\n                  \"title\": \"Blog Categories Template\",\n                  \"slug\": \"detail_blog-category\",\n                  \"pageType\": \"dynamic\",\n                  \"collectionId\": \"6390c49774a71f12831a08e3\",\n                  \"createdOn\": \"2018-10-14T21:55:49.063Z\",\n                  \"lastUpdated\": \"2022-12-07T16:51:37.571Z\",\n                  \"archived\": false,\n                  \"draft\": false,\n                  \"canBranch\": true,\n                  \"isMembersOnly\": false,\n                  \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                  \"seoDesc\": \"This Webflow template offers a quick start into an e-commerce / memberships site\",\n                  \"openGraph\": {\n                    \"title\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                    \"titleCopied\": true,\n                    \"description\": \"This Webflow template offers a quick start into an e-commerce / memberships site\",\n                    \"descriptionCopied\": true\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        },\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"read:pages\"\n            ]\n          }\n        ]\n      }\n    },\n    \"/sites/{site_id}/custom_code\": {\n      \"get\": {\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"custom_code:read\"\n            ]\n          }\n        ],\n        \"operationId\": \"get-custom-code\",\n        \"summary\": \"Get Custom Code\",\n        \"description\": \"Get custom code for a site </br></br> Required scope | `custom_code:read`\",\n        \"tags\": [\n          \"Custom Code\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"description\": \"Custom code to be added to the site\",\n                  \"properties\": {\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"description\": \"The code to be added to the site\",\n                      \"example\": \"<script src=\\\"https://cdnjs.com/webflow-app\\\"></script>\"\n                    },\n                    \"createdOn\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"description\": \"The timestamp the code was created\",\n                      \"example\": \"2022-12-07T16:51:37.571Z\"\n                    },\n                    \"lastUpdated\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"description\": \"The timestamp the code was last updated\",\n                      \"example\": \"2022-12-07T16:51:37.571Z\"\n                    }\n                  }\n                },\n                \"example\": {\n                  \"code\": \"<script src=\\\"https://cdnjs.com/webflow-app\\\"></script>\",\n                  \"createdOn\": \"2022-12-07T16:51:37.571Z\",\n                  \"lastUpdated\": \"2022-12-07T16:51:37.571Z\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      },\n      \"put\": {\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"custom_code:write\"\n            ]\n          }\n        ],\n        \"operationId\": \"write-custom-code\",\n        \"summary\": \"Write Custom Code\",\n        \"description\": \"Write custom code for a site </br></br> Required scope | `custom_code:write`\",\n        \"tags\": [\n          \"Custom Code\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"code\": {\n                    \"type\": \"string\",\n                    \"description\": \"The custom code to be written to the site\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"description\": \"Custom code to be added to the site\",\n                  \"properties\": {\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"description\": \"The code to be added to the site\",\n                      \"example\": \"<script src=\\\"https://cdnjs.com/webflow-app\\\"></script>\"\n                    },\n                    \"createdOn\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"description\": \"The timestamp the code was created\",\n                      \"example\": \"2022-12-07T16:51:37.571Z\"\n                    },\n                    \"lastUpdated\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"description\": \"The timestamp the code was last updated\",\n                      \"example\": \"2022-12-07T16:51:37.571Z\"\n                    }\n                  }\n                },\n                \"example\": {\n                  \"code\": \"<script src=\\\"https://cdnjs.com/webflow-app\\\"></script>\",\n                  \"createdOn\": \"2022-12-07T16:51:37.571Z\",\n                  \"lastUpdated\": \"2022-12-07T16:51:37.571Z\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"409\": {\n            \"description\": \"Max number of code blocks reached\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      },\n      \"delete\": {\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"custom_code:delete\"\n            ]\n          }\n        ],\n        \"operationId\": \"delete-custom-code\",\n        \"summary\": \"Delete Custom Code\",\n        \"description\": \"Delete custom code for a site </br></br> Required scope | `custom_code:write`\",\n        \"tags\": [\n          \"Custom Code\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"Request was successful\"\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      }\n    },\n    \"/sites/{site_id}/webhooks\": {\n      \"get\": {\n        \"operationId\": \"list-webhooks\",\n        \"summary\": \"List Webhooks\",\n        \"description\": \"List of all webhooks in a given site </br></br> Required scope | `webhooks:read`\",\n        \"tags\": [\n          \"Webhooks\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"description\": \"A list of active webhooks\",\n                  \"type\": \"array\",\n                  \"example\": {\n                    \"pagination\": {\n                      \"limit\": 20,\n                      \"offset\": 0,\n                      \"total\": 3\n                    },\n                    \"webhooks\": [\n                      {\n                        \"id\": \"57ca0a9e418c504a6e1acbb6\",\n                        \"triggerType\": \"form_submission\",\n                        \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                        \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                        \"filter\": {\n                          \"name\": \"Email Form\"\n                        },\n                        \"createdOn\": \"2016-09-02T23:26:22.241Z\",\n                        \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                        \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                      },\n                      {\n                        \"id\": \"578d85cce0c47cd2865f4cf2\",\n                        \"triggerType\": \"form_submission\",\n                        \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                        \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                        \"filter\": {\n                          \"name\": \"Email Form\"\n                        },\n                        \"createdOn\": \"2016-07-19T01:43:40.585Z\",\n                        \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                        \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                      },\n                      {\n                        \"id\": \"578d85cce0c47cd2865f4cf3\",\n                        \"triggerType\": \"form_submission\",\n                        \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                        \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                        \"filter\": {\n                          \"name\": \"Email Form\"\n                        },\n                        \"createdOn\": \"2016-07-19T01:43:40.605Z\",\n                        \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                        \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                      }\n                    ]\n                  },\n                  \"items\": {\n                    \"example\": {\n                      \"value\": {\n                        \"id\": \"582266e0cd48de0f0e3c6d8b\",\n                        \"triggerType\": \"form_submission\",\n                        \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                        \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                        \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n                        \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                        \"filter\": null,\n                        \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                      }\n                    },\n                    \"properties\": {\n                      \"id\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"example\": \"57ca0a9e418c504a6e1acbb6\",\n                        \"description\": \"Unique identifier for a Webhook\"\n                      },\n                      \"triggerType\": {\n                        \"type\": \"string\",\n                        \"example\": \"form_submission\",\n                        \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n                        \"enum\": [\n                          \"form_submission\",\n                          \"site_publish\",\n                          \"page_created\",\n                          \"page_metadata_updated\",\n                          \"page_deleted\",\n                          \"ecomm_new_order\",\n                          \"ecomm_order_changed\",\n                          \"ecomm_inventory_changed\",\n                          \"memberships_user_account_added\",\n                          \"memberships_user_account_updated\",\n                          \"collection_item_created\",\n                          \"collection_item_changed\",\n                          \"collection_item_deleted\",\n                          \"collection_item_unpublished\"\n                        ]\n                      },\n                      \"siteId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"example\": \"562ac0395358780a1f5e6fbd\",\n                        \"description\": \"Unique identifier for a Webhook\"\n                      },\n                      \"filter\": {\n                        \"description\": \"filter for selecting which events you want webhooks to be triggered for.\",\n                        \"type\": \"object\"\n                      },\n                      \"lastTriggered\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\",\n                        \"example\": \"2016-09-06T21:12:22.148Z\",\n                        \"description\": \"Date trigger was last used\"\n                      },\n                      \"createdOn\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\",\n                        \"example\": \"2016-09-02T23:26:22.241Z\",\n                        \"description\": \"Date trigger was created\"\n                      },\n                      \"url\": {\n                        \"type\": \"string\",\n                        \"example\": \"https://example.com/webhook\",\n                        \"description\": \"URL to send the webhook to\"\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      },\n      \"post\": {\n        \"operationId\": \"create-webhook\",\n        \"summary\": \"Create Webhook\",\n        \"description\": \"Create a new webhook </br></br> Required scope | `webhooks:write`\",\n        \"tags\": [\n          \"Webhooks\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"description\": \"The webhook item to create\",\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The request to create a webhook\",\n                \"required\": [\n                  \"triggerType\",\n                  \"url\"\n                ],\n                \"properties\": {\n                  \"triggerType\": {\n                    \"type\": \"string\",\n                    \"example\": \"form_submission\",\n                    \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n                    \"enum\": [\n                      \"form_submission\",\n                      \"site_publish\",\n                      \"page_created\",\n                      \"page_metadata_updated\",\n                      \"page_deleted\",\n                      \"ecomm_new_order\",\n                      \"ecomm_order_changed\",\n                      \"ecomm_inventory_changed\",\n                      \"memberships_user_account_added\",\n                      \"memberships_user_account_updated\",\n                      \"collection_item_created\",\n                      \"collection_item_changed\",\n                      \"collection_item_deleted\",\n                      \"collection_item_unpublished\"\n                    ]\n                  },\n                  \"url\": {\n                    \"type\": \"string\",\n                    \"format\": \"uri\",\n                    \"example\": \"https://api.mydomain.com/webhook\",\n                    \"description\": \"The https URL on your server the webhook will send a request to when the webhook is triggered\\n\"\n                  },\n                  \"filter\": {\n                    \"type\": \"object\",\n                    \"example\": {\n                      \"name\": \"Email Form\"\n                    },\n                    \"description\": \"filter for selecting which events you want webhooks to be triggered for.\\n** Only available for `form_submission` trigger types.\\n\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"value\": {\n                      \"id\": \"582266e0cd48de0f0e3c6d8b\",\n                      \"triggerType\": \"form_submission\",\n                      \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                      \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                      \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n                      \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                      \"filter\": null,\n                      \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                    }\n                  },\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"example\": \"57ca0a9e418c504a6e1acbb6\",\n                      \"description\": \"Unique identifier for a Webhook\"\n                    },\n                    \"triggerType\": {\n                      \"type\": \"string\",\n                      \"example\": \"form_submission\",\n                      \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n                      \"enum\": [\n                        \"form_submission\",\n                        \"site_publish\",\n                        \"page_created\",\n                        \"page_metadata_updated\",\n                        \"page_deleted\",\n                        \"ecomm_new_order\",\n                        \"ecomm_order_changed\",\n                        \"ecomm_inventory_changed\",\n                        \"memberships_user_account_added\",\n                        \"memberships_user_account_updated\",\n                        \"collection_item_created\",\n                        \"collection_item_changed\",\n                        \"collection_item_deleted\",\n                        \"collection_item_unpublished\"\n                      ]\n                    },\n                    \"siteId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"example\": \"562ac0395358780a1f5e6fbd\",\n                      \"description\": \"Unique identifier for a Webhook\"\n                    },\n                    \"filter\": {\n                      \"description\": \"filter for selecting which events you want webhooks to be triggered for.\",\n                      \"type\": \"object\"\n                    },\n                    \"lastTriggered\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"example\": \"2016-09-06T21:12:22.148Z\",\n                      \"description\": \"Date trigger was last used\"\n                    },\n                    \"createdOn\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"example\": \"2016-09-02T23:26:22.241Z\",\n                      \"description\": \"Date trigger was created\"\n                    },\n                    \"url\": {\n                      \"type\": \"string\",\n                      \"example\": \"https://example.com/webhook\",\n                      \"description\": \"URL to send the webhook to\"\n                    }\n                  }\n                },\n                \"example\": {\n                  \"id\": \"582266e0cd48de0f0e3c6d8b\",\n                  \"triggerType\": \"form_submission\",\n                  \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                  \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                  \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n                  \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                  \"filter\": null,\n                  \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      }\n    },\n    \"/webhooks/{webhook_id}\": {\n      \"get\": {\n        \"operationId\": \"get-webhook\",\n        \"summary\": \"Get Webhook\",\n        \"description\": \"Get a site webhook\",\n        \"tags\": [\n          \"Webhooks\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"webhook_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Webhook\",\n            \"example\": \"580e64008c9a982ac9b8b754\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"value\": {\n                      \"id\": \"582266e0cd48de0f0e3c6d8b\",\n                      \"triggerType\": \"form_submission\",\n                      \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                      \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                      \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n                      \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                      \"filter\": null,\n                      \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                    }\n                  },\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"example\": \"57ca0a9e418c504a6e1acbb6\",\n                      \"description\": \"Unique identifier for a Webhook\"\n                    },\n                    \"triggerType\": {\n                      \"type\": \"string\",\n                      \"example\": \"form_submission\",\n                      \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n                      \"enum\": [\n                        \"form_submission\",\n                        \"site_publish\",\n                        \"page_created\",\n                        \"page_metadata_updated\",\n                        \"page_deleted\",\n                        \"ecomm_new_order\",\n                        \"ecomm_order_changed\",\n                        \"ecomm_inventory_changed\",\n                        \"memberships_user_account_added\",\n                        \"memberships_user_account_updated\",\n                        \"collection_item_created\",\n                        \"collection_item_changed\",\n                        \"collection_item_deleted\",\n                        \"collection_item_unpublished\"\n                      ]\n                    },\n                    \"siteId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"example\": \"562ac0395358780a1f5e6fbd\",\n                      \"description\": \"Unique identifier for a Webhook\"\n                    },\n                    \"filter\": {\n                      \"description\": \"filter for selecting which events you want webhooks to be triggered for.\",\n                      \"type\": \"object\"\n                    },\n                    \"lastTriggered\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"example\": \"2016-09-06T21:12:22.148Z\",\n                      \"description\": \"Date trigger was last used\"\n                    },\n                    \"createdOn\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"example\": \"2016-09-02T23:26:22.241Z\",\n                      \"description\": \"Date trigger was created\"\n                    },\n                    \"url\": {\n                      \"type\": \"string\",\n                      \"example\": \"https://example.com/webhook\",\n                      \"description\": \"URL to send the webhook to\"\n                    }\n                  }\n                },\n                \"example\": {\n                  \"id\": \"582266e0cd48de0f0e3c6d8b\",\n                  \"triggerType\": \"form_submission\",\n                  \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                  \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                  \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n                  \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                  \"filter\": null,\n                  \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      },\n      \"delete\": {\n        \"operationId\": \"remove-webhook\",\n        \"summary\": \"Remove Webhook\",\n        \"description\": \"Remove a webhook\",\n        \"tags\": [\n          \"Webhooks\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"webhook_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Webhook\",\n            \"example\": \"580e64008c9a982ac9b8b754\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"Request was successful\"\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      }\n    }\n  },\n  \"components\": {\n    \"headers\": {\n      \"X-RateLimit-Remaining\": {\n        \"description\": \"Contains the number of available requests remaining in the current minute\",\n        \"schema\": {\n          \"type\": \"number\"\n        }\n      },\n      \"X-RateLimit-Limit\": {\n        \"description\": \"Contains your current overall rate limit per minute\",\n        \"schema\": {\n          \"type\": \"number\"\n        }\n      }\n    },\n    \"parameters\": {\n      \"page-id\": {\n        \"name\": \"page_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a Page\",\n        \"example\": \"63c720f9347c2139b248e552\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"site-id\": {\n        \"name\": \"site_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a Site\",\n        \"example\": \"580e63e98c9a982ac9b8b741\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"collection-id\": {\n        \"name\": \"collection_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a Collection\",\n        \"example\": \"580e63fc8c9a982ac9b8b745\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"item-id\": {\n        \"name\": \"item_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for and Item\",\n        \"example\": \"580e64008c9a982ac9b8b754\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"product-id\": {\n        \"name\": \"product_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a Product\",\n        \"example\": \"580e63fc8c9a982ac9b8b745\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"sku-id\": {\n        \"name\": \"sku_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a SKU\",\n        \"example\": \"5e8518516e147040726cc415\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"order-id\": {\n        \"name\": \"order_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for an Order\",\n        \"example\": \"5e8518516e147040726cc415\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"webhook-id\": {\n        \"name\": \"webhook_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a Webhook\",\n        \"example\": \"580e64008c9a982ac9b8b754\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"live\": {\n        \"name\": \"live\",\n        \"in\": \"query\",\n        \"required\": false,\n        \"allowEmptyValue\": true,\n        \"description\": \"Boolean indicating if the item(s) should be published/unpublished to/from the live site\",\n        \"schema\": {\n          \"type\": \"boolean\"\n        },\n        \"example\": true\n      },\n      \"limit\": {\n        \"in\": \"query\",\n        \"allowEmptyValue\": true,\n        \"name\": \"limit\",\n        \"example\": 100,\n        \"description\": \"Maximum number of records to be returned (max limit: 100)\",\n        \"required\": false,\n        \"schema\": {\n          \"type\": \"number\"\n        }\n      },\n      \"offset\": {\n        \"in\": \"query\",\n        \"example\": 0,\n        \"allowEmptyValue\": true,\n        \"name\": \"offset\",\n        \"description\": \"Offset used for pagination if the results have more than limit records\",\n        \"required\": false,\n        \"schema\": {\n          \"type\": \"number\"\n        }\n      },\n      \"user-id\": {\n        \"name\": \"user_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a User\",\n        \"example\": \"580e63e98c9a982ac9b8b741\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"access-group-sort\": {\n        \"name\": \"sort\",\n        \"in\": \"query\",\n        \"allowEmptyValue\": true,\n        \"description\": \"Sort string to use when ordering access groups\\nCan be prefixed with a `-` to reverse the sort (ex. `-CreatedOn`)\\n\",\n        \"schema\": {\n          \"type\": \"string\",\n          \"enum\": [\n            \"CreatedOn\",\n            \"-CreatedOn\"\n          ]\n        },\n        \"example\": \"CreatedOn\",\n        \"required\": false\n      },\n      \"users-sort\": {\n        \"name\": \"sort\",\n        \"in\": \"query\",\n        \"allowEmptyValue\": true,\n        \"description\": \"Sort string to use when ordering users\\n\\nExample(`CreatedOn`, `Email`, `Status`, `LastLogin`, `UpdatedOn`).\\n\\nCan be prefixed with a `-` to reverse the sort (ex. `-CreatedOn`)\\n\",\n        \"schema\": {\n          \"type\": \"string\",\n          \"enum\": [\n            \"CreatedOn\",\n            \"-CreatedOn\",\n            \"Email\",\n            \"-Email\",\n            \"Status\",\n            \"-Status\",\n            \"LastLogin\",\n            \"-LastLogin\",\n            \"UpdatedOn\",\n            \"-UpdatedOn\"\n          ]\n        },\n        \"example\": \"CreatedOn\",\n        \"required\": false\n      }\n    },\n    \"securitySchemes\": {\n      \"OAuth2\": {\n        \"type\": \"oauth2\",\n        \"flows\": {\n          \"authorizationCode\": {\n            \"scopes\": {\n              \"read:pages\": \"read pages on the site\",\n              \"sites:read\": \"read sites on the site\",\n              \"sites:write\": \"modify pages on the site\",\n              \"custom_code:read\": \"read custom code on the site\",\n              \"custom_code:write\": \"modify custom code on the site\",\n              \"custom_code:delete\": \"delete custom code on the site\"\n            },\n            \"authorizationUrl\": \"https://webflow.com/oauth/authorize\",\n            \"tokenUrl\": \"https://api.webflow.com/oauth/token\"\n          }\n        }\n      },\n      \"ApiKey\": {\n        \"type\": \"apiKey\",\n        \"in\": \"query\",\n        \"name\": \"access_token\"\n      }\n    },\n    \"responses\": {\n      \"SyntaxError\": {\n        \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n      },\n      \"InvalidAPIVersion\": {\n        \"description\": \"Requested an invalid API version\"\n      },\n      \"UnsupportedVersion\": {\n        \"description\": \"Requested an API version that in unsupported by the requested route\"\n      },\n      \"NotImplemented\": {\n        \"description\": \"This feature is not currently implemented\"\n      },\n      \"ValidationError\": {\n        \"description\": \"Validation failure\"\n      },\n      \"Conflict\": {\n        \"description\": \"Validation failure\"\n      },\n      \"Unauthorized\": {\n        \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n      },\n      \"NotFound\": {\n        \"description\": \"Requested resource not found\"\n      },\n      \"RateLimit\": {\n        \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n        \"headers\": {\n          \"X-RateLimit-Remaining\": {\n            \"description\": \"Contains the number of available requests remaining in the current minute\",\n            \"schema\": {\n              \"type\": \"number\"\n            }\n          },\n          \"X-RateLimit-Limit\": {\n            \"description\": \"Contains your current overall rate limit per minute\",\n            \"schema\": {\n              \"type\": \"number\"\n            }\n          }\n        }\n      },\n      \"ServerError\": {\n        \"description\": \"We had a problem with our server. Try again later.\"\n      },\n      \"UnknownError\": {\n        \"description\": \"An error occurred which is not enumerated here, but is not a server error.\"\n      }\n    },\n    \"schemas\": {\n      \"pagination\": {\n        \"description\": \"Pagination object\",\n        \"type\": \"object\",\n        \"properties\": {\n          \"limit\": {\n            \"type\": \"number\",\n            \"description\": \"The limit used for pagination\",\n            \"example\": 100\n          },\n          \"offset\": {\n            \"type\": \"number\",\n            \"description\": \"The offset used for pagination\",\n            \"example\": 0\n          },\n          \"total\": {\n            \"type\": \"number\",\n            \"description\": \"The total number of records\",\n            \"example\": 100\n          }\n        }\n      },\n      \"CustomCode\": {\n        \"description\": \"Custom code to be added to the site\",\n        \"properties\": {\n          \"code\": {\n            \"type\": \"string\",\n            \"description\": \"The code to be added to the site\",\n            \"example\": \"<script src=\\\"https://cdnjs.com/webflow-app\\\"></script>\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The timestamp the code was created\",\n            \"example\": \"2022-12-07T16:51:37.571Z\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The timestamp the code was last updated\",\n            \"example\": \"2022-12-07T16:51:37.571Z\"\n          }\n        }\n      },\n      \"PageList\": {\n        \"description\": \"The Page object\",\n        \"type\": \"object\",\n        \"example\": {\n          \"pagination\": {\n            \"limit\": 20,\n            \"offset\": 0,\n            \"total\": 2\n          },\n          \"pages\": [\n            {\n              \"id\": \"6390c49774a71f0e3c1a08ee\",\n              \"siteId\": \"6390c49674a71f84b51a08d8\",\n              \"title\": \"Blog Categories Template\",\n              \"slug\": \"detail_blog-category\",\n              \"pageType\": \"dynamic\",\n              \"collectionId\": \"6390c49774a71f12831a08e3\",\n              \"createdOn\": \"2018-10-14T21:55:49.063Z\",\n              \"lastUpdated\": \"2022-12-07T16:51:37.571Z\",\n              \"archived\": false,\n              \"draft\": false,\n              \"canBranch\": true,\n              \"isMembersOnly\": false,\n              \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n              \"seoDesc\": \"This Webflow template offers a quick start into an ecommerce / memberships site\",\n              \"openGraph\": {\n                \"title\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                \"titleCopied\": true,\n                \"description\": \"This Webflow template offers a quick start into an ecommerce / memberships site\",\n                \"descriptionCopied\": true\n              }\n            },\n            {\n              \"id\": \"6390c49774a71f99f21a08eb\",\n              \"siteId\": \"6390c49674a71f84b51a08d8\",\n              \"title\": \"Blog\",\n              \"slug\": \"blog\",\n              \"pageType\": \"static\",\n              \"collectionId\": null,\n              \"createdOn\": \"2018-10-12T17:56:16.411Z\",\n              \"lastUpdated\": \"2022-12-07T16:57:16.406Z\",\n              \"archived\": false,\n              \"draft\": false,\n              \"canBranch\": true,\n              \"isMembersOnly\": false,\n              \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n              \"seoDesc\": null,\n              \"openGraph\": {\n                \"title\": \"null,\",\n                \"titleCopied\": \"true,\",\n                \"description\": \"null,\",\n                \"descriptionCopied\": true\n              }\n            }\n          ]\n        },\n        \"properties\": {\n          \"pagination\": {\n            \"description\": \"Pagination object\",\n            \"type\": \"object\",\n            \"properties\": {\n              \"limit\": {\n                \"type\": \"number\",\n                \"description\": \"The limit used for pagination\",\n                \"example\": 100\n              },\n              \"offset\": {\n                \"type\": \"number\",\n                \"description\": \"The offset used for pagination\",\n                \"example\": 0\n              },\n              \"total\": {\n                \"type\": \"number\",\n                \"description\": \"The total number of records\",\n                \"example\": 100\n              }\n            }\n          },\n          \"pages\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"description\": \"The Page object\",\n              \"type\": \"object\",\n              \"required\": [\n                \"pageId\"\n              ],\n              \"example\": null,\n              \"properties\": {\n                \"pageId\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for page\",\n                  \"example\": \"63499e4e6e9ed5abbfe42b69\"\n                },\n                \"siteId\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for a site\",\n                  \"example\": \"580e63e98c9a982ac9b8b741\"\n                },\n                \"title\": {\n                  \"type\": \"string\",\n                  \"description\": \"Title of the page\",\n                  \"example\": \"My New Page\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"description\": \"slug of page\",\n                  \"example\": \"my-new-page\"\n                },\n                \"pageType\": {\n                  \"type\": \"string\",\n                  \"description\": \"indicator of whether the page is static or dynamic\",\n                  \"readOnly\": true,\n                  \"enum\": [\n                    \"dynamic\",\n                    \"static\"\n                  ],\n                  \"example\": \"dynamic\"\n                },\n                \"collectionId\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for a collection, value will be null if the page is not part of a collection.\",\n                  \"example\": \"6390c49774a71f12831a08e3\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the page was created\",\n                  \"example\": \"2016-10-24T19:42:38.929Z\"\n                },\n                \"lastUpdated\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the page was most recently updated\",\n                  \"example\": \"2016-10-24T19:42:38.929Z\"\n                },\n                \"archived\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"page archive status\",\n                  \"default\": false,\n                  \"example\": false\n                },\n                \"draft\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"page draft status\",\n                  \"default\": false,\n                  \"example\": false\n                },\n                \"canBranch\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"indicates whether the page supports [Page Branching](https://www.google.com/search?q=webflow+page+branching&rlz=1C5GCEM_enUS1034US1034&oq=webflow+page+branc&aqs=chrome.0.0i512j69i57j0i390l3j69i64l3.10144j1j1&sourceid=chrome&ie=UTF-8)\",\n                  \"readOnly\": true,\n                  \"default\": false,\n                  \"example\": false\n                },\n                \"isMembersOnly\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"indicates whether the page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)\",\n                  \"readOnly\": true,\n                  \"default\": false,\n                  \"example\": false\n                },\n                \"seoTitle\": {\n                  \"type\": \"string\",\n                  \"description\": \"SEO title tag\",\n                  \"example\": \"A search result\"\n                },\n                \"seoDesc\": {\n                  \"type\": \"string\",\n                  \"description\": \"An SEO meta description\",\n                  \"example\": \"This is the description that appears in the search result\"\n                },\n                \"openGraph\": {\n                  \"type\": \"object\",\n                  \"description\": \"Open Graph settings for the page\",\n                  \"properties\": {\n                    \"title\": {\n                      \"type\": \"string\",\n                      \"description\": \"Open Graph Title\",\n                      \"example\": \"This is the title that appears in a social graph\"\n                    },\n                    \"titleCopied\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"Indicator if the Open Graph Title was copied from the SEO Title\",\n                      \"readOnly\": true,\n                      \"default\": true\n                    },\n                    \"description\": {\n                      \"type\": \"string\",\n                      \"description\": \"Open Graph Description\",\n                      \"example\": \"This is the description that appears in a social graph\"\n                    },\n                    \"descriptionCopied\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"Indicator of whether the Open Graph description was copied from the SEO description\",\n                      \"readOnly\": true,\n                      \"default\": true\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      },\n      \"Page\": {\n        \"description\": \"The Page object\",\n        \"type\": \"object\",\n        \"required\": [\n          \"pageId\"\n        ],\n        \"example\": null,\n        \"properties\": {\n          \"pageId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for page\",\n            \"example\": \"63499e4e6e9ed5abbfe42b69\"\n          },\n          \"siteId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for a site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\"\n          },\n          \"title\": {\n            \"type\": \"string\",\n            \"description\": \"Title of the page\",\n            \"example\": \"My New Page\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"slug of page\",\n            \"example\": \"my-new-page\"\n          },\n          \"pageType\": {\n            \"type\": \"string\",\n            \"description\": \"indicator of whether the page is static or dynamic\",\n            \"readOnly\": true,\n            \"enum\": [\n              \"dynamic\",\n              \"static\"\n            ],\n            \"example\": \"dynamic\"\n          },\n          \"collectionId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for a collection, value will be null if the page is not part of a collection.\",\n            \"example\": \"6390c49774a71f12831a08e3\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"readOnly\": true,\n            \"description\": \"The date the page was created\",\n            \"example\": \"2016-10-24T19:42:38.929Z\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"readOnly\": true,\n            \"description\": \"The date the page was most recently updated\",\n            \"example\": \"2016-10-24T19:42:38.929Z\"\n          },\n          \"archived\": {\n            \"type\": \"boolean\",\n            \"description\": \"page archive status\",\n            \"default\": false,\n            \"example\": false\n          },\n          \"draft\": {\n            \"type\": \"boolean\",\n            \"description\": \"page draft status\",\n            \"default\": false,\n            \"example\": false\n          },\n          \"canBranch\": {\n            \"type\": \"boolean\",\n            \"description\": \"indicates whether the page supports [Page Branching](https://www.google.com/search?q=webflow+page+branching&rlz=1C5GCEM_enUS1034US1034&oq=webflow+page+branc&aqs=chrome.0.0i512j69i57j0i390l3j69i64l3.10144j1j1&sourceid=chrome&ie=UTF-8)\",\n            \"readOnly\": true,\n            \"default\": false,\n            \"example\": false\n          },\n          \"isMembersOnly\": {\n            \"type\": \"boolean\",\n            \"description\": \"indicates whether the page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)\",\n            \"readOnly\": true,\n            \"default\": false,\n            \"example\": false\n          },\n          \"seoTitle\": {\n            \"type\": \"string\",\n            \"description\": \"SEO title tag\",\n            \"example\": \"A search result\"\n          },\n          \"seoDesc\": {\n            \"type\": \"string\",\n            \"description\": \"An SEO meta description\",\n            \"example\": \"This is the description that appears in the search result\"\n          },\n          \"openGraph\": {\n            \"type\": \"object\",\n            \"description\": \"Open Graph settings for the page\",\n            \"properties\": {\n              \"title\": {\n                \"type\": \"string\",\n                \"description\": \"Open Graph Title\",\n                \"example\": \"This is the title that appears in a social graph\"\n              },\n              \"titleCopied\": {\n                \"type\": \"boolean\",\n                \"description\": \"Indicator if the Open Graph Title was copied from the SEO Title\",\n                \"readOnly\": true,\n                \"default\": true\n              },\n              \"description\": {\n                \"type\": \"string\",\n                \"description\": \"Open Graph Description\",\n                \"example\": \"This is the description that appears in a social graph\"\n              },\n              \"descriptionCopied\": {\n                \"type\": \"boolean\",\n                \"description\": \"Indicator of whether the Open Graph description was copied from the SEO description\",\n                \"readOnly\": true,\n                \"default\": true\n              }\n            }\n          }\n        }\n      },\n      \"PageCreatedWebhook\": {\n        \"description\": \"The Webhook payload for when a Page is created\",\n        \"type\": \"object\",\n        \"properties\": {\n          \"siteId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"562ac0395358780a1f5e6fbd\"\n          },\n          \"pageId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6\"\n          },\n          \"pageTitle\": {\n            \"type\": \"string\",\n            \"example\": \"My New Page\"\n          },\n          \"createdAt\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2022-12-07T16:51:37.571Z\"\n          }\n        }\n      },\n      \"PageMetadataUpdatedWebhook\": {\n        \"description\": \"The Webhook payload for when a Page's metadata is updated\",\n        \"type\": \"object\",\n        \"properties\": {\n          \"siteId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"562ac0395358780a1f5e6fbd\"\n          },\n          \"pageId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6\"\n          },\n          \"pageTitle\": {\n            \"type\": \"string\",\n            \"example\": \"My New Page\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2022-12-07T16:51:37.571Z\"\n          }\n        }\n      },\n      \"PageDeletedWebhook\": {\n        \"description\": \"The Webhook payload for when a Page is deleted\",\n        \"type\": \"object\",\n        \"properties\": {\n          \"siteId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"562ac0395358780a1f5e6fbd\"\n          },\n          \"pageId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6\"\n          },\n          \"pageTitle\": {\n            \"type\": \"string\",\n            \"example\": \"My New Page\"\n          },\n          \"deletedAt\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2022-12-07T16:51:37.571Z\"\n          }\n        }\n      },\n      \"Webhook\": {\n        \"example\": {\n          \"value\": {\n            \"id\": \"582266e0cd48de0f0e3c6d8b\",\n            \"triggerType\": \"form_submission\",\n            \"siteId\": \"562ac0395358780a1f5e6fbd\",\n            \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n            \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n            \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n            \"filter\": null,\n            \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n          }\n        },\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"57ca0a9e418c504a6e1acbb6\",\n            \"description\": \"Unique identifier for a Webhook\"\n          },\n          \"triggerType\": {\n            \"type\": \"string\",\n            \"example\": \"form_submission\",\n            \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n            \"enum\": [\n              \"form_submission\",\n              \"site_publish\",\n              \"page_created\",\n              \"page_metadata_updated\",\n              \"page_deleted\",\n              \"ecomm_new_order\",\n              \"ecomm_order_changed\",\n              \"ecomm_inventory_changed\",\n              \"memberships_user_account_added\",\n              \"memberships_user_account_updated\",\n              \"collection_item_created\",\n              \"collection_item_changed\",\n              \"collection_item_deleted\",\n              \"collection_item_unpublished\"\n            ]\n          },\n          \"siteId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"562ac0395358780a1f5e6fbd\",\n            \"description\": \"Unique identifier for a Webhook\"\n          },\n          \"filter\": {\n            \"description\": \"filter for selecting which events you want webhooks to be triggered for.\",\n            \"type\": \"object\"\n          },\n          \"lastTriggered\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2016-09-06T21:12:22.148Z\",\n            \"description\": \"Date trigger was last used\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2016-09-02T23:26:22.241Z\",\n            \"description\": \"Date trigger was created\"\n          },\n          \"url\": {\n            \"type\": \"string\",\n            \"example\": \"https://example.com/webhook\",\n            \"description\": \"URL to send the webhook to\"\n          }\n        }\n      },\n      \"WebhookList\": {\n        \"example\": {\n          \"value\": {\n            \"pagination\": {\n              \"limit\": 20,\n              \"offset\": 0,\n              \"total\": 3\n            },\n            \"webhooks\": [\n              {\n                \"id\": \"57ca0a9e418c504a6e1acbb6\",\n                \"triggerType\": \"form_submission\",\n                \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                \"filter\": {\n                  \"name\": \"Email Form\"\n                },\n                \"createdOn\": \"2016-09-02T23:26:22.241Z\",\n                \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n              },\n              {\n                \"id\": \"578d85cce0c47cd2865f4cf2\",\n                \"triggerType\": \"form_submission\",\n                \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                \"filter\": {\n                  \"name\": \"Email Form\"\n                },\n                \"createdOn\": \"2016-07-19T01:43:40.585Z\",\n                \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n              },\n              {\n                \"id\": \"578d85cce0c47cd2865f4cf3\",\n                \"triggerType\": \"form_submission\",\n                \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                \"filter\": {\n                  \"name\": \"Email Form\"\n                },\n                \"createdOn\": \"2016-07-19T01:43:40.605Z\",\n                \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n              }\n            ]\n          }\n        },\n        \"properties\": {\n          \"pagination\": {\n            \"description\": \"Pagination object\",\n            \"type\": \"object\",\n            \"properties\": {\n              \"limit\": {\n                \"type\": \"number\",\n                \"description\": \"The limit used for pagination\",\n                \"example\": 100\n              },\n              \"offset\": {\n                \"type\": \"number\",\n                \"description\": \"The offset used for pagination\",\n                \"example\": 0\n              },\n              \"total\": {\n                \"type\": \"number\",\n                \"description\": \"The total number of records\",\n                \"example\": 100\n              }\n            }\n          },\n          \"webhooks\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"example\": {\n                \"value\": {\n                  \"id\": \"582266e0cd48de0f0e3c6d8b\",\n                  \"triggerType\": \"form_submission\",\n                  \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                  \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                  \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n                  \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                  \"filter\": null,\n                  \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                }\n              },\n              \"properties\": {\n                \"id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"57ca0a9e418c504a6e1acbb6\",\n                  \"description\": \"Unique identifier for a Webhook\"\n                },\n                \"triggerType\": {\n                  \"type\": \"string\",\n                  \"example\": \"form_submission\",\n                  \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n                  \"enum\": [\n                    \"form_submission\",\n                    \"site_publish\",\n                    \"page_created\",\n                    \"page_metadata_updated\",\n                    \"page_deleted\",\n                    \"ecomm_new_order\",\n                    \"ecomm_order_changed\",\n                    \"ecomm_inventory_changed\",\n                    \"memberships_user_account_added\",\n                    \"memberships_user_account_updated\",\n                    \"collection_item_created\",\n                    \"collection_item_changed\",\n                    \"collection_item_deleted\",\n                    \"collection_item_unpublished\"\n                  ]\n                },\n                \"siteId\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"562ac0395358780a1f5e6fbd\",\n                  \"description\": \"Unique identifier for a Webhook\"\n                },\n                \"filter\": {\n                  \"description\": \"filter for selecting which events you want webhooks to be triggered for.\",\n                  \"type\": \"object\"\n                },\n                \"lastTriggered\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"example\": \"2016-09-06T21:12:22.148Z\",\n                  \"description\": \"Date trigger was last used\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"example\": \"2016-09-02T23:26:22.241Z\",\n                  \"description\": \"Date trigger was created\"\n                },\n                \"url\": {\n                  \"type\": \"string\",\n                  \"example\": \"https://example.com/webhook\",\n                  \"description\": \"URL to send the webhook to\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"Site\": {\n        \"example\": {\n          \"id\": \"580e63e98c9a982ac9b8b741\",\n          \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n          \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n          \"displayName\": \"api_docs_sample_json\",\n          \"shortName\": \"api-docs-sample-json\",\n          \"lastPublished\": \"2016-10-24T19:43:17.271Z\",\n          \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\",\n          \"timeZone\": \"America/Los_Angeles\"\n        },\n        \"required\": [\n          \"_id\"\n        ],\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Unique identifier for the Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\"\n          },\n          \"workspaceId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Unique identifier for the Workspace\",\n            \"example\": \"580e63e98c9a982ac9b8b741\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"Date the site was created\",\n            \"example\": \"2016-10-24T19:41:29.156Z\"\n          },\n          \"displayName\": {\n            \"type\": \"string\",\n            \"description\": \"Name given to site\",\n            \"example\": \"api_docs_sample_json\"\n          },\n          \"shortName\": {\n            \"type\": \"string\",\n            \"description\": \"Slugified version of name\",\n            \"example\": \"api-docs-sample-json\"\n          },\n          \"lastPublished\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"Date site was last published\",\n            \"example\": \"2016-10-24T19:43:17.271Z\"\n          },\n          \"previewUrl\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"description\": \"URL of a generated image for the given site\",\n            \"example\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\"\n          },\n          \"timeZone\": {\n            \"type\": \"string\",\n            \"description\": \"Site timezone set under Site Settings\",\n            \"example\": \"America/Los_Angeles\"\n          }\n        }\n      },\n      \"AuthorizedUser\": {\n        \"example\": {\n          \"value\": {\n            \"user\": {\n              \"_id\": \"545bbecb7bdd6769632504a7\",\n              \"email\": \"some@email.com\",\n              \"firstName\": \"Some\",\n              \"lastName\": \"One\"\n            }\n          }\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"The unique id of the user\",\n            \"example\": \"545bbecb7bdd6769632504a7\"\n          },\n          \"email\": {\n            \"type\": \"string\",\n            \"format\": \"email\",\n            \"description\": \"The user's email address\",\n            \"example\": \"someone@email.com\"\n          },\n          \"firstName\": {\n            \"type\": \"string\",\n            \"description\": \"The user's first name\",\n            \"example\": \"Some\"\n          },\n          \"lastName\": {\n            \"type\": \"string\",\n            \"description\": \"The user's last name\",\n            \"example\": \"One\"\n          }\n        }\n      },\n      \"Authorization\": {\n        \"example\": {\n          \"value\": {\n            \"_id\": \"55818d58616600637b9a5786\",\n            \"createdOn\": \"2016-10-03T23:12:00.755Z\",\n            \"grantType\": \"authorization_code\",\n            \"lastUsed\": \"2016-10-10T21:41:12.736Z\",\n            \"sites\": [\n              \"62f3b1f7eafac55d0c64ef91\"\n            ],\n            \"orgs\": [\n              \"551ad253f0a9c0686f71ed08\"\n            ],\n            \"workspaces\": [],\n            \"users\": [\n              \"545bbecb7bdd6769632504a7\"\n            ],\n            \"rateLimit\": 60,\n            \"status\": \"confirmed\",\n            \"application\": {\n              \"_id\": \"55131cd036c09f7d07883dfc\",\n              \"description\": \"OAuth Testing Application\",\n              \"homepage\": \"https://webflow.com\",\n              \"name\": \"Test App\",\n              \"owner\": \"545bbecb7bdd6769632504a7\",\n              \"ownerType\": \"Person\"\n            }\n          }\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"55818d58616600637b9a5786\",\n            \"description\": \"The unique id of the authorization\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2016-10-03T23:12:00.755Z\",\n            \"description\": \"The date the authorization was created\"\n          },\n          \"grantType\": {\n            \"type\": \"string\",\n            \"example\": \"authorization_code\",\n            \"description\": \"The grant type of the authorization\"\n          },\n          \"lastUsed\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2016-10-10T21:41:12.736Z\",\n            \"description\": \"The date the authorization was last used\"\n          },\n          \"sites\": {\n            \"description\": \"The sites authorized\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"example\": \"62f3b1f7eafac55d0c64ef91\"\n            }\n          },\n          \"orgs\": {\n            \"description\": \"The organizations authorized\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"example\": \"551ad253f0a9c0686f71ed08\"\n            }\n          },\n          \"workspaces\": {\n            \"description\": \"The workspaces authorized\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"users\": {\n            \"description\": \"The users authorized\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"example\": \"551ad253f0a9c0686f71ed08\"\n            }\n          },\n          \"rateLimit\": {\n            \"type\": \"integer\",\n            \"format\": \"int32\",\n            \"example\": 60,\n            \"description\": \"The default rate limit for the authorization\"\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"example\": \"confirmed\",\n            \"description\": \"The status of the authorization\"\n          },\n          \"application\": {\n            \"properties\": {\n              \"_id\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"example\": \"55131cd036c09f7d07883dfc\"\n              },\n              \"description\": {\n                \"type\": \"string\",\n                \"example\": \"OAuth Testing Application\"\n              },\n              \"homepage\": {\n                \"type\": \"string\",\n                \"format\": \"uri\",\n                \"example\": \"https://webflow.com\"\n              },\n              \"name\": {\n                \"type\": \"string\",\n                \"example\": \"Test App\"\n              },\n              \"owner\": {\n                \"type\": \"string\",\n                \"example\": \"545bbecb7bdd6769632504a7\"\n              },\n              \"ownerType\": {\n                \"type\": \"string\",\n                \"example\": \"Person\"\n              }\n            }\n          }\n        }\n      },\n      \"Application\": {\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"55131cd036c09f7d07883dfc\"\n          },\n          \"description\": {\n            \"type\": \"string\",\n            \"example\": \"OAuth Testing Application\"\n          },\n          \"homepage\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"example\": \"https://webflow.com\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"Test App\"\n          },\n          \"owner\": {\n            \"type\": \"string\",\n            \"example\": \"545bbecb7bdd6769632504a7\"\n          },\n          \"ownerType\": {\n            \"type\": \"string\",\n            \"example\": \"Person\"\n          }\n        }\n      },\n      \"Domain\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"_id\"\n        ],\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"589a331aa51e760df7ccb89d\",\n            \"description\": \"Unique identifier for domain\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"test-api-domain.com\",\n            \"description\": \"The domain name\"\n          }\n        }\n      },\n      \"PublishedSite\": {\n        \"required\": [\n          \"queued\"\n        ],\n        \"example\": {\n          \"queued\": true\n        },\n        \"properties\": {\n          \"queued\": {\n            \"type\": \"boolean\",\n            \"description\": \"Indicates if the site has been queued for publish\"\n          }\n        }\n      },\n      \"Collection\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"_id\"\n        ],\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Unique identifier for collection\",\n            \"example\": \"580e63fc8c9a982ac9b8b745\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The date the collection was last updated\",\n            \"example\": \"2016-10-24T19:42:38.929Z\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The date the collection was create\",\n            \"example\": \"2016-10-24T19:41:48.349Z\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"Name given to Collection\",\n            \"example\": \"Blog Posts\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"Slug of Collection in Site URL structure\",\n            \"example\": \"post\"\n          },\n          \"singularName\": {\n            \"type\": \"string\",\n            \"description\": \"The name of one Item in Collection (e.g. “post” if the Collection is called “Posts”)\",\n            \"example\": \"Blog Post\"\n          },\n          \"fields\": {\n            \"type\": \"array\",\n            \"description\": \"The list of fields in the collection\",\n            \"items\": {\n              \"description\": \"Fields in your collection item\",\n              \"required\": [\n                \"slug\",\n                \"name\",\n                \"_archived\",\n                \"_draft\"\n              ],\n              \"example\": {\n                \"value\": {\n                  \"name\": \"Exciting blog post title\",\n                  \"slug\": \"exciting-post\",\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"color\": \"#a98080\",\n                  \"author\": \"580e640c8c9a982ac9b8b778\",\n                  \"post-body\": \"<p>Blog post contents...</p>\",\n                  \"post-summary\": \"Summary of exciting blog post\",\n                  \"main-image\": \"580e63fe8c9a982ac9b8b749\"\n                }\n              },\n              \"properties\": {\n                \"id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for the item\",\n                  \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"description\": \"Slug of the item\",\n                  \"default\": \"new-item\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"description\": \"item name\",\n                  \"default\": \"My New Item\"\n                },\n                \"_archived\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"item archive status\",\n                  \"default\": false\n                },\n                \"_draft\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"item draft status\",\n                  \"default\": false\n                }\n              },\n              \"additionalProperties\": {\n                \"description\": \"Add any custom fields that exist in your collection\",\n                \"type\": \"string\"\n              }\n            }\n          }\n        },\n        \"example\": {\n          \"value\": {\n            \"_id\": \"580e63fc8c9a982ac9b8b745\",\n            \"lastUpdated\": \"2016-10-24T19:42:38.929Z\",\n            \"createdOn\": \"2016-10-24T19:41:48.349Z\",\n            \"name\": \"Blog Posts\",\n            \"slug\": \"post\",\n            \"singularName\": \"Blog Post\",\n            \"fields\": [\n              {\n                \"id\": \"7f62a9781291109b9e428fb47239fd35\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"RichText\",\n                \"slug\": \"post-body\",\n                \"name\": \"Post Body\"\n              },\n              {\n                \"validations\": {\n                  \"singleLine\": false\n                },\n                \"id\": \"ac4ffead755a78c710c44042f528b073\",\n                \"helpText\": \"A summary of the blog post that appears on blog post grid\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"PlainText\",\n                \"slug\": \"post-summary\",\n                \"name\": \"Post Summary\"\n              },\n              {\n                \"id\": \"ba1cfbdaa6b38b8e95e9b5063da8a5bd\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"ImageRef\",\n                \"slug\": \"main-image\",\n                \"name\": \"Main Image\"\n              },\n              {\n                \"id\": \"a8c6ea29b08cc5b5ef966908fa1deae2\",\n                \"helpText\": \"Smaller version of main image that is used on blog post grid\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"ImageRef\",\n                \"slug\": \"thumbnail-image\",\n                \"name\": \"Thumbnail image\"\n              },\n              {\n                \"id\": \"87e79a644a6fb5729940ec24e0012f01\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"Set\",\n                \"innerType\": \"ImageRef\",\n                \"slug\": \"picture-gallery\",\n                \"name\": \"Picture Gallery\"\n              },\n              {\n                \"id\": \"1e54974d97181032d3206ea021668e5f\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"Bool\",\n                \"slug\": \"featured\",\n                \"name\": \"Featured?\"\n              },\n              {\n                \"id\": \"648463cbc042ab079c2b99430a398ae5\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"Color\",\n                \"slug\": \"color\",\n                \"name\": \"Color\"\n              },\n              {\n                \"validations\": {\n                  \"collectionId\": \"580e64088c9a982ac9b8b766\"\n                },\n                \"id\": \"ea9067c48edee510de71fe503fa2fb51\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"ItemRef\",\n                \"slug\": \"author\",\n                \"name\": \"Author\"\n              },\n              {\n                \"validations\": {\n                  \"maxLength\": 256\n                },\n                \"id\": \"60c0667e27b6d5a6daedec3a641265f6\",\n                \"editable\": true,\n                \"required\": true,\n                \"type\": \"PlainText\",\n                \"slug\": \"name\",\n                \"name\": \"Name\"\n              },\n              {\n                \"validations\": {\n                  \"messages\": {\n                    \"maxLength\": \"Must be less than 256 characters\",\n                    \"pattern\": \"Must be alphanumerical and not contain any spaces or special characters\"\n                  },\n                  \"pattern\": {},\n                  \"maxLength\": 256\n                },\n                \"id\": \"8f0c953df91d10b767d66e1d7d00d631\",\n                \"unique\": true,\n                \"editable\": true,\n                \"required\": true,\n                \"type\": \"PlainText\",\n                \"slug\": \"slug\",\n                \"name\": \"Slug\"\n              },\n              {\n                \"default\": false,\n                \"id\": \"e4e92e700d70faffac6fa82ff2bfaece\",\n                \"editable\": true,\n                \"required\": true,\n                \"type\": \"Bool\",\n                \"slug\": \"_archived\",\n                \"name\": \"Archived\"\n              },\n              {\n                \"default\": false,\n                \"id\": \"f2675b2ac4fcef746b24d4a320887ef8\",\n                \"editable\": true,\n                \"required\": true,\n                \"type\": \"Bool\",\n                \"slug\": \"_draft\",\n                \"name\": \"Draft\"\n              },\n              {\n                \"id\": \"0913a35d92208bdf8fbf3ed1e39b771e\",\n                \"editable\": false,\n                \"required\": false,\n                \"type\": \"Date\",\n                \"slug\": \"created-on\",\n                \"name\": \"Created On\"\n              },\n              {\n                \"id\": \"3de04889465fe6d718e47b152ef5bb4d\",\n                \"editable\": false,\n                \"required\": false,\n                \"type\": \"Date\",\n                \"slug\": \"updated-on\",\n                \"name\": \"Updated On\"\n              },\n              {\n                \"id\": \"2a3cd866d5dbb294896130b233218626\",\n                \"editable\": false,\n                \"required\": false,\n                \"type\": \"Date\",\n                \"slug\": \"published-on\",\n                \"name\": \"Published On\"\n              },\n              {\n                \"id\": \"62c18561b9e89517751c6d8712d48f91\",\n                \"editable\": false,\n                \"required\": false,\n                \"type\": \"User\",\n                \"slug\": \"created-by\",\n                \"name\": \"Created By\"\n              },\n              {\n                \"id\": \"50918093b4e4d4eca1e83c25bcdc06a4\",\n                \"editable\": false,\n                \"required\": false,\n                \"type\": \"User\",\n                \"slug\": \"updated-by\",\n                \"name\": \"Updated By\"\n              },\n              {\n                \"id\": \"5c4587f18b32ef245daeaadfcba7860b\",\n                \"editable\": false,\n                \"required\": false,\n                \"type\": \"User\",\n                \"slug\": \"published-by\",\n                \"name\": \"Published By\"\n              }\n            ]\n          }\n        }\n      },\n      \"CollectionItem\": {\n        \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n        \"properties\": {\n          \"_archived\": {\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"description\": \"Boolean determining if the Item is set to archived\"\n          },\n          \"_draft\": {\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"description\": \"Boolean determining if the Item is set to draft\"\n          },\n          \"_id\": {\n            \"type\": \"string\",\n            \"readOnly\": true,\n            \"example\": \"580e64008c9a982ac9b8b754\",\n            \"description\": \"Unique identifier for the Item\"\n          },\n          \"_cid\": {\n            \"type\": \"string\",\n            \"readOnly\": true,\n            \"example\": \"580e63fc8c9a982ac9b8b745\",\n            \"description\": \"Unique identifier for the Collection the Item belongs within\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"5 Principles Of Effective Web Design\",\n            \"description\": \"Name given to the Item\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"example\": \"5-principles-of-effective-web-design\",\n            \"description\": \"URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.\"\n          }\n        },\n        \"example\": {\n          \"value\": {\n            \"_archived\": false,\n            \"_draft\": false,\n            \"color\": \"#a98080\",\n            \"name\": \"Exciting blog post title\",\n            \"post-body\": \"<p>Blog post contents...</p>\",\n            \"post-summary\": \"Summary of exciting blog post\",\n            \"main-image\": {\n              \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n            },\n            \"slug\": \"exciting-post\",\n            \"author\": \"580e640c8c9a982ac9b8b778\"\n          }\n        }\n      },\n      \"CollectionItemList\": {\n        \"description\": \"Results from collection items list\",\n        \"example\": {\n          \"value\": {\n            \"items\": [\n              {\n                \"_archived\": false,\n                \"_draft\": false,\n                \"color\": \"#a98080\",\n                \"name\": \"Exciting blog post title\",\n                \"post-body\": \"<p>Blog post contents...</p>\",\n                \"post-summary\": \"Summary of exciting blog post\",\n                \"main-image\": {\n                  \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n                },\n                \"slug\": \"exciting-post\",\n                \"author\": \"580e640c8c9a982ac9b8b778\",\n                \"updated-on\": \"2016-11-15T22:45:32.647Z\",\n                \"updated-by\": \"Person_5660c5338e9d3b0bee3b86aa\",\n                \"created-on\": \"2016-11-15T22:45:32.647Z\",\n                \"created-by\": \"Person_5660c5338e9d3b0bee3b86aa\",\n                \"published-on\": null,\n                \"published-by\": null,\n                \"_cid\": \"580e63fc8c9a982ac9b8b745\",\n                \"_id\": \"582b900cba19143b2bb8a759\"\n              }\n            ],\n            \"count\": 1,\n            \"limit\": 1,\n            \"offset\": 0,\n            \"total\": 5\n          }\n        },\n        \"properties\": {\n          \"items\": {\n            \"type\": \"array\",\n            \"description\": \"List of Items within the collection\",\n            \"items\": {\n              \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n              \"properties\": {\n                \"_archived\": {\n                  \"type\": \"boolean\",\n                  \"default\": false,\n                  \"description\": \"Boolean determining if the Item is set to archived\"\n                },\n                \"_draft\": {\n                  \"type\": \"boolean\",\n                  \"default\": false,\n                  \"description\": \"Boolean determining if the Item is set to draft\"\n                },\n                \"_id\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"example\": \"580e64008c9a982ac9b8b754\",\n                  \"description\": \"Unique identifier for the Item\"\n                },\n                \"_cid\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"example\": \"580e63fc8c9a982ac9b8b745\",\n                  \"description\": \"Unique identifier for the Collection the Item belongs within\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"example\": \"5 Principles Of Effective Web Design\",\n                  \"description\": \"Name given to the Item\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"example\": \"5-principles-of-effective-web-design\",\n                  \"description\": \"URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.\"\n                }\n              },\n              \"example\": {\n                \"value\": {\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"color\": \"#a98080\",\n                  \"name\": \"Exciting blog post title\",\n                  \"post-body\": \"<p>Blog post contents...</p>\",\n                  \"post-summary\": \"Summary of exciting blog post\",\n                  \"main-image\": {\n                    \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n                    \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n                  },\n                  \"slug\": \"exciting-post\",\n                  \"author\": \"580e640c8c9a982ac9b8b778\"\n                }\n              }\n            }\n          },\n          \"count\": {\n            \"type\": \"number\",\n            \"description\": \"Number of items returned\"\n          },\n          \"limit\": {\n            \"type\": \"number\",\n            \"default\": 100,\n            \"description\": \"The limit specified in the request\"\n          },\n          \"offset\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"description\": \"The offset specified for pagination\"\n          },\n          \"total\": {\n            \"type\": \"number\",\n            \"description\": \"Total number of items in the collection\"\n          }\n        }\n      },\n      \"PublishedItems\": {\n        \"description\": \"A list of items published\",\n        \"example\": {\n          \"value\": {\n            \"publishedItemIds\": [\n              \"62aa37923cf7a9de1ca4469c\",\n              \"62aa37923cf7a9de1ca44697\",\n              \"62aa37923cf7a9de1ca44696\"\n            ],\n            \"errors\": []\n          }\n        },\n        \"properties\": {\n          \"publishedItemIds\": {\n            \"type\": \"array\",\n            \"description\": \"Array of published item ids\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\",\n              \"description\": \"Unique identifier for a collection item\",\n              \"example\": \"62aa37923cf7a9de1ca4469c\"\n            }\n          },\n          \"errors\": {\n            \"type\": \"array\",\n            \"description\": \"Array of errors\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          }\n        }\n      },\n      \"RemovedItems\": {\n        \"description\": \"A list of items removed\",\n        \"example\": {\n          \"value\": {\n            \"deletedItemIds\": [\n              \"62aa37923cf7a9de1ca4469c\",\n              \"62aa37923cf7a9de1ca44697\",\n              \"62aa37923cf7a9de1ca44696\"\n            ],\n            \"errors\": []\n          }\n        },\n        \"properties\": {\n          \"deletedItemIds\": {\n            \"type\": \"array\",\n            \"description\": \"Array of deleted item ids\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\",\n              \"description\": \"Unique identifier for a collection item\",\n              \"example\": \"62aa37923cf7a9de1ca4469c\"\n            }\n          },\n          \"errors\": {\n            \"type\": \"array\",\n            \"description\": \"Array of errors\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          }\n        }\n      },\n      \"User\": {\n        \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n        \"example\": {\n          \"_id\": \"6287ec36a841b25637c663df\",\n          \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n          \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n          \"emailVerified\": true,\n          \"status\": \"verified\",\n          \"data\": {\n            \"accept-privacy\": false,\n            \"accept-communications\": false,\n            \"email\": \"Some.One@home.com\",\n            \"name\": \"Some One\"\n          }\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"6287ec36a841b25637c663df\",\n            \"description\": \"Unique identifier for the User\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The timestamp the user was created\",\n            \"example\": \"2016-10-24T19:41:29.156Z\"\n          },\n          \"updatedOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The timestamp the user was updated\",\n            \"example\": \"2016-10-24T19:41:29.156Z\"\n          },\n          \"invitedOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The timestamp the user was invited\",\n            \"example\": \"2016-10-24T19:41:29.156Z\"\n          },\n          \"lastLogin\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The timestamp the user was logged in\",\n            \"example\": \"2016-10-24T19:41:29.156Z\"\n          },\n          \"emailVerified\": {\n            \"type\": \"boolean\",\n            \"description\": \"Shows whether the user has verified their email address\"\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"description\": \"The status of the user\",\n            \"enum\": [\n              \"invited\",\n              \"verified\",\n              \"unverified\"\n            ]\n          },\n          \"data\": {\n            \"type\": \"object\",\n            \"description\": \"An object containing the User's basic info and custom fields\",\n            \"example\": {\n              \"accept-privacy\": false,\n              \"accept-communications\": false,\n              \"email\": \"some.one@home.com\",\n              \"name\": \"Some One\"\n            }\n          }\n        }\n      },\n      \"UserList\": {\n        \"type\": \"object\",\n        \"description\": \"The list users results\",\n        \"properties\": {\n          \"count\": {\n            \"type\": \"number\",\n            \"description\": \"Number of users returned\"\n          },\n          \"limit\": {\n            \"type\": \"number\",\n            \"default\": 100,\n            \"description\": \"The limit specified in the request\"\n          },\n          \"offset\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"description\": \"The offset specified for pagination\"\n          },\n          \"total\": {\n            \"type\": \"number\",\n            \"description\": \"Total number of users in the collection\"\n          },\n          \"users\": {\n            \"type\": \"array\",\n            \"description\": \"List of Users for a Site\",\n            \"items\": {\n              \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n              \"example\": {\n                \"_id\": \"6287ec36a841b25637c663df\",\n                \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n                \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n                \"emailVerified\": true,\n                \"status\": \"verified\",\n                \"data\": {\n                  \"accept-privacy\": false,\n                  \"accept-communications\": false,\n                  \"email\": \"Some.One@home.com\",\n                  \"name\": \"Some One\"\n                }\n              },\n              \"properties\": {\n                \"_id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"6287ec36a841b25637c663df\",\n                  \"description\": \"Unique identifier for the User\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"description\": \"The timestamp the user was created\",\n                  \"example\": \"2016-10-24T19:41:29.156Z\"\n                },\n                \"updatedOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"description\": \"The timestamp the user was updated\",\n                  \"example\": \"2016-10-24T19:41:29.156Z\"\n                },\n                \"invitedOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"description\": \"The timestamp the user was invited\",\n                  \"example\": \"2016-10-24T19:41:29.156Z\"\n                },\n                \"lastLogin\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"description\": \"The timestamp the user was logged in\",\n                  \"example\": \"2016-10-24T19:41:29.156Z\"\n                },\n                \"emailVerified\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"Shows whether the user has verified their email address\"\n                },\n                \"status\": {\n                  \"type\": \"string\",\n                  \"description\": \"The status of the user\",\n                  \"enum\": [\n                    \"invited\",\n                    \"verified\",\n                    \"unverified\"\n                  ]\n                },\n                \"data\": {\n                  \"type\": \"object\",\n                  \"description\": \"An object containing the User's basic info and custom fields\",\n                  \"example\": {\n                    \"accept-privacy\": false,\n                    \"accept-communications\": false,\n                    \"email\": \"some.one@home.com\",\n                    \"name\": \"Some One\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"example\": {\n          \"value\": {\n            \"users\": [\n              {\n                \"_id\": \"6287ec36a841b25637c663df\",\n                \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n                \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n                \"emailVerified\": false,\n                \"status\": \"unverified\",\n                \"data\": {\n                  \"accept-privacy\": false,\n                  \"accept-communications\": false,\n                  \"email\": \"Person.One@home.com\",\n                  \"name\": \"Person One\"\n                }\n              },\n              {\n                \"_id\": \"6287ec36a841b25637c663f0\",\n                \"createdOn\": \"2022-05-19T05:32:04.581Z\",\n                \"updatedOn\": \"2022-05-19T05:32:04.581Z\",\n                \"emailVerified\": false,\n                \"status\": \"unverified\",\n                \"data\": {\n                  \"accept-privacy\": false,\n                  \"accept-communications\": false,\n                  \"email\": \"Person.Two@home.com\",\n                  \"name\": \"Person Two\"\n                }\n              },\n              {\n                \"_id\": \"6287ec36a841b25637c663d9\",\n                \"createdOn\": \"2022-05-17T03:34:06.720Z\",\n                \"updatedOn\": \"2022-05-17T03:34:06.720Z\",\n                \"emailVerified\": true,\n                \"status\": \"verified\",\n                \"data\": {\n                  \"accept-privacy\": false,\n                  \"accept-communications\": false,\n                  \"email\": \"Person.Three@home.com\",\n                  \"name\": \"Person Three\"\n                }\n              },\n              {\n                \"_id\": \"6287ec37a841b25637c6641b\",\n                \"createdOn\": \"2022-05-15T03:46:09.748Z\",\n                \"updatedOn\": \"2022-05-15T03:46:09.748Z\",\n                \"emailVerified\": false,\n                \"status\": \"unverified\",\n                \"data\": {\n                  \"accept-privacy\": false,\n                  \"accept-communications\": false,\n                  \"email\": \"Person.Four@home.com\",\n                  \"name\": \"Person Four\"\n                }\n              },\n              {\n                \"_id\": \"6287ec37a841b25637c66449\",\n                \"createdOn\": \"2022-05-15T02:55:38.786Z\",\n                \"updatedOn\": \"2022-05-15T02:55:38.786Z\",\n                \"emailVerified\": true,\n                \"status\": \"verified\",\n                \"data\": {\n                  \"accept-privacy\": false,\n                  \"accept-communications\": false,\n                  \"email\": \"Person.Five@home.com\",\n                  \"name\": \"Person Five\"\n                }\n              }\n            ],\n            \"count\": 5,\n            \"limit\": 5,\n            \"offset\": 0,\n            \"total\": 201\n          }\n        }\n      },\n      \"AccessGroup\": {\n        \"example\": {\n          \"_id\": \"62be58d404be8a6cc900c081\",\n          \"name\": \"Webflowers\",\n          \"shortId\": \"jo\",\n          \"slug\": \"webflowers\",\n          \"createdOn\": \"2022-08-01T19:41:48.349Z\"\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"62be58d404be8a6cc900c081\",\n            \"description\": \"Unique identifier for the Access Group\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"Webflowers\",\n            \"description\": \"Name of the the Access Group\"\n          },\n          \"shortId\": {\n            \"type\": \"string\",\n            \"example\": \"jo\",\n            \"description\": \"Shortened unique identifier based on name, optimized for its use in the user’s JWT\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"example\": \"webflowers\",\n            \"description\": \"Shortened unique identifier based on name, optimized for human readability and public API use\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The date the Access Group was created\",\n            \"example\": \"2022-08-01T19:41:48.349Z\"\n          }\n        }\n      },\n      \"AccessGroupList\": {\n        \"type\": \"object\",\n        \"description\": \"The list access groups results\",\n        \"properties\": {\n          \"count\": {\n            \"type\": \"number\",\n            \"description\": \"Number of access groups returned\"\n          },\n          \"limit\": {\n            \"type\": \"number\",\n            \"default\": 100,\n            \"description\": \"The limit specified in the request\"\n          },\n          \"offset\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"description\": \"The offset specified for pagination\"\n          },\n          \"total\": {\n            \"type\": \"number\",\n            \"description\": \"Total number of access groups in the collection\"\n          },\n          \"accessGroups\": {\n            \"type\": \"array\",\n            \"description\": \"List of Site Access Groups\",\n            \"items\": {\n              \"example\": {\n                \"_id\": \"62be58d404be8a6cc900c081\",\n                \"name\": \"Webflowers\",\n                \"shortId\": \"jo\",\n                \"slug\": \"webflowers\",\n                \"createdOn\": \"2022-08-01T19:41:48.349Z\"\n              },\n              \"properties\": {\n                \"_id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"62be58d404be8a6cc900c081\",\n                  \"description\": \"Unique identifier for the Access Group\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"example\": \"Webflowers\",\n                  \"description\": \"Name of the the Access Group\"\n                },\n                \"shortId\": {\n                  \"type\": \"string\",\n                  \"example\": \"jo\",\n                  \"description\": \"Shortened unique identifier based on name, optimized for its use in the user’s JWT\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"example\": \"webflowers\",\n                  \"description\": \"Shortened unique identifier based on name, optimized for human readability and public API use\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"description\": \"The date the Access Group was created\",\n                  \"example\": \"2022-08-01T19:41:48.349Z\"\n                }\n              }\n            }\n          }\n        },\n        \"example\": {\n          \"value\": {\n            \"accessGroups\": [\n              {\n                \"_id\": \"62be58d404be8a6cc900c081\",\n                \"name\": \"Webflowers\",\n                \"shortId\": \"jo\",\n                \"slug\": \"webflowers\",\n                \"createdOn\": \"2022-08-01T19:41:48.349Z\"\n              }\n            ],\n            \"count\": 1,\n            \"limit\": 10,\n            \"offset\": 0,\n            \"total\": 1\n          }\n        }\n      },\n      \"Product\": {\n        \"description\": \"The Product object\",\n        \"type\": \"object\",\n        \"required\": [\n          \"_id\"\n        ],\n        \"example\": {\n          \"fields\": {\n            \"shippable\": true,\n            \"_archived\": false,\n            \"_draft\": false,\n            \"name\": \"Cloak Of Invisibility\",\n            \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n            \"sku-properties\": [\n              {\n                \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                \"name\": \"Color\",\n                \"enum\": [\n                  {\n                    \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                    \"name\": \"Obsidian Black\",\n                    \"slug\": \"obsidian-black\"\n                  },\n                  {\n                    \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                    \"name\": \"Smoke Grey\",\n                    \"slug\": \"smoke-grey\"\n                  },\n                  {\n                    \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                    \"name\": \"Forest Green\",\n                    \"slug\": \"forest-green\"\n                  }\n                ]\n              }\n            ],\n            \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n            \"slug\": \"cloak-of-invisibility-1\",\n            \"published-on\": null,\n            \"published-by\": null,\n            \"default-sku\": \"5e8518536e147040726cc416\"\n          }\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for collection\",\n            \"example\": \"580e63fc8c9a982ac9b8b745\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"readOnly\": true,\n            \"description\": \"The date the collection was last updated\",\n            \"example\": \"2016-10-24T19:42:38.929Z\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"readOnly\": true,\n            \"description\": \"The date the collection was create\",\n            \"example\": \"2016-10-24T19:41:48.349Z\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"readOnly\": true,\n            \"description\": \"Name given to Collection\",\n            \"example\": \"Products\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"readOnly\": true,\n            \"description\": \"Slug of Collection in Site URL structure\",\n            \"example\": \"product\"\n          },\n          \"singularName\": {\n            \"type\": \"string\",\n            \"readOnly\": true,\n            \"description\": \"The name of one Item in Collection (e.g. “product” if the Collection is called “Product”)\\n\",\n            \"example\": \"Product\"\n          },\n          \"fields\": {\n            \"description\": \"Fields in your product object\",\n            \"required\": true,\n            \"properties\": {\n              \"id\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"readOnly\": true,\n                \"description\": \"Unique identifier for the item\",\n                \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n              },\n              \"slug\": {\n                \"type\": \"string\",\n                \"description\": \"Slug of the item\",\n                \"required\": true,\n                \"default\": \"product-name\"\n              },\n              \"name\": {\n                \"type\": \"string\",\n                \"description\": \"item name\",\n                \"required\": true,\n                \"default\": \"Product Name\"\n              },\n              \"_archived\": {\n                \"type\": \"boolean\",\n                \"description\": \"item archive status\",\n                \"required\": true,\n                \"default\": false\n              },\n              \"_draft\": {\n                \"type\": \"boolean\",\n                \"description\": \"item draft status\",\n                \"default\": false,\n                \"required\": true\n              },\n              \"sku-properties\": {\n                \"type\": \"array\",\n                \"description\": \"Variant/Options types to include in SKUs\",\n                \"required\": false,\n                \"items\": {\n                  \"type\": \"object\",\n                  \"description\": \"A variant/optiontype for a SKU\",\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"description\": \"Unique identifier for a collection of product options/variants\",\n                      \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                      \"default\": null\n                    },\n                    \"name\": {\n                      \"type\": \"string\",\n                      \"description\": \"Nme of the collection of product options/variants\",\n                      \"example\": \"Color\"\n                    },\n                    \"enum\": {\n                      \"description\": \"The individual options/varaiants that are contained within the collection\",\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"description\": \"Enumerated variant/option of a SKU\",\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"id\": {\n                            \"type\": \"string\",\n                            \"description\": \"Unique identifier for a product variant/option\",\n                            \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                            \"default\": null\n                          },\n                          \"name\": {\n                            \"type\": \"string\",\n                            \"description\": \"Name of the option/variant\",\n                            \"example\": \"Royal Blue\"\n                          },\n                          \"slug\": {\n                            \"type\": \"string\",\n                            \"description\": \"slug of option/variant in Site URL structure\",\n                            \"example\": \"roayl-blue\"\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            },\n            \"additionalProperties\": {\n              \"description\": \"Add any custom fields that exist in your product\",\n              \"type\": \"string\"\n            }\n          }\n        }\n      },\n      \"ProductList\": {\n        \"description\": \"Results from product list\",\n        \"example\": {\n          \"value\": {\n            \"items\": [\n              {\n                \"product\": {\n                  \"shippable\": true,\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"name\": \"Cloak Of Invisibility\",\n                  \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                  \"sku-properties\": [\n                    {\n                      \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                      \"name\": \"Color\",\n                      \"enum\": [\n                        {\n                          \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                          \"name\": \"Obsidian Black\",\n                          \"slug\": \"obsidian-black\"\n                        },\n                        {\n                          \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                          \"name\": \"Smoke Grey\",\n                          \"slug\": \"smoke-grey\"\n                        },\n                        {\n                          \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                          \"name\": \"Forest Green\",\n                          \"slug\": \"forest-green\"\n                        }\n                      ]\n                    }\n                  ],\n                  \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                  \"slug\": \"cloak-of-invisibility-1\",\n                  \"updated-on\": \"2020-04-01T22:40:19.329Z\",\n                  \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"created-on\": \"2020-04-01T22:40:17.602Z\",\n                  \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"published-on\": null,\n                  \"published-by\": null,\n                  \"default-sku\": \"5e8518536e147040726cc416\",\n                  \"_cid\": \"5dd44c493543b37d5449b3a5\",\n                  \"_id\": \"5e8518516e147040726cc415\"\n                },\n                \"skus\": [\n                  {\n                    \"price\": {\n                      \"unit\": \"USD\",\n                      \"value\": 120000\n                    },\n                    \"_archived\": false,\n                    \"_draft\": false,\n                    \"sku-values\": {},\n                    \"width\": 56,\n                    \"length\": 0.3,\n                    \"height\": 72,\n                    \"weight\": 24,\n                    \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n                    \"main-image\": {\n                      \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                      \"alt\": null\n                    },\n                    \"more-images\": [\n                      {\n                        \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                        \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                        \"alt\": null\n                      },\n                      {\n                        \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                        \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                        \"alt\": null\n                      }\n                    ],\n                    \"download-files\": [\n                      {\n                        \"id\": \"5ebb1676c3244c2c6ae18814\",\n                        \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                        \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                      }\n                    ],\n                    \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n                    \"product\": \"5e8518516e147040726cc415\",\n                    \"updated-on\": \"2020-04-01T22:40:19.287Z\",\n                    \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                    \"created-on\": \"2020-04-01T22:40:19.287Z\",\n                    \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                    \"published-on\": null,\n                    \"published-by\": null,\n                    \"_cid\": \"5dd44c493543b37d5449b383\",\n                    \"_id\": \"5e8518536e147040726cc416\"\n                  }\n                ]\n              }\n            ],\n            \"count\": 1,\n            \"limit\": 100,\n            \"offset\": 0,\n            \"total\": 12\n          }\n        },\n        \"properties\": {\n          \"items\": {\n            \"type\": \"array\",\n            \"description\": \"List of Item objects within the Collection. Contains product and skus keys\",\n            \"items\": {\n              \"description\": \"The Product object\",\n              \"type\": \"object\",\n              \"required\": [\n                \"_id\"\n              ],\n              \"example\": {\n                \"fields\": {\n                  \"shippable\": true,\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"name\": \"Cloak Of Invisibility\",\n                  \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                  \"sku-properties\": [\n                    {\n                      \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                      \"name\": \"Color\",\n                      \"enum\": [\n                        {\n                          \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                          \"name\": \"Obsidian Black\",\n                          \"slug\": \"obsidian-black\"\n                        },\n                        {\n                          \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                          \"name\": \"Smoke Grey\",\n                          \"slug\": \"smoke-grey\"\n                        },\n                        {\n                          \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                          \"name\": \"Forest Green\",\n                          \"slug\": \"forest-green\"\n                        }\n                      ]\n                    }\n                  ],\n                  \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                  \"slug\": \"cloak-of-invisibility-1\",\n                  \"published-on\": null,\n                  \"published-by\": null,\n                  \"default-sku\": \"5e8518536e147040726cc416\"\n                }\n              },\n              \"properties\": {\n                \"_id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for collection\",\n                  \"example\": \"580e63fc8c9a982ac9b8b745\"\n                },\n                \"lastUpdated\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the collection was last updated\",\n                  \"example\": \"2016-10-24T19:42:38.929Z\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the collection was create\",\n                  \"example\": \"2016-10-24T19:41:48.349Z\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"Name given to Collection\",\n                  \"example\": \"Products\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"Slug of Collection in Site URL structure\",\n                  \"example\": \"product\"\n                },\n                \"singularName\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"The name of one Item in Collection (e.g. “product” if the Collection is called “Product”)\\n\",\n                  \"example\": \"Product\"\n                },\n                \"fields\": {\n                  \"description\": \"Fields in your product object\",\n                  \"required\": true,\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"readOnly\": true,\n                      \"description\": \"Unique identifier for the item\",\n                      \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                    },\n                    \"slug\": {\n                      \"type\": \"string\",\n                      \"description\": \"Slug of the item\",\n                      \"required\": true,\n                      \"default\": \"product-name\"\n                    },\n                    \"name\": {\n                      \"type\": \"string\",\n                      \"description\": \"item name\",\n                      \"required\": true,\n                      \"default\": \"Product Name\"\n                    },\n                    \"_archived\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"item archive status\",\n                      \"required\": true,\n                      \"default\": false\n                    },\n                    \"_draft\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"item draft status\",\n                      \"default\": false,\n                      \"required\": true\n                    },\n                    \"sku-properties\": {\n                      \"type\": \"array\",\n                      \"description\": \"Variant/Options types to include in SKUs\",\n                      \"required\": false,\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"description\": \"A variant/optiontype for a SKU\",\n                        \"properties\": {\n                          \"id\": {\n                            \"type\": \"string\",\n                            \"description\": \"Unique identifier for a collection of product options/variants\",\n                            \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                            \"default\": null\n                          },\n                          \"name\": {\n                            \"type\": \"string\",\n                            \"description\": \"Nme of the collection of product options/variants\",\n                            \"example\": \"Color\"\n                          },\n                          \"enum\": {\n                            \"description\": \"The individual options/varaiants that are contained within the collection\",\n                            \"type\": \"array\",\n                            \"items\": {\n                              \"description\": \"Enumerated variant/option of a SKU\",\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"id\": {\n                                  \"type\": \"string\",\n                                  \"description\": \"Unique identifier for a product variant/option\",\n                                  \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                                  \"default\": null\n                                },\n                                \"name\": {\n                                  \"type\": \"string\",\n                                  \"description\": \"Name of the option/variant\",\n                                  \"example\": \"Royal Blue\"\n                                },\n                                \"slug\": {\n                                  \"type\": \"string\",\n                                  \"description\": \"slug of option/variant in Site URL structure\",\n                                  \"example\": \"roayl-blue\"\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"additionalProperties\": {\n                    \"description\": \"Add any custom fields that exist in your product\",\n                    \"type\": \"string\"\n                  }\n                }\n              }\n            }\n          },\n          \"count\": {\n            \"type\": \"number\",\n            \"description\": \"Number of items returned\"\n          },\n          \"limit\": {\n            \"type\": \"number\",\n            \"default\": 100,\n            \"description\": \"The limit specified in the request\"\n          },\n          \"offset\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"description\": \"The offset specified for pagination\"\n          },\n          \"total\": {\n            \"type\": \"number\",\n            \"description\": \"Total number of items in the collection\"\n          }\n        }\n      },\n      \"ProductSKU\": {\n        \"description\": \"A Product and Default SKU\",\n        \"properties\": {\n          \"product\": {\n            \"description\": \"The Product object\",\n            \"type\": \"object\",\n            \"required\": [\n              \"_id\"\n            ],\n            \"example\": {\n              \"fields\": {\n                \"shippable\": true,\n                \"_archived\": false,\n                \"_draft\": false,\n                \"name\": \"Cloak Of Invisibility\",\n                \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                \"sku-properties\": [\n                  {\n                    \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                    \"name\": \"Color\",\n                    \"enum\": [\n                      {\n                        \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                        \"name\": \"Obsidian Black\",\n                        \"slug\": \"obsidian-black\"\n                      },\n                      {\n                        \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                        \"name\": \"Smoke Grey\",\n                        \"slug\": \"smoke-grey\"\n                      },\n                      {\n                        \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                        \"name\": \"Forest Green\",\n                        \"slug\": \"forest-green\"\n                      }\n                    ]\n                  }\n                ],\n                \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                \"slug\": \"cloak-of-invisibility-1\",\n                \"published-on\": null,\n                \"published-by\": null,\n                \"default-sku\": \"5e8518536e147040726cc416\"\n              }\n            },\n            \"properties\": {\n              \"_id\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"readOnly\": true,\n                \"description\": \"Unique identifier for collection\",\n                \"example\": \"580e63fc8c9a982ac9b8b745\"\n              },\n              \"lastUpdated\": {\n                \"type\": \"string\",\n                \"format\": \"date-time\",\n                \"readOnly\": true,\n                \"description\": \"The date the collection was last updated\",\n                \"example\": \"2016-10-24T19:42:38.929Z\"\n              },\n              \"createdOn\": {\n                \"type\": \"string\",\n                \"format\": \"date-time\",\n                \"readOnly\": true,\n                \"description\": \"The date the collection was create\",\n                \"example\": \"2016-10-24T19:41:48.349Z\"\n              },\n              \"name\": {\n                \"type\": \"string\",\n                \"readOnly\": true,\n                \"description\": \"Name given to Collection\",\n                \"example\": \"Products\"\n              },\n              \"slug\": {\n                \"type\": \"string\",\n                \"readOnly\": true,\n                \"description\": \"Slug of Collection in Site URL structure\",\n                \"example\": \"product\"\n              },\n              \"singularName\": {\n                \"type\": \"string\",\n                \"readOnly\": true,\n                \"description\": \"The name of one Item in Collection (e.g. “product” if the Collection is called “Product”)\\n\",\n                \"example\": \"Product\"\n              },\n              \"fields\": {\n                \"description\": \"Fields in your product object\",\n                \"required\": true,\n                \"properties\": {\n                  \"id\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"readOnly\": true,\n                    \"description\": \"Unique identifier for the item\",\n                    \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                  },\n                  \"slug\": {\n                    \"type\": \"string\",\n                    \"description\": \"Slug of the item\",\n                    \"required\": true,\n                    \"default\": \"product-name\"\n                  },\n                  \"name\": {\n                    \"type\": \"string\",\n                    \"description\": \"item name\",\n                    \"required\": true,\n                    \"default\": \"Product Name\"\n                  },\n                  \"_archived\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"item archive status\",\n                    \"required\": true,\n                    \"default\": false\n                  },\n                  \"_draft\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"item draft status\",\n                    \"default\": false,\n                    \"required\": true\n                  },\n                  \"sku-properties\": {\n                    \"type\": \"array\",\n                    \"description\": \"Variant/Options types to include in SKUs\",\n                    \"required\": false,\n                    \"items\": {\n                      \"type\": \"object\",\n                      \"description\": \"A variant/optiontype for a SKU\",\n                      \"properties\": {\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"description\": \"Unique identifier for a collection of product options/variants\",\n                          \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                          \"default\": null\n                        },\n                        \"name\": {\n                          \"type\": \"string\",\n                          \"description\": \"Nme of the collection of product options/variants\",\n                          \"example\": \"Color\"\n                        },\n                        \"enum\": {\n                          \"description\": \"The individual options/varaiants that are contained within the collection\",\n                          \"type\": \"array\",\n                          \"items\": {\n                            \"description\": \"Enumerated variant/option of a SKU\",\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"id\": {\n                                \"type\": \"string\",\n                                \"description\": \"Unique identifier for a product variant/option\",\n                                \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                                \"default\": null\n                              },\n                              \"name\": {\n                                \"type\": \"string\",\n                                \"description\": \"Name of the option/variant\",\n                                \"example\": \"Royal Blue\"\n                              },\n                              \"slug\": {\n                                \"type\": \"string\",\n                                \"description\": \"slug of option/variant in Site URL structure\",\n                                \"example\": \"roayl-blue\"\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                },\n                \"additionalProperties\": {\n                  \"description\": \"Add any custom fields that exist in your product\",\n                  \"type\": \"string\"\n                }\n              }\n            }\n          },\n          \"sku\": {\n            \"description\": \"The SKU object\",\n            \"type\": \"object\",\n            \"required\": [\n              \"_id\",\n              \"fields\"\n            ],\n            \"example\": {\n              \"price\": {\n                \"unit\": \"USD\",\n                \"value\": 120000\n              },\n              \"_archived\": false,\n              \"_draft\": false,\n              \"sku-values\": {},\n              \"width\": 56,\n              \"length\": 0.3,\n              \"height\": 72,\n              \"weight\": 24,\n              \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n              \"main-image\": {\n                \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                \"alt\": null\n              },\n              \"more-images\": [\n                {\n                  \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                  \"alt\": null\n                },\n                {\n                  \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                  \"alt\": null\n                }\n              ],\n              \"download-files\": [\n                {\n                  \"id\": \"5ebb1676c3244c2c6ae18814\",\n                  \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                  \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                }\n              ],\n              \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n              \"product\": \"5e8518516e147040726cc415\"\n            },\n            \"properties\": {\n              \"_id\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"readOnly\": true,\n                \"description\": \"Unique identifier for collection\",\n                \"example\": \"580e63fc8c9a982ac9b8b745\"\n              },\n              \"lastUpdated\": {\n                \"type\": \"string\",\n                \"format\": \"date-time\",\n                \"readOnly\": true,\n                \"description\": \"The date the collection was last updated\",\n                \"example\": \"2016-10-24T19:42:38.929Z\"\n              },\n              \"createdOn\": {\n                \"type\": \"string\",\n                \"format\": \"date-time\",\n                \"readOnly\": true,\n                \"description\": \"The date the collection was create\",\n                \"example\": \"2016-10-24T19:41:48.349Z\"\n              },\n              \"name\": {\n                \"type\": \"string\",\n                \"description\": \"Name given to Collection\",\n                \"readOnly\": true,\n                \"required\": true,\n                \"example\": \"SKUs\"\n              },\n              \"slug\": {\n                \"type\": \"string\",\n                \"description\": \"Slug of Collection in Site URL structure\",\n                \"readOnly\": true,\n                \"required\": true,\n                \"example\": \"sku\"\n              },\n              \"singularName\": {\n                \"type\": \"string\",\n                \"readOnly\": true,\n                \"description\": \"The name of one Item in Collection (e.g. “sku” if the Collection is called “SKU”)\",\n                \"example\": \"SKU\"\n              },\n              \"fields\": {\n                \"type\": \"object\",\n                \"description\": \"Fields in your SKU object\",\n                \"required\": true,\n                \"properties\": {\n                  \"id\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"readOnly\": true,\n                    \"description\": \"Unique identifier for the SKU\",\n                    \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                  },\n                  \"slug\": {\n                    \"type\": \"string\",\n                    \"description\": \"Slug of the SKU\",\n                    \"required\": true,\n                    \"default\": \"post-body\"\n                  },\n                  \"name\": {\n                    \"type\": \"string\",\n                    \"description\": \"SKU name\",\n                    \"default\": \"Cloak Of Invisibility Color: Obsidian Black\"\n                  },\n                  \"_archived\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"item archive status\",\n                    \"required\": true,\n                    \"default\": false\n                  },\n                  \"_draft\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"item draft status\",\n                    \"default\": false,\n                    \"required\": true\n                  },\n                  \"price\": {\n                    \"type\": \"object\",\n                    \"description\": \"price of SKU\",\n                    \"required\": true,\n                    \"properties\": {\n                      \"value\": {\n                        \"description\": \"Price of SKU\",\n                        \"type\": \"number\",\n                        \"default\": 2000,\n                        \"required\": true\n                      },\n                      \"unit\": {\n                        \"type\": \"string\",\n                        \"description\": \"Currency of Item\",\n                        \"default\": \"USD\",\n                        \"required\": true\n                      }\n                    }\n                  }\n                },\n                \"additionalProperties\": {\n                  \"description\": \"Add any custom fields that exist in your product\",\n                  \"type\": \"string\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"ProductSKUList\": {\n        \"description\": \"Return a Product and all associated SKUs\",\n        \"example\": {\n          \"value\": {\n            \"items\": [\n              {\n                \"product\": {\n                  \"shippable\": true,\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"name\": \"Cloak Of Invisibility\",\n                  \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                  \"sku-properties\": [\n                    {\n                      \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                      \"name\": \"Color\",\n                      \"enum\": [\n                        {\n                          \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                          \"name\": \"Obsidian Black\",\n                          \"slug\": \"obsidian-black\"\n                        },\n                        {\n                          \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                          \"name\": \"Smoke Grey\",\n                          \"slug\": \"smoke-grey\"\n                        },\n                        {\n                          \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                          \"name\": \"Forest Green\",\n                          \"slug\": \"forest-green\"\n                        }\n                      ]\n                    }\n                  ],\n                  \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                  \"slug\": \"cloak-of-invisibility-1\",\n                  \"updated-on\": \"2020-04-01T22:40:19.329Z\",\n                  \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"created-on\": \"2020-04-01T22:40:17.602Z\",\n                  \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"published-on\": null,\n                  \"published-by\": null,\n                  \"default-sku\": \"5e8518536e147040726cc416\",\n                  \"_cid\": \"5dd44c493543b37d5449b3a5\",\n                  \"_id\": \"5e8518516e147040726cc415\"\n                },\n                \"skus\": [\n                  {\n                    \"price\": {\n                      \"unit\": \"USD\",\n                      \"value\": 120000\n                    },\n                    \"_archived\": false,\n                    \"_draft\": false,\n                    \"sku-values\": {},\n                    \"width\": 56,\n                    \"length\": 0.3,\n                    \"height\": 72,\n                    \"weight\": 24,\n                    \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n                    \"main-image\": {\n                      \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                      \"alt\": null\n                    },\n                    \"more-images\": [\n                      {\n                        \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                        \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                        \"alt\": null\n                      },\n                      {\n                        \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                        \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                        \"alt\": null\n                      }\n                    ],\n                    \"download-files\": [\n                      {\n                        \"id\": \"5ebb1676c3244c2c6ae18814\",\n                        \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                        \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                      }\n                    ],\n                    \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n                    \"product\": \"5e8518516e147040726cc415\",\n                    \"updated-on\": \"2020-04-01T22:40:19.287Z\",\n                    \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                    \"created-on\": \"2020-04-01T22:40:19.287Z\",\n                    \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                    \"published-on\": null,\n                    \"published-by\": null,\n                    \"_cid\": \"5dd44c493543b37d5449b383\",\n                    \"_id\": \"5e8518536e147040726cc416\"\n                  }\n                ]\n              }\n            ],\n            \"count\": 1,\n            \"limit\": 100,\n            \"offset\": 0,\n            \"total\": 12\n          }\n        },\n        \"properties\": {\n          \"items\": {\n            \"type\": \"array\",\n            \"description\": \"List of SKUs for a Product\",\n            \"items\": {\n              \"description\": \"The Product object\",\n              \"type\": \"object\",\n              \"required\": [\n                \"_id\"\n              ],\n              \"example\": {\n                \"fields\": {\n                  \"shippable\": true,\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"name\": \"Cloak Of Invisibility\",\n                  \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                  \"sku-properties\": [\n                    {\n                      \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                      \"name\": \"Color\",\n                      \"enum\": [\n                        {\n                          \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                          \"name\": \"Obsidian Black\",\n                          \"slug\": \"obsidian-black\"\n                        },\n                        {\n                          \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                          \"name\": \"Smoke Grey\",\n                          \"slug\": \"smoke-grey\"\n                        },\n                        {\n                          \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                          \"name\": \"Forest Green\",\n                          \"slug\": \"forest-green\"\n                        }\n                      ]\n                    }\n                  ],\n                  \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                  \"slug\": \"cloak-of-invisibility-1\",\n                  \"published-on\": null,\n                  \"published-by\": null,\n                  \"default-sku\": \"5e8518536e147040726cc416\"\n                }\n              },\n              \"properties\": {\n                \"_id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for collection\",\n                  \"example\": \"580e63fc8c9a982ac9b8b745\"\n                },\n                \"lastUpdated\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the collection was last updated\",\n                  \"example\": \"2016-10-24T19:42:38.929Z\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the collection was create\",\n                  \"example\": \"2016-10-24T19:41:48.349Z\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"Name given to Collection\",\n                  \"example\": \"Products\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"Slug of Collection in Site URL structure\",\n                  \"example\": \"product\"\n                },\n                \"singularName\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"The name of one Item in Collection (e.g. “product” if the Collection is called “Product”)\\n\",\n                  \"example\": \"Product\"\n                },\n                \"fields\": {\n                  \"description\": \"Fields in your product object\",\n                  \"required\": true,\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"readOnly\": true,\n                      \"description\": \"Unique identifier for the item\",\n                      \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                    },\n                    \"slug\": {\n                      \"type\": \"string\",\n                      \"description\": \"Slug of the item\",\n                      \"required\": true,\n                      \"default\": \"product-name\"\n                    },\n                    \"name\": {\n                      \"type\": \"string\",\n                      \"description\": \"item name\",\n                      \"required\": true,\n                      \"default\": \"Product Name\"\n                    },\n                    \"_archived\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"item archive status\",\n                      \"required\": true,\n                      \"default\": false\n                    },\n                    \"_draft\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"item draft status\",\n                      \"default\": false,\n                      \"required\": true\n                    },\n                    \"sku-properties\": {\n                      \"type\": \"array\",\n                      \"description\": \"Variant/Options types to include in SKUs\",\n                      \"required\": false,\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"description\": \"A variant/optiontype for a SKU\",\n                        \"properties\": {\n                          \"id\": {\n                            \"type\": \"string\",\n                            \"description\": \"Unique identifier for a collection of product options/variants\",\n                            \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                            \"default\": null\n                          },\n                          \"name\": {\n                            \"type\": \"string\",\n                            \"description\": \"Nme of the collection of product options/variants\",\n                            \"example\": \"Color\"\n                          },\n                          \"enum\": {\n                            \"description\": \"The individual options/varaiants that are contained within the collection\",\n                            \"type\": \"array\",\n                            \"items\": {\n                              \"description\": \"Enumerated variant/option of a SKU\",\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"id\": {\n                                  \"type\": \"string\",\n                                  \"description\": \"Unique identifier for a product variant/option\",\n                                  \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                                  \"default\": null\n                                },\n                                \"name\": {\n                                  \"type\": \"string\",\n                                  \"description\": \"Name of the option/variant\",\n                                  \"example\": \"Royal Blue\"\n                                },\n                                \"slug\": {\n                                  \"type\": \"string\",\n                                  \"description\": \"slug of option/variant in Site URL structure\",\n                                  \"example\": \"roayl-blue\"\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"additionalProperties\": {\n                    \"description\": \"Add any custom fields that exist in your product\",\n                    \"type\": \"string\"\n                  }\n                }\n              }\n            }\n          },\n          \"count\": {\n            \"type\": \"number\",\n            \"description\": \"Number of items returned\"\n          },\n          \"limit\": {\n            \"type\": \"number\",\n            \"default\": 100,\n            \"description\": \"The limit specified in the request\"\n          },\n          \"offset\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"description\": \"The offset specified for pagination\"\n          },\n          \"total\": {\n            \"type\": \"number\",\n            \"description\": \"Total number of items in the collection\"\n          }\n        }\n      },\n      \"SKU\": {\n        \"description\": \"The SKU object\",\n        \"type\": \"object\",\n        \"required\": [\n          \"_id\",\n          \"fields\"\n        ],\n        \"example\": {\n          \"price\": {\n            \"unit\": \"USD\",\n            \"value\": 120000\n          },\n          \"_archived\": false,\n          \"_draft\": false,\n          \"sku-values\": {},\n          \"width\": 56,\n          \"length\": 0.3,\n          \"height\": 72,\n          \"weight\": 24,\n          \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n          \"main-image\": {\n            \"fileId\": \"5e85161dabd9ea4072cf1414\",\n            \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n            \"alt\": null\n          },\n          \"more-images\": [\n            {\n              \"fileId\": \"5e85161dabd9ea4072cf1414\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n              \"alt\": null\n            },\n            {\n              \"fileId\": \"5e85161dabd9ea4072cf1414\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n              \"alt\": null\n            }\n          ],\n          \"download-files\": [\n            {\n              \"id\": \"5ebb1676c3244c2c6ae18814\",\n              \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n              \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n            }\n          ],\n          \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n          \"product\": \"5e8518516e147040726cc415\"\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for collection\",\n            \"example\": \"580e63fc8c9a982ac9b8b745\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"readOnly\": true,\n            \"description\": \"The date the collection was last updated\",\n            \"example\": \"2016-10-24T19:42:38.929Z\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"readOnly\": true,\n            \"description\": \"The date the collection was create\",\n            \"example\": \"2016-10-24T19:41:48.349Z\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"Name given to Collection\",\n            \"readOnly\": true,\n            \"required\": true,\n            \"example\": \"SKUs\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"Slug of Collection in Site URL structure\",\n            \"readOnly\": true,\n            \"required\": true,\n            \"example\": \"sku\"\n          },\n          \"singularName\": {\n            \"type\": \"string\",\n            \"readOnly\": true,\n            \"description\": \"The name of one Item in Collection (e.g. “sku” if the Collection is called “SKU”)\",\n            \"example\": \"SKU\"\n          },\n          \"fields\": {\n            \"type\": \"object\",\n            \"description\": \"Fields in your SKU object\",\n            \"required\": true,\n            \"properties\": {\n              \"id\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"readOnly\": true,\n                \"description\": \"Unique identifier for the SKU\",\n                \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n              },\n              \"slug\": {\n                \"type\": \"string\",\n                \"description\": \"Slug of the SKU\",\n                \"required\": true,\n                \"default\": \"post-body\"\n              },\n              \"name\": {\n                \"type\": \"string\",\n                \"description\": \"SKU name\",\n                \"default\": \"Cloak Of Invisibility Color: Obsidian Black\"\n              },\n              \"_archived\": {\n                \"type\": \"boolean\",\n                \"description\": \"item archive status\",\n                \"required\": true,\n                \"default\": false\n              },\n              \"_draft\": {\n                \"type\": \"boolean\",\n                \"description\": \"item draft status\",\n                \"default\": false,\n                \"required\": true\n              },\n              \"price\": {\n                \"type\": \"object\",\n                \"description\": \"price of SKU\",\n                \"required\": true,\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"Price of SKU\",\n                    \"type\": \"number\",\n                    \"default\": 2000,\n                    \"required\": true\n                  },\n                  \"unit\": {\n                    \"type\": \"string\",\n                    \"description\": \"Currency of Item\",\n                    \"default\": \"USD\",\n                    \"required\": true\n                  }\n                }\n              }\n            },\n            \"additionalProperties\": {\n              \"description\": \"Add any custom fields that exist in your product\",\n              \"type\": \"string\"\n            }\n          }\n        }\n      },\n      \"SKUList\": {\n        \"description\": \"A list of SKUs\",\n        \"example\": {\n          \"value\": {\n            \"skus\": [\n              {\n                \"slug\": \"cloak-of-invisibility-color-smoke-grey\",\n                \"_archived\": false,\n                \"_draft\": false,\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 120000\n                },\n                \"more-images\": [],\n                \"download-files\": [\n                  {\n                    \"id\": \"5ebb1945c3244c2c6ae18822\",\n                    \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                    \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                  }\n                ],\n                \"sku-values\": {\n                  \"a37a7991f7ca1be0d349a805a2bddb5b\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\"\n                },\n                \"width\": 56,\n                \"length\": 0.3,\n                \"height\": 72,\n                \"weight\": 24,\n                \"name\": \"Cloak Of Invisibility Color: Smoke Grey\",\n                \"main-image\": {\n                  \"fileId\": \"5e8512181ae993035b15f315\",\n                  \"file\": {\n                    \"_id\": \"5e8512181ae993035b15f315\",\n                    \"variants\": [\n                      {\n                        \"_id\": \"5e85121b1ae993035b15f316\",\n                        \"origFileName\": \"external-content.duckduckgo.com-p-500.jpeg\",\n                        \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\",\n                        \"format\": \"jpeg\",\n                        \"size\": 54068,\n                        \"width\": 500,\n                        \"quality\": 100,\n                        \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\"\n                      }\n                    ],\n                    \"origFileName\": \"invisibility_cloak.jpg\",\n                    \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                    \"fileHash\": \"860b1b99ce90aa6c175bfcd9fd59fd42\",\n                    \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                    \"mimeType\": \"image/jpeg\",\n                    \"size\": 192263,\n                    \"width\": 550,\n                    \"height\": 550,\n                    \"database\": \"5e8402eb8a402e354bd469bb\",\n                    \"createdOn\": \"2020-04-01T22:13:44.889Z\",\n                    \"__v\": 1,\n                    \"updatedOn\": \"2020-04-01T22:13:59.777Z\"\n                  },\n                  \"fileSize\": 192263,\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                  \"alt\": null\n                },\n                \"product\": \"5e8518516e147040726cc415\",\n                \"updated-on\": \"2020-04-03T18:50:45.947Z\",\n                \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"created-on\": \"2020-04-03T18:50:45.947Z\",\n                \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"published-on\": null,\n                \"published-by\": null,\n                \"_cid\": \"5e8402eb8a402e354bd469be\",\n                \"_id\": \"5e8785855617d73f34627a93\"\n              },\n              {\n                \"_archived\": false,\n                \"_draft\": false,\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 120000\n                },\n                \"more-images\": [],\n                \"download-files\": [\n                  {\n                    \"id\": \"5ebb1945c3244c2c6ae18823\",\n                    \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                    \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                  }\n                ],\n                \"sku-values\": {\n                  \"a37a7991f7ca1be0d349a805a2bddb5b\": \"ef9511c0b56cc11ff47c5669f65030b4\"\n                },\n                \"width\": 56,\n                \"length\": 0.3,\n                \"height\": 72,\n                \"weight\": 24,\n                \"name\": \"Cloak Of Invisibility Color: Forest Green\",\n                \"main-image\": {\n                  \"fileId\": \"5e8512181ae993035b15f315\",\n                  \"file\": {\n                    \"_id\": \"5e8512181ae993035b15f315\",\n                    \"variants\": [\n                      {\n                        \"_id\": \"5e85121b1ae993035b15f316\",\n                        \"origFileName\": \"external-content.duckduckgo.com-p-500.jpeg\",\n                        \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\",\n                        \"format\": \"jpeg\",\n                        \"size\": 54068,\n                        \"width\": 500,\n                        \"quality\": 100,\n                        \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\"\n                      }\n                    ],\n                    \"origFileName\": \"invisibility_cloak.jpg\",\n                    \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                    \"fileHash\": \"860b1b99ce90aa6c175bfcd9fd59fd42\",\n                    \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                    \"mimeType\": \"image/jpeg\",\n                    \"size\": 192263,\n                    \"width\": 550,\n                    \"height\": 550,\n                    \"database\": \"5e8402eb8a402e354bd469bb\",\n                    \"createdOn\": \"2020-04-01T22:13:44.889Z\",\n                    \"__v\": 1,\n                    \"updatedOn\": \"2020-04-01T22:13:59.777Z\"\n                  },\n                  \"fileSize\": 192263,\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                  \"alt\": null\n                },\n                \"slug\": \"cloak-of-invisibility-color-forest-green\",\n                \"product\": \"5e8518516e147040726cc415\",\n                \"updated-on\": \"2020-04-03T18:50:45.949Z\",\n                \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"created-on\": \"2020-04-03T18:50:45.949Z\",\n                \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"published-on\": null,\n                \"published-by\": null,\n                \"_cid\": \"5e8402eb8a402e354bd469be\",\n                \"_id\": \"5e8785855617d73f34627a94\"\n              }\n            ]\n          }\n        },\n        \"properties\": {\n          \"skus\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"description\": \"The SKU object\",\n              \"type\": \"object\",\n              \"required\": [\n                \"_id\",\n                \"fields\"\n              ],\n              \"example\": {\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 120000\n                },\n                \"_archived\": false,\n                \"_draft\": false,\n                \"sku-values\": {},\n                \"width\": 56,\n                \"length\": 0.3,\n                \"height\": 72,\n                \"weight\": 24,\n                \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n                \"main-image\": {\n                  \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                  \"alt\": null\n                },\n                \"more-images\": [\n                  {\n                    \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                    \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                    \"alt\": null\n                  },\n                  {\n                    \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                    \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                    \"alt\": null\n                  }\n                ],\n                \"download-files\": [\n                  {\n                    \"id\": \"5ebb1676c3244c2c6ae18814\",\n                    \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                    \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                  }\n                ],\n                \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n                \"product\": \"5e8518516e147040726cc415\"\n              },\n              \"properties\": {\n                \"_id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for collection\",\n                  \"example\": \"580e63fc8c9a982ac9b8b745\"\n                },\n                \"lastUpdated\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the collection was last updated\",\n                  \"example\": \"2016-10-24T19:42:38.929Z\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the collection was create\",\n                  \"example\": \"2016-10-24T19:41:48.349Z\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"description\": \"Name given to Collection\",\n                  \"readOnly\": true,\n                  \"required\": true,\n                  \"example\": \"SKUs\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"description\": \"Slug of Collection in Site URL structure\",\n                  \"readOnly\": true,\n                  \"required\": true,\n                  \"example\": \"sku\"\n                },\n                \"singularName\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"The name of one Item in Collection (e.g. “sku” if the Collection is called “SKU”)\",\n                  \"example\": \"SKU\"\n                },\n                \"fields\": {\n                  \"type\": \"object\",\n                  \"description\": \"Fields in your SKU object\",\n                  \"required\": true,\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"readOnly\": true,\n                      \"description\": \"Unique identifier for the SKU\",\n                      \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                    },\n                    \"slug\": {\n                      \"type\": \"string\",\n                      \"description\": \"Slug of the SKU\",\n                      \"required\": true,\n                      \"default\": \"post-body\"\n                    },\n                    \"name\": {\n                      \"type\": \"string\",\n                      \"description\": \"SKU name\",\n                      \"default\": \"Cloak Of Invisibility Color: Obsidian Black\"\n                    },\n                    \"_archived\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"item archive status\",\n                      \"required\": true,\n                      \"default\": false\n                    },\n                    \"_draft\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"item draft status\",\n                      \"default\": false,\n                      \"required\": true\n                    },\n                    \"price\": {\n                      \"type\": \"object\",\n                      \"description\": \"price of SKU\",\n                      \"required\": true,\n                      \"properties\": {\n                        \"value\": {\n                          \"description\": \"Price of SKU\",\n                          \"type\": \"number\",\n                          \"default\": 2000,\n                          \"required\": true\n                        },\n                        \"unit\": {\n                          \"type\": \"string\",\n                          \"description\": \"Currency of Item\",\n                          \"default\": \"USD\",\n                          \"required\": true\n                        }\n                      }\n                    }\n                  },\n                  \"additionalProperties\": {\n                    \"description\": \"Add any custom fields that exist in your product\",\n                    \"type\": \"string\"\n                  }\n                }\n              }\n            }\n          }\n        }\n      },\n      \"SKUEnum\": {\n        \"description\": \"Enumerated variant/option of a SKU\",\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"description\": \"Unique identifier for a product variant/option\",\n            \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n            \"default\": null\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"Name of the option/variant\",\n            \"example\": \"Royal Blue\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"slug of option/variant in Site URL structure\",\n            \"example\": \"roayl-blue\"\n          }\n        }\n      },\n      \"SKUProperty\": {\n        \"type\": \"object\",\n        \"description\": \"A variant/optiontype for a SKU\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"description\": \"Unique identifier for a collection of product options/variants\",\n            \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n            \"default\": null\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"Nme of the collection of product options/variants\",\n            \"example\": \"Color\"\n          },\n          \"enum\": {\n            \"description\": \"The individual options/varaiants that are contained within the collection\",\n            \"type\": \"array\",\n            \"items\": {\n              \"description\": \"Enumerated variant/option of a SKU\",\n              \"type\": \"object\",\n              \"properties\": {\n                \"id\": {\n                  \"type\": \"string\",\n                  \"description\": \"Unique identifier for a product variant/option\",\n                  \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                  \"default\": null\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"description\": \"Name of the option/variant\",\n                  \"example\": \"Royal Blue\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"description\": \"slug of option/variant in Site URL structure\",\n                  \"example\": \"roayl-blue\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"SKUField\": {\n        \"type\": \"object\",\n        \"description\": \"Fields in your SKU object\",\n        \"required\": true,\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for the SKU\",\n            \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"Slug of the SKU\",\n            \"required\": true,\n            \"default\": \"post-body\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"SKU name\",\n            \"default\": \"Cloak Of Invisibility Color: Obsidian Black\"\n          },\n          \"_archived\": {\n            \"type\": \"boolean\",\n            \"description\": \"item archive status\",\n            \"required\": true,\n            \"default\": false\n          },\n          \"_draft\": {\n            \"type\": \"boolean\",\n            \"description\": \"item draft status\",\n            \"default\": false,\n            \"required\": true\n          },\n          \"price\": {\n            \"type\": \"object\",\n            \"description\": \"price of SKU\",\n            \"required\": true,\n            \"properties\": {\n              \"value\": {\n                \"description\": \"Price of SKU\",\n                \"type\": \"number\",\n                \"default\": 2000,\n                \"required\": true\n              },\n              \"unit\": {\n                \"type\": \"string\",\n                \"description\": \"Currency of Item\",\n                \"default\": \"USD\",\n                \"required\": true\n              }\n            }\n          }\n        },\n        \"additionalProperties\": {\n          \"description\": \"Add any custom fields that exist in your product\",\n          \"type\": \"string\"\n        }\n      },\n      \"ProductField\": {\n        \"description\": \"Fields in your product object\",\n        \"required\": true,\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for the item\",\n            \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"Slug of the item\",\n            \"required\": true,\n            \"default\": \"product-name\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"item name\",\n            \"required\": true,\n            \"default\": \"Product Name\"\n          },\n          \"_archived\": {\n            \"type\": \"boolean\",\n            \"description\": \"item archive status\",\n            \"required\": true,\n            \"default\": false\n          },\n          \"_draft\": {\n            \"type\": \"boolean\",\n            \"description\": \"item draft status\",\n            \"default\": false,\n            \"required\": true\n          },\n          \"sku-properties\": {\n            \"type\": \"array\",\n            \"description\": \"Variant/Options types to include in SKUs\",\n            \"required\": false,\n            \"items\": {\n              \"type\": \"object\",\n              \"description\": \"A variant/optiontype for a SKU\",\n              \"properties\": {\n                \"id\": {\n                  \"type\": \"string\",\n                  \"description\": \"Unique identifier for a collection of product options/variants\",\n                  \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                  \"default\": null\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"description\": \"Nme of the collection of product options/variants\",\n                  \"example\": \"Color\"\n                },\n                \"enum\": {\n                  \"description\": \"The individual options/varaiants that are contained within the collection\",\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"description\": \"Enumerated variant/option of a SKU\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"id\": {\n                        \"type\": \"string\",\n                        \"description\": \"Unique identifier for a product variant/option\",\n                        \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                        \"default\": null\n                      },\n                      \"name\": {\n                        \"type\": \"string\",\n                        \"description\": \"Name of the option/variant\",\n                        \"example\": \"Royal Blue\"\n                      },\n                      \"slug\": {\n                        \"type\": \"string\",\n                        \"description\": \"slug of option/variant in Site URL structure\",\n                        \"example\": \"roayl-blue\"\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"additionalProperties\": {\n          \"description\": \"Add any custom fields that exist in your product\",\n          \"type\": \"string\"\n        }\n      },\n      \"Field\": {\n        \"description\": \"Fields in your collection item\",\n        \"required\": [\n          \"slug\",\n          \"name\",\n          \"_archived\",\n          \"_draft\"\n        ],\n        \"example\": {\n          \"value\": {\n            \"name\": \"Exciting blog post title\",\n            \"slug\": \"exciting-post\",\n            \"_archived\": false,\n            \"_draft\": false,\n            \"color\": \"#a98080\",\n            \"author\": \"580e640c8c9a982ac9b8b778\",\n            \"post-body\": \"<p>Blog post contents...</p>\",\n            \"post-summary\": \"Summary of exciting blog post\",\n            \"main-image\": \"580e63fe8c9a982ac9b8b749\"\n          }\n        },\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for the item\",\n            \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"Slug of the item\",\n            \"default\": \"new-item\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"item name\",\n            \"default\": \"My New Item\"\n          },\n          \"_archived\": {\n            \"type\": \"boolean\",\n            \"description\": \"item archive status\",\n            \"default\": false\n          },\n          \"_draft\": {\n            \"type\": \"boolean\",\n            \"description\": \"item draft status\",\n            \"default\": false\n          }\n        },\n        \"additionalProperties\": {\n          \"description\": \"Add any custom fields that exist in your collection\",\n          \"type\": \"string\"\n        }\n      },\n      \"InnerFieldType\": {\n        \"type\": \"string\",\n        \"example\": \"ExtFileRef\",\n        \"enum\": [\n          \"ExtFileRef\",\n          \"ImageRef\"\n        ],\n        \"description\": \"Inner field types follow the same rules as field types, but are used to describe the type of a “Set” field Array element. They may use slightly different names in the Designer and Editor and have an “alt name” listed here which is the name of the field we publicly display. (For the API however, we only use the actual name of the field type).\\n\\n* `ExtFileRef` - An object containing name (string) and URL (string) properties\\n* `ImageRef` - Unique id for images in CMS\\n\"\n      },\n      \"FieldType\": {\n        \"type\": \"string\",\n        \"example\": \"RichText\",\n        \"enum\": [\n          \"Bool\",\n          \"Color\",\n          \"Date\",\n          \"ExtFileRef\",\n          \"ExtFileRefSet\",\n          \"ImageRef\",\n          \"ImageRefSet\",\n          \"ItemRef\",\n          \"ItemRefSet\",\n          \"Link\",\n          \"Number\",\n          \"Option\",\n          \"PlainText\",\n          \"RichText\",\n          \"Video\",\n          \"User\"\n        ],\n        \"description\": \"* `Bool`        - Yes/no switch used for filtering data that's displayed in your site, ex: `featured`\\n* `Color`       - CSS Color value (ie: `'red'` or `'#e3e3e3'`)\\n* `Date`        - Date field used to display any combination of month, day, year, and time\\n* `ExtFileRef`  - An object containing name (string) and URL (string) properties\\n* `ExtFileRefSet` - Field containing multiple objects for external files\\n* `ImageRef`    - Unique id for images in CMS\\n* `ImageRefSet` - Field containing multiple unique ids for images in CMS\\n* `ItemRef`     - Field containing item referenced from another Collection\\n* `ItemRefSet`  - Field containing multiple items referenced from another Collection\\n* `Link`        - URL field where the value can be used as a link destination for buttons, link text, and link blocks\\n* `Number`      - Single line input field used only for numbers\\n* `Option`      - Dropdown field with multiple options\\n* `PlainText`   - Unformatted text (no images, styles, etc.)\\n* `RichText`    - Formatted text (with headers, hyperlinks, images, etc.)\\n* `Video`       - Video link field used to embed videos from YouTube and Vimeo\\n\"\n      },\n      \"Validation\": {\n        \"description\": \"Each field also may have a validations object which defines all of the validations which have been set for the given field. The “TYPE” column defines the data type of the validations.\\n\",\n        \"example\": {\n          \"value\": {\n            \"singleLine\": false,\n            \"maxLength\": 256,\n            \"messages\": {\n              \"maxLength\": \"Must be less than 256 characters\",\n              \"pattern\": \"Must be alphanumerical and not contain any spaces or special characters\"\n            },\n            \"pattern\": {}\n          }\n        },\n        \"properties\": {\n          \"maxLength\": {\n            \"type\": \"number\"\n          },\n          \"minLength\": {\n            \"type\": \"number\"\n          },\n          \"minimum\": {\n            \"type\": \"number\"\n          },\n          \"maximum\": {\n            \"type\": \"number\"\n          },\n          \"maxSize\": {\n            \"type\": \"number\"\n          },\n          \"decimalPlaces\": {\n            \"type\": \"number\"\n          },\n          \"singleLine\": {\n            \"type\": \"boolean\"\n          },\n          \"options\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"format\": {\n            \"type\": \"string\"\n          },\n          \"precision\": {\n            \"type\": \"number\"\n          },\n          \"allowNegative\": {\n            \"type\": \"boolean\"\n          },\n          \"collectionId\": {\n            \"type\": \"string\"\n          }\n        }\n      },\n      \"CategoryCollection\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"_id\"\n        ],\n        \"example\": {\n          \"_id\": \"5e8402eb8a402e354bd469bc\",\n          \"name\": \"Categories\",\n          \"slug\": \"category\",\n          \"singularName\": \"Category\",\n          \"createdOn\": \"2020-04-01T02:56:43.638Z\",\n          \"lastUpdated\": \"2020-04-01T02:56:43.690Z\",\n          \"fields\": [\n            {\n              \"id\": \"a624247e3528136a36a8b1c5dbdc2632\",\n              \"name\": \"Name\",\n              \"slug\": \"name\",\n              \"type\": \"PlainText\",\n              \"required\": true,\n              \"editable\": true,\n              \"validations\": {\n                \"maxLength\": 256\n              }\n            },\n            {\n              \"id\": \"7c3fbdf76e7f2d6e894878fce6373e4e\",\n              \"name\": \"Slug\",\n              \"slug\": \"slug\",\n              \"type\": \"PlainText\",\n              \"required\": true,\n              \"editable\": true,\n              \"unique\": true,\n              \"validations\": {\n                \"maxLength\": 256,\n                \"pattern\": {},\n                \"messages\": {\n                  \"pattern\": \"Must be alphanumerical and not contain any spaces or special characters\",\n                  \"maxLength\": \"Must be less than 256 characters\"\n                }\n              }\n            },\n            {\n              \"id\": \"924a90e06131260ec1b4cde3fe04c78b\",\n              \"name\": \"Archived\",\n              \"slug\": \"_archived\",\n              \"type\": \"Bool\",\n              \"required\": true,\n              \"editable\": true,\n              \"default\": false\n            },\n            {\n              \"id\": \"e0de891b154790b2b5a7887c96e69673\",\n              \"name\": \"Draft\",\n              \"slug\": \"_draft\",\n              \"type\": \"Bool\",\n              \"required\": true,\n              \"editable\": true,\n              \"default\": false\n            },\n            {\n              \"id\": \"d005eb440992807385b5527d7ac3df43\",\n              \"name\": \"Created On\",\n              \"slug\": \"created-on\",\n              \"type\": \"Date\",\n              \"required\": false,\n              \"editable\": false\n            },\n            {\n              \"id\": \"885952f7145ef136f1e33ee5718a203d\",\n              \"name\": \"Updated On\",\n              \"slug\": \"updated-on\",\n              \"type\": \"Date\",\n              \"required\": false,\n              \"editable\": false\n            },\n            {\n              \"id\": \"54fb5afe9258d9d7eb4e7d105ad4ecf4\",\n              \"name\": \"Published On\",\n              \"slug\": \"published-on\",\n              \"type\": \"Date\",\n              \"required\": false,\n              \"editable\": false\n            },\n            {\n              \"id\": \"42426a9a2fae38908c0f24785fd947ee\",\n              \"name\": \"Created By\",\n              \"slug\": \"created-by\",\n              \"type\": \"User\",\n              \"required\": false,\n              \"editable\": false\n            },\n            {\n              \"id\": \"cb36015872421ae965b88d77ce3bbdaa\",\n              \"name\": \"Updated By\",\n              \"slug\": \"updated-by\",\n              \"type\": \"User\",\n              \"required\": false,\n              \"editable\": false\n            },\n            {\n              \"id\": \"a2741c16493270db634b2b6122dd8ebe\",\n              \"name\": \"Published By\",\n              \"slug\": \"published-by\",\n              \"type\": \"User\",\n              \"required\": false,\n              \"editable\": false\n            }\n          ]\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Unique identifier for collection\",\n            \"example\": \"580e63fc8c9a982ac9b8b745\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The date the collection was last updated\",\n            \"example\": \"2016-10-24T19:42:38.929Z\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The date the collection was create\",\n            \"example\": \"2016-10-24T19:41:48.349Z\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"Name given to Collection\",\n            \"example\": \"Categories\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"Slug of Collection in Site URL structure\",\n            \"example\": \"category\"\n          },\n          \"singularName\": {\n            \"type\": \"string\",\n            \"description\": \"The name of one Item in Collection (e.g. “category” if the Collection is called “Category”)\",\n            \"example\": \"Category\"\n          },\n          \"fields\": {\n            \"type\": \"array\",\n            \"description\": \"The list of fields in the collection\",\n            \"items\": {\n              \"description\": \"Fields in your collection item\",\n              \"required\": [\n                \"slug\",\n                \"name\",\n                \"_archived\",\n                \"_draft\"\n              ],\n              \"example\": {\n                \"value\": {\n                  \"name\": \"Exciting blog post title\",\n                  \"slug\": \"exciting-post\",\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"color\": \"#a98080\",\n                  \"author\": \"580e640c8c9a982ac9b8b778\",\n                  \"post-body\": \"<p>Blog post contents...</p>\",\n                  \"post-summary\": \"Summary of exciting blog post\",\n                  \"main-image\": \"580e63fe8c9a982ac9b8b749\"\n                }\n              },\n              \"properties\": {\n                \"id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for the item\",\n                  \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"description\": \"Slug of the item\",\n                  \"default\": \"new-item\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"description\": \"item name\",\n                  \"default\": \"My New Item\"\n                },\n                \"_archived\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"item archive status\",\n                  \"default\": false\n                },\n                \"_draft\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"item draft status\",\n                  \"default\": false\n                }\n              },\n              \"additionalProperties\": {\n                \"description\": \"Add any custom fields that exist in your collection\",\n                \"type\": \"string\"\n              }\n            }\n          }\n        }\n      },\n      \"StripeDetails\": {\n        \"description\": \"An object with various Stripe IDs, useful for linking into the stripe dashboard.\",\n        \"example\": {\n          \"refundReason\": null,\n          \"refundId\": null,\n          \"disputeId\": null,\n          \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n          \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n        },\n        \"properties\": {\n          \"refundReason\": {\n            \"type\": \"string\",\n            \"description\": \"Stripe customer ID, or null.\",\n            \"example\": null\n          },\n          \"refundId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Stripe charge ID, or null.\",\n            \"example\": null\n          },\n          \"disputeId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Stripe dispute ID, or null.\",\n            \"example\": null\n          },\n          \"chargeId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Stripe refund ID, or null.\",\n            \"example\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\"\n          },\n          \"customerId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"cus_E5ajeiWNHEtcAW\"\n          }\n        }\n      },\n      \"StripeCard\": {\n        \"description\": \"Details on the card used to fulfill this order, if this order was finalized with Stripe.\\n\",\n        \"example\": {\n          \"last4\": \"4242\",\n          \"brand\": \"Visa\",\n          \"ownerName\": \"Customerio Namen\",\n          \"expires\": {\n            \"year\": 2023,\n            \"month\": 12\n          }\n        },\n        \"properties\": {\n          \"last4\": {\n            \"type\": \"string\",\n            \"description\": \"The last 4 digits on the card.\",\n            \"example\": \"4242\"\n          },\n          \"brand\": {\n            \"type\": \"string\",\n            \"description\": \"The card’s brand.\",\n            \"example\": \"Visa\",\n            \"enum\": [\n              \"Visa\",\n              \"American Express\",\n              \"MasterCard\",\n              \"Discover\",\n              \"JCB\",\n              \"Diners Club\",\n              \"Unknown\"\n            ]\n          },\n          \"ownerName\": {\n            \"type\": \"string\",\n            \"description\": \"The name on the card.\",\n            \"example\": \"Customerio Namen\"\n          },\n          \"expires\": {\n            \"type\": \"object\",\n            \"description\": \"The card’s expiration date.\",\n            \"properties\": {\n              \"year\": {\n                \"type\": \"number\",\n                \"example\": 2023\n              },\n              \"month\": {\n                \"type\": \"number\",\n                \"example\": 12\n              }\n            }\n          }\n        }\n      },\n      \"OrderAmount\": {\n        \"example\": {\n          \"unit\": \"USD\",\n          \"value\": 5892,\n          \"string\": \"$58.92\"\n        },\n        \"description\": \"The sum of all line items.\",\n        \"properties\": {\n          \"unit\": {\n            \"type\": \"string\",\n            \"example\": \"USD\"\n          },\n          \"value\": {\n            \"type\": \"string\",\n            \"example\": \"6099\"\n          },\n          \"string\": {\n            \"type\": \"string\",\n            \"example\": \"$60.99\"\n          }\n        }\n      },\n      \"OrderAddress\": {\n        \"description\": \"A customer address\",\n        \"example\": {\n          \"type\": \"billing\",\n          \"addressee\": \"Customerio Namen\",\n          \"line1\": \"123 Example Rd\",\n          \"line2\": \"\",\n          \"city\": \"Examplesville\",\n          \"state\": \"CA\",\n          \"country\": \"US\",\n          \"postalCode\": \"90012\"\n        },\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"example\": \"shipping\",\n            \"enum\": [\n              \"shipping\",\n              \"billing\"\n            ]\n          },\n          \"addressee\": {\n            \"type\": \"string\",\n            \"example\": \"Customerio Namen\"\n          },\n          \"line1\": {\n            \"type\": \"string\",\n            \"example\": \"123 Example Rd\"\n          },\n          \"line2\": {\n            \"type\": \"string\",\n            \"example\": null\n          },\n          \"city\": {\n            \"type\": \"string\",\n            \"example\": \"Examplesville\"\n          },\n          \"state\": {\n            \"type\": \"string\",\n            \"example\": \"CA\"\n          },\n          \"country\": {\n            \"type\": \"string\",\n            \"example\": \"US\"\n          },\n          \"postalCode\": {\n            \"type\": \"string\",\n            \"example\": \"90012\"\n          }\n        }\n      },\n      \"OrderCustomerInfo\": {\n        \"example\": {\n          \"fullName\": \"Customerio Namen\",\n          \"email\": \"renning+customer@webflow.com\"\n        },\n        \"description\": \"An object with the keys `fullName` and `email`.\",\n        \"properties\": {\n          \"fullName\": {\n            \"type\": \"string\",\n            \"example\": \"Customerio Namen\"\n          },\n          \"email\": {\n            \"type\": \"string\",\n            \"format\": \"email\",\n            \"example\": \"renning+customer@webflow.com\"\n          }\n        }\n      },\n      \"OrderDownloadedFile\": {\n        \"example\": {\n          \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n          \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n          \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n        },\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"5e9a5eba75e0ac242e1b6f64\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"The modern web design process - Webflow Ebook.pdf\"\n          },\n          \"url\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"example\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n          }\n        }\n      },\n      \"OrderItemImage\": {\n        \"example\": {\n          \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n          \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n        },\n        \"properties\": {\n          \"fileId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"5bfedb42bab0ad90fa7dad2e\"\n          },\n          \"url\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"example\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n          }\n        }\n      },\n      \"OrderPurchasedItem\": {\n        \"example\": {\n          \"count\": 1,\n          \"rowTotal\": {\n            \"unit\": \"USD\",\n            \"value\": 5500,\n            \"string\": \"$55.00\"\n          },\n          \"productId\": \"5eb9fd05caef491eb9757183\",\n          \"productName\": \"White Cup\",\n          \"productSlug\": \"white-cup\",\n          \"variantId\": \"5eb9fcace279761d8199790c\",\n          \"variantName\": \"white-cup_default_sku\",\n          \"variantSlug\": \"white-cup-default-sku\",\n          \"variantImage\": {\n            \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n            \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n          },\n          \"variantPrice\": {\n            \"unit\": \"USD\",\n            \"value\": 5500,\n            \"string\": \"$55.00\"\n          },\n          \"height\": 7,\n          \"length\": 2,\n          \"weight\": 5,\n          \"width\": 4\n        },\n        \"description\": \"An item that was purchased\",\n        \"properties\": {\n          \"count\": {\n            \"type\": \"number\",\n            \"example\": 1,\n            \"description\": \"Number of item purchased.\"\n          },\n          \"rowTotal\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          },\n          \"productId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"5eb9fd05caef491eb9757183\",\n            \"description\": \"String Product Id.\"\n          },\n          \"productName\": {\n            \"type\": \"string\",\n            \"example\": \"White Cup\",\n            \"description\": \"Name of the product.\"\n          },\n          \"productSlug\": {\n            \"type\": \"string\",\n            \"example\": \"white-cup\",\n            \"description\": \"Slug of the product.\"\n          },\n          \"variantId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"5eb9fcace279761d8199790c\",\n            \"description\": \"String Variant Id. (SKU)\"\n          },\n          \"variantName\": {\n            \"type\": \"string\",\n            \"example\": \"white-cup_default_sku\",\n            \"description\": \"Name of the variant. (SKU)\"\n          },\n          \"variantSlug\": {\n            \"type\": \"string\",\n            \"example\": \"white-cup-default-sku\",\n            \"description\": \"Slug of the variant. (SKU)\"\n          },\n          \"variantImage\": {\n            \"example\": {\n              \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n            },\n            \"properties\": {\n              \"fileId\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"example\": \"5bfedb42bab0ad90fa7dad2e\"\n              },\n              \"url\": {\n                \"type\": \"string\",\n                \"format\": \"uri\",\n                \"example\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n              }\n            }\n          },\n          \"variantPrice\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          },\n          \"height\": {\n            \"type\": \"number\",\n            \"example\": 7,\n            \"description\": \"The height of the variant if provided, 0 otherwise.\"\n          },\n          \"length\": {\n            \"type\": \"number\",\n            \"example\": 2,\n            \"description\": \"The length of the variant if provided, 0 otherwise.\"\n          },\n          \"width\": {\n            \"type\": \"number\",\n            \"example\": 4,\n            \"description\": \"The width of the variant if provided, 0 otherwise\"\n          },\n          \"weight\": {\n            \"type\": \"number\",\n            \"example\": 5,\n            \"description\": \"The weight of the variant if provided, 0 otherwise.\"\n          },\n          \"purchasedItemsCount\": {\n            \"type\": \"number\",\n            \"example\": 1,\n            \"description\": \"The sum of all 'count' fields in 'purchasedItems'.\"\n          }\n        }\n      },\n      \"OrderExtra\": {\n        \"description\": \"Extra order items, includes discounts, shipping, and taxes.\",\n        \"example\": {\n          \"type\": \"tax\",\n          \"name\": \"State Taxes\",\n          \"description\": \"CA Taxes (6.25%)\",\n          \"price\": {\n            \"unit\": \"USD\",\n            \"value\": 344,\n            \"string\": \"$3.44\"\n          }\n        },\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"example\": \"tax\",\n            \"description\": \"The type of extra item this is.\",\n            \"enum\": [\n              \"discount\",\n              \"discount-shipping\",\n              \"shipping\",\n              \"tax\"\n            ]\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"shipping\",\n            \"description\": \"A human-readable (but English) name for this extra charge.\"\n          },\n          \"description\": {\n            \"type\": \"string\",\n            \"example\": \"Flat Rate\",\n            \"description\": \"A human-readable (but English) description of this extra charge.\"\n          },\n          \"price\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          }\n        }\n      },\n      \"OrderTotals\": {\n        \"description\": \"An object describing various pricing totals.\",\n        \"example\": {\n          \"subtotal\": {\n            \"unit\": \"USD\",\n            \"value\": 5500,\n            \"string\": \"$55.00\"\n          }\n        },\n        \"properties\": {\n          \"subtotal\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          },\n          \"extras\": {\n            \"type\": \"array\",\n            \"description\": \"An array of extra items, includes discounts, shipping, and taxes.\",\n            \"items\": {\n              \"description\": \"Extra order items, includes discounts, shipping, and taxes.\",\n              \"example\": {\n                \"type\": \"tax\",\n                \"name\": \"State Taxes\",\n                \"description\": \"CA Taxes (6.25%)\",\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 344,\n                  \"string\": \"$3.44\"\n                }\n              },\n              \"properties\": {\n                \"type\": {\n                  \"type\": \"string\",\n                  \"example\": \"tax\",\n                  \"description\": \"The type of extra item this is.\",\n                  \"enum\": [\n                    \"discount\",\n                    \"discount-shipping\",\n                    \"shipping\",\n                    \"tax\"\n                  ]\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"example\": \"shipping\",\n                  \"description\": \"A human-readable (but English) name for this extra charge.\"\n                },\n                \"description\": {\n                  \"type\": \"string\",\n                  \"example\": \"Flat Rate\",\n                  \"description\": \"A human-readable (but English) description of this extra charge.\"\n                },\n                \"price\": {\n                  \"example\": {\n                    \"unit\": \"USD\",\n                    \"value\": 5892,\n                    \"string\": \"$58.92\"\n                  },\n                  \"description\": \"The sum of all line items.\",\n                  \"properties\": {\n                    \"unit\": {\n                      \"type\": \"string\",\n                      \"example\": \"USD\"\n                    },\n                    \"value\": {\n                      \"type\": \"string\",\n                      \"example\": \"6099\"\n                    },\n                    \"string\": {\n                      \"type\": \"string\",\n                      \"example\": \"$60.99\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"total\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          }\n        }\n      },\n      \"Order\": {\n        \"example\": {\n          \"value\": {\n            \"orderId\": \"dfa-3f1\",\n            \"status\": \"unfulfilled\",\n            \"comment\": \"\",\n            \"orderComment\": \"\",\n            \"acceptedOn\": \"2018-12-03T22:06:15.761Z\",\n            \"disputedOn\": null,\n            \"disputeUpdatedOn\": null,\n            \"disputeLastStatus\": null,\n            \"fulfilledOn\": null,\n            \"refundedOn\": null,\n            \"customerPaid\": {\n              \"unit\": \"USD\",\n              \"value\": 6099,\n              \"string\": \"$60.99\"\n            },\n            \"netAmount\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"requiresShipping\": true,\n            \"shippingProvider\": null,\n            \"shippingTracking\": null,\n            \"customerInfo\": {\n              \"fullName\": \"Customerio Namen\",\n              \"email\": \"renning+customer@webflow.com\"\n            },\n            \"allAddresses\": [\n              {\n                \"type\": \"billing\",\n                \"addressee\": \"Customerio Namen\",\n                \"line1\": \"123 Example Rd\",\n                \"line2\": \"\",\n                \"city\": \"Examplesville\",\n                \"state\": \"CA\",\n                \"country\": \"US\",\n                \"postalCode\": \"90012\"\n              },\n              {\n                \"type\": \"shipping\",\n                \"addressee\": \"Customerio Namen\",\n                \"line1\": \"123 Example Rd\",\n                \"line2\": \"\",\n                \"city\": \"Examplesville\",\n                \"state\": \"CA\",\n                \"country\": \"US\",\n                \"postalCode\": \"90012\"\n              }\n            ],\n            \"shippingAddress\": {\n              \"type\": \"shipping\",\n              \"addressee\": \"Customerio Namen\",\n              \"line1\": \"123 Example Rd\",\n              \"line2\": \"\",\n              \"city\": \"Examplesville\",\n              \"state\": \"CA\",\n              \"country\": \"US\",\n              \"postalCode\": \"90012\"\n            },\n            \"billingAddress\": {\n              \"type\": \"billing\",\n              \"addressee\": \"Customerio Namen\",\n              \"line1\": \"123 Example Rd\",\n              \"line2\": \"\",\n              \"city\": \"Examplesville\",\n              \"state\": \"CA\",\n              \"country\": \"US\",\n              \"postalCode\": \"90012\"\n            },\n            \"purchasedItems\": [\n              {\n                \"count\": 1,\n                \"rowTotal\": {\n                  \"unit\": \"USD\",\n                  \"value\": 5500,\n                  \"string\": \"$55.00\"\n                },\n                \"productId\": \"5eb9fd05caef491eb9757183\",\n                \"productName\": \"White Cup\",\n                \"productSlug\": \"white-cup\",\n                \"variantId\": \"5eb9fcace279761d8199790c\",\n                \"variantName\": \"white-cup_default_sku\",\n                \"variantSlug\": \"white-cup-default-sku\",\n                \"variantImage\": {\n                  \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                },\n                \"variantPrice\": {\n                  \"unit\": \"USD\",\n                  \"value\": 5500,\n                  \"string\": \"$55.00\"\n                },\n                \"height\": 7,\n                \"length\": 2,\n                \"weight\": 5,\n                \"width\": 4\n              }\n            ],\n            \"purchasedItemsCount\": 1,\n            \"stripeDetails\": {\n              \"refundReason\": null,\n              \"refundId\": null,\n              \"disputeId\": null,\n              \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n              \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n            },\n            \"stripeCard\": {\n              \"last4\": \"4242\",\n              \"brand\": \"Visa\",\n              \"ownerName\": \"Customerio Namen\",\n              \"expires\": {\n                \"year\": 2023,\n                \"month\": 12\n              }\n            },\n            \"totals\": {\n              \"subtotal\": {\n                \"unit\": \"USD\",\n                \"value\": 5500,\n                \"string\": \"$55.00\"\n              },\n              \"extras\": [\n                {\n                  \"type\": \"tax\",\n                  \"name\": \"State Taxes\",\n                  \"description\": \"CA Taxes (6.25%)\",\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": 344,\n                    \"string\": \"$3.44\"\n                  }\n                },\n                {\n                  \"type\": \"tax\",\n                  \"name\": \"County Taxes\",\n                  \"description\": \"LOS ANGELES Taxes (1.00%)\",\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": 55,\n                    \"string\": \"$0.55\"\n                  }\n                },\n                {\n                  \"type\": \"tax\",\n                  \"name\": \"Special District Taxes\",\n                  \"description\": \"Special District Taxes (2.25%)\",\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": 124,\n                    \"string\": \"$1.24\"\n                  }\n                },\n                {\n                  \"type\": \"shipping\",\n                  \"name\": \"Flat Rate\",\n                  \"description\": \"\",\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": 599,\n                    \"string\": \"$5.99\"\n                  }\n                },\n                {\n                  \"type\": \"discount\",\n                  \"name\": \"Discount (SAVE5)\",\n                  \"description\": \"\",\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": -500,\n                    \"string\": \"-$ 5.00 USD\"\n                  }\n                }\n              ],\n              \"total\": {\n                \"unit\": \"USD\",\n                \"value\": 6122,\n                \"string\": \"$61.22\"\n              }\n            },\n            \"customData\": [\n              {\n                \"textInput\": \"(415) 123-4567\",\n                \"name\": \"Telephone\"\n              },\n              {\n                \"textArea\": \"Happy birthday Mom!\",\n                \"name\": \"Gift note\"\n              },\n              {\n                \"checkbox\": true,\n                \"name\": \"Send as gift\"\n              }\n            ],\n            \"downloadFiles\": [\n              {\n                \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n                \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n              },\n              {\n                \"id\": \"5e9a5eba75e0ac242e1b6f63\",\n                \"name\": \"The freelance web designers guide - Webflow Ebook.pdf\",\n                \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5dd44c493543b37d5449b3cd;5e9a5eba75e0ac242e1b6f63:ka2nehxy:6af5adf7c6fff7a3b0f54404fac1be492ac6f1ed5340416f1fe27c5fd4dd8079\"\n              }\n            ]\n          }\n        },\n        \"properties\": {\n          \"orderId\": {\n            \"type\": \"string\",\n            \"example\": \"dfa-3f1\",\n            \"description\": \"The order id. Will usually be 6 hex characters, but can also be 9 hex characters if the site has a very large number of orders. Randomly assigned.\\n\"\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"example\": \"unfulfilled\",\n            \"description\": \"One of `pending`, `unfulfilled`, `fulfilled`, `disputed`, `dispute-lost`, or `refunded`\\n\",\n            \"enum\": [\n              \"pending\",\n              \"unfulfilled\",\n              \"fulfilled\",\n              \"disputed\",\n              \"dispute-lost\",\n              \"refunded\"\n            ]\n          },\n          \"comment\": {\n            \"type\": \"string\",\n            \"description\": \"A comment string for this order editable by API user (not used by Webflow).\"\n          },\n          \"orderComment\": {\n            \"type\": \"string\",\n            \"description\": \"A comment that the customer left when making their order\"\n          },\n          \"acceptedOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2018-12-03T22:06:15.761Z\",\n            \"description\": \"The ISO8601 timestamp that an order was placed.\"\n          },\n          \"disputedOn\": {\n            \"type\": \"string\",\n            \"example\": \"2018-12-03T22:06:15.761Z\",\n            \"format\": \"date-time\",\n            \"description\": \"If an order was disputed by the customer, then this key will be set with the ISO8601 timestamp that Stripe notifies Webflow. Null if not disputed.\\n\"\n          },\n          \"disputeUpdatedOn\": {\n            \"type\": \"string\",\n            \"example\": \"2018-12-03T22:06:15.761Z\",\n            \"description\": \"If an order was disputed by the customer, then this key will be set with the ISO8601 timestamp of the last time that we got an update. Null if not disputed.\\n\"\n          },\n          \"disputeLastStatus\": {\n            \"type\": \"string\",\n            \"example\": null,\n            \"description\": \"If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).\\n\"\n          },\n          \"fulfilledOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2018-12-03T22:06:15.761Z\",\n            \"description\": \"If an order was marked as 'fulfilled', then this is the ISO8601 timestamp when that happened.\\n\"\n          },\n          \"refundedOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2018-12-03T22:06:15.761Z\",\n            \"description\": \"If an order was refunded, this is the ISO8601 of when that happened.\"\n          },\n          \"customerPaid\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          },\n          \"netAmount\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          },\n          \"requiresShipping\": {\n            \"type\": \"boolean\",\n            \"description\": \"A boolean indicating whether the order contains one or more purchased items that require shipping.\\n\"\n          },\n          \"shippingProvider\": {\n            \"type\": \"string\",\n            \"example\": null,\n            \"description\": \"A string editable by the API user to note the shipping provider used (not used by Webflow).\\n\"\n          },\n          \"shippingTracking\": {\n            \"type\": \"string\",\n            \"description\": \"A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).\\n\"\n          },\n          \"customerInfo\": {\n            \"example\": {\n              \"fullName\": \"Customerio Namen\",\n              \"email\": \"renning+customer@webflow.com\"\n            },\n            \"description\": \"An object with the keys `fullName` and `email`.\",\n            \"properties\": {\n              \"fullName\": {\n                \"type\": \"string\",\n                \"example\": \"Customerio Namen\"\n              },\n              \"email\": {\n                \"type\": \"string\",\n                \"format\": \"email\",\n                \"example\": \"renning+customer@webflow.com\"\n              }\n            }\n          },\n          \"allAddresses\": {\n            \"description\": \"All addresses provided by the customer during the ordering flow.\",\n            \"type\": \"array\",\n            \"items\": {\n              \"description\": \"A customer address\",\n              \"example\": {\n                \"type\": \"billing\",\n                \"addressee\": \"Customerio Namen\",\n                \"line1\": \"123 Example Rd\",\n                \"line2\": \"\",\n                \"city\": \"Examplesville\",\n                \"state\": \"CA\",\n                \"country\": \"US\",\n                \"postalCode\": \"90012\"\n              },\n              \"properties\": {\n                \"type\": {\n                  \"type\": \"string\",\n                  \"example\": \"shipping\",\n                  \"enum\": [\n                    \"shipping\",\n                    \"billing\"\n                  ]\n                },\n                \"addressee\": {\n                  \"type\": \"string\",\n                  \"example\": \"Customerio Namen\"\n                },\n                \"line1\": {\n                  \"type\": \"string\",\n                  \"example\": \"123 Example Rd\"\n                },\n                \"line2\": {\n                  \"type\": \"string\",\n                  \"example\": null\n                },\n                \"city\": {\n                  \"type\": \"string\",\n                  \"example\": \"Examplesville\"\n                },\n                \"state\": {\n                  \"type\": \"string\",\n                  \"example\": \"CA\"\n                },\n                \"country\": {\n                  \"type\": \"string\",\n                  \"example\": \"US\"\n                },\n                \"postalCode\": {\n                  \"type\": \"string\",\n                  \"example\": \"90012\"\n                }\n              }\n            }\n          },\n          \"shippingAddress\": {\n            \"description\": \"A customer address\",\n            \"example\": {\n              \"type\": \"billing\",\n              \"addressee\": \"Customerio Namen\",\n              \"line1\": \"123 Example Rd\",\n              \"line2\": \"\",\n              \"city\": \"Examplesville\",\n              \"state\": \"CA\",\n              \"country\": \"US\",\n              \"postalCode\": \"90012\"\n            },\n            \"properties\": {\n              \"type\": {\n                \"type\": \"string\",\n                \"example\": \"shipping\",\n                \"enum\": [\n                  \"shipping\",\n                  \"billing\"\n                ]\n              },\n              \"addressee\": {\n                \"type\": \"string\",\n                \"example\": \"Customerio Namen\"\n              },\n              \"line1\": {\n                \"type\": \"string\",\n                \"example\": \"123 Example Rd\"\n              },\n              \"line2\": {\n                \"type\": \"string\",\n                \"example\": null\n              },\n              \"city\": {\n                \"type\": \"string\",\n                \"example\": \"Examplesville\"\n              },\n              \"state\": {\n                \"type\": \"string\",\n                \"example\": \"CA\"\n              },\n              \"country\": {\n                \"type\": \"string\",\n                \"example\": \"US\"\n              },\n              \"postalCode\": {\n                \"type\": \"string\",\n                \"example\": \"90012\"\n              }\n            }\n          },\n          \"billingAddress\": {\n            \"description\": \"A customer address\",\n            \"example\": {\n              \"type\": \"billing\",\n              \"addressee\": \"Customerio Namen\",\n              \"line1\": \"123 Example Rd\",\n              \"line2\": \"\",\n              \"city\": \"Examplesville\",\n              \"state\": \"CA\",\n              \"country\": \"US\",\n              \"postalCode\": \"90012\"\n            },\n            \"properties\": {\n              \"type\": {\n                \"type\": \"string\",\n                \"example\": \"shipping\",\n                \"enum\": [\n                  \"shipping\",\n                  \"billing\"\n                ]\n              },\n              \"addressee\": {\n                \"type\": \"string\",\n                \"example\": \"Customerio Namen\"\n              },\n              \"line1\": {\n                \"type\": \"string\",\n                \"example\": \"123 Example Rd\"\n              },\n              \"line2\": {\n                \"type\": \"string\",\n                \"example\": null\n              },\n              \"city\": {\n                \"type\": \"string\",\n                \"example\": \"Examplesville\"\n              },\n              \"state\": {\n                \"type\": \"string\",\n                \"example\": \"CA\"\n              },\n              \"country\": {\n                \"type\": \"string\",\n                \"example\": \"US\"\n              },\n              \"postalCode\": {\n                \"type\": \"string\",\n                \"example\": \"90012\"\n              }\n            }\n          },\n          \"purchasedItems\": {\n            \"type\": \"array\",\n            \"description\": \"An array of all things that the customer purchased.\",\n            \"items\": {\n              \"example\": {\n                \"count\": 1,\n                \"rowTotal\": {\n                  \"unit\": \"USD\",\n                  \"value\": 5500,\n                  \"string\": \"$55.00\"\n                },\n                \"productId\": \"5eb9fd05caef491eb9757183\",\n                \"productName\": \"White Cup\",\n                \"productSlug\": \"white-cup\",\n                \"variantId\": \"5eb9fcace279761d8199790c\",\n                \"variantName\": \"white-cup_default_sku\",\n                \"variantSlug\": \"white-cup-default-sku\",\n                \"variantImage\": {\n                  \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                },\n                \"variantPrice\": {\n                  \"unit\": \"USD\",\n                  \"value\": 5500,\n                  \"string\": \"$55.00\"\n                },\n                \"height\": 7,\n                \"length\": 2,\n                \"weight\": 5,\n                \"width\": 4\n              },\n              \"description\": \"An item that was purchased\",\n              \"properties\": {\n                \"count\": {\n                  \"type\": \"number\",\n                  \"example\": 1,\n                  \"description\": \"Number of item purchased.\"\n                },\n                \"rowTotal\": {\n                  \"example\": {\n                    \"unit\": \"USD\",\n                    \"value\": 5892,\n                    \"string\": \"$58.92\"\n                  },\n                  \"description\": \"The sum of all line items.\",\n                  \"properties\": {\n                    \"unit\": {\n                      \"type\": \"string\",\n                      \"example\": \"USD\"\n                    },\n                    \"value\": {\n                      \"type\": \"string\",\n                      \"example\": \"6099\"\n                    },\n                    \"string\": {\n                      \"type\": \"string\",\n                      \"example\": \"$60.99\"\n                    }\n                  }\n                },\n                \"productId\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"5eb9fd05caef491eb9757183\",\n                  \"description\": \"String Product Id.\"\n                },\n                \"productName\": {\n                  \"type\": \"string\",\n                  \"example\": \"White Cup\",\n                  \"description\": \"Name of the product.\"\n                },\n                \"productSlug\": {\n                  \"type\": \"string\",\n                  \"example\": \"white-cup\",\n                  \"description\": \"Slug of the product.\"\n                },\n                \"variantId\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"5eb9fcace279761d8199790c\",\n                  \"description\": \"String Variant Id. (SKU)\"\n                },\n                \"variantName\": {\n                  \"type\": \"string\",\n                  \"example\": \"white-cup_default_sku\",\n                  \"description\": \"Name of the variant. (SKU)\"\n                },\n                \"variantSlug\": {\n                  \"type\": \"string\",\n                  \"example\": \"white-cup-default-sku\",\n                  \"description\": \"Slug of the variant. (SKU)\"\n                },\n                \"variantImage\": {\n                  \"example\": {\n                    \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                    \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                  },\n                  \"properties\": {\n                    \"fileId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"example\": \"5bfedb42bab0ad90fa7dad2e\"\n                    },\n                    \"url\": {\n                      \"type\": \"string\",\n                      \"format\": \"uri\",\n                      \"example\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                    }\n                  }\n                },\n                \"variantPrice\": {\n                  \"example\": {\n                    \"unit\": \"USD\",\n                    \"value\": 5892,\n                    \"string\": \"$58.92\"\n                  },\n                  \"description\": \"The sum of all line items.\",\n                  \"properties\": {\n                    \"unit\": {\n                      \"type\": \"string\",\n                      \"example\": \"USD\"\n                    },\n                    \"value\": {\n                      \"type\": \"string\",\n                      \"example\": \"6099\"\n                    },\n                    \"string\": {\n                      \"type\": \"string\",\n                      \"example\": \"$60.99\"\n                    }\n                  }\n                },\n                \"height\": {\n                  \"type\": \"number\",\n                  \"example\": 7,\n                  \"description\": \"The height of the variant if provided, 0 otherwise.\"\n                },\n                \"length\": {\n                  \"type\": \"number\",\n                  \"example\": 2,\n                  \"description\": \"The length of the variant if provided, 0 otherwise.\"\n                },\n                \"width\": {\n                  \"type\": \"number\",\n                  \"example\": 4,\n                  \"description\": \"The width of the variant if provided, 0 otherwise\"\n                },\n                \"weight\": {\n                  \"type\": \"number\",\n                  \"example\": 5,\n                  \"description\": \"The weight of the variant if provided, 0 otherwise.\"\n                },\n                \"purchasedItemsCount\": {\n                  \"type\": \"number\",\n                  \"example\": 1,\n                  \"description\": \"The sum of all 'count' fields in 'purchasedItems'.\"\n                }\n              }\n            }\n          },\n          \"stripeDetails\": {\n            \"description\": \"An object with various Stripe IDs, useful for linking into the stripe dashboard.\",\n            \"example\": {\n              \"refundReason\": null,\n              \"refundId\": null,\n              \"disputeId\": null,\n              \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n              \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n            },\n            \"properties\": {\n              \"refundReason\": {\n                \"type\": \"string\",\n                \"description\": \"Stripe customer ID, or null.\",\n                \"example\": null\n              },\n              \"refundId\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"description\": \"Stripe charge ID, or null.\",\n                \"example\": null\n              },\n              \"disputeId\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"description\": \"Stripe dispute ID, or null.\",\n                \"example\": null\n              },\n              \"chargeId\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"description\": \"Stripe refund ID, or null.\",\n                \"example\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\"\n              },\n              \"customerId\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"example\": \"cus_E5ajeiWNHEtcAW\"\n              }\n            }\n          },\n          \"stripeCard\": {\n            \"description\": \"Details on the card used to fulfill this order, if this order was finalized with Stripe.\\n\",\n            \"example\": {\n              \"last4\": \"4242\",\n              \"brand\": \"Visa\",\n              \"ownerName\": \"Customerio Namen\",\n              \"expires\": {\n                \"year\": 2023,\n                \"month\": 12\n              }\n            },\n            \"properties\": {\n              \"last4\": {\n                \"type\": \"string\",\n                \"description\": \"The last 4 digits on the card.\",\n                \"example\": \"4242\"\n              },\n              \"brand\": {\n                \"type\": \"string\",\n                \"description\": \"The card’s brand.\",\n                \"example\": \"Visa\",\n                \"enum\": [\n                  \"Visa\",\n                  \"American Express\",\n                  \"MasterCard\",\n                  \"Discover\",\n                  \"JCB\",\n                  \"Diners Club\",\n                  \"Unknown\"\n                ]\n              },\n              \"ownerName\": {\n                \"type\": \"string\",\n                \"description\": \"The name on the card.\",\n                \"example\": \"Customerio Namen\"\n              },\n              \"expires\": {\n                \"type\": \"object\",\n                \"description\": \"The card’s expiration date.\",\n                \"properties\": {\n                  \"year\": {\n                    \"type\": \"number\",\n                    \"example\": 2023\n                  },\n                  \"month\": {\n                    \"type\": \"number\",\n                    \"example\": 12\n                  }\n                }\n              }\n            }\n          },\n          \"totals\": {\n            \"description\": \"An object describing various pricing totals.\",\n            \"example\": {\n              \"subtotal\": {\n                \"unit\": \"USD\",\n                \"value\": 5500,\n                \"string\": \"$55.00\"\n              }\n            },\n            \"properties\": {\n              \"subtotal\": {\n                \"example\": {\n                  \"unit\": \"USD\",\n                  \"value\": 5892,\n                  \"string\": \"$58.92\"\n                },\n                \"description\": \"The sum of all line items.\",\n                \"properties\": {\n                  \"unit\": {\n                    \"type\": \"string\",\n                    \"example\": \"USD\"\n                  },\n                  \"value\": {\n                    \"type\": \"string\",\n                    \"example\": \"6099\"\n                  },\n                  \"string\": {\n                    \"type\": \"string\",\n                    \"example\": \"$60.99\"\n                  }\n                }\n              },\n              \"extras\": {\n                \"type\": \"array\",\n                \"description\": \"An array of extra items, includes discounts, shipping, and taxes.\",\n                \"items\": {\n                  \"description\": \"Extra order items, includes discounts, shipping, and taxes.\",\n                  \"example\": {\n                    \"type\": \"tax\",\n                    \"name\": \"State Taxes\",\n                    \"description\": \"CA Taxes (6.25%)\",\n                    \"price\": {\n                      \"unit\": \"USD\",\n                      \"value\": 344,\n                      \"string\": \"$3.44\"\n                    }\n                  },\n                  \"properties\": {\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"example\": \"tax\",\n                      \"description\": \"The type of extra item this is.\",\n                      \"enum\": [\n                        \"discount\",\n                        \"discount-shipping\",\n                        \"shipping\",\n                        \"tax\"\n                      ]\n                    },\n                    \"name\": {\n                      \"type\": \"string\",\n                      \"example\": \"shipping\",\n                      \"description\": \"A human-readable (but English) name for this extra charge.\"\n                    },\n                    \"description\": {\n                      \"type\": \"string\",\n                      \"example\": \"Flat Rate\",\n                      \"description\": \"A human-readable (but English) description of this extra charge.\"\n                    },\n                    \"price\": {\n                      \"example\": {\n                        \"unit\": \"USD\",\n                        \"value\": 5892,\n                        \"string\": \"$58.92\"\n                      },\n                      \"description\": \"The sum of all line items.\",\n                      \"properties\": {\n                        \"unit\": {\n                          \"type\": \"string\",\n                          \"example\": \"USD\"\n                        },\n                        \"value\": {\n                          \"type\": \"string\",\n                          \"example\": \"6099\"\n                        },\n                        \"string\": {\n                          \"type\": \"string\",\n                          \"example\": \"$60.99\"\n                        }\n                      }\n                    }\n                  }\n                }\n              },\n              \"total\": {\n                \"example\": {\n                  \"unit\": \"USD\",\n                  \"value\": 5892,\n                  \"string\": \"$58.92\"\n                },\n                \"description\": \"The sum of all line items.\",\n                \"properties\": {\n                  \"unit\": {\n                    \"type\": \"string\",\n                    \"example\": \"USD\"\n                  },\n                  \"value\": {\n                    \"type\": \"string\",\n                    \"example\": \"6099\"\n                  },\n                  \"string\": {\n                    \"type\": \"string\",\n                    \"example\": \"$60.99\"\n                  }\n                }\n              }\n            }\n          },\n          \"customData\": {\n            \"type\": \"array\",\n            \"description\": \"An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.\\n\",\n            \"items\": {\n              \"type\": \"object\"\n            }\n          },\n          \"downloadFiles\": {\n            \"description\": \"An array of downloadable file objects.\",\n            \"type\": \"array\",\n            \"items\": {\n              \"example\": {\n                \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n                \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n              },\n              \"properties\": {\n                \"id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"5e9a5eba75e0ac242e1b6f64\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"example\": \"The modern web design process - Webflow Ebook.pdf\"\n                },\n                \"url\": {\n                  \"type\": \"string\",\n                  \"format\": \"uri\",\n                  \"example\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"InventoryItem\": {\n        \"description\": \"The availabile inventory for an item\",\n        \"example\": {\n          \"_id\": \"5bfedb42bab0ad90fa7dad39\",\n          \"quantity\": 83,\n          \"inventoryType\": \"finite\"\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"5bfedb42bab0ad90fa7dad39\",\n            \"description\": \"Unique identifier for a SKU item\"\n          },\n          \"quantity\": {\n            \"type\": \"number\",\n            \"example\": 100,\n            \"description\": \"Total quantity of items remaining in inventory (if finite)\"\n          },\n          \"inventoryType\": {\n            \"type\": \"string\",\n            \"example\": \"finite\",\n            \"description\": \"infinite or finite\",\n            \"enum\": [\n              \"infinite\",\n              \"finite\"\n            ]\n          }\n        }\n      },\n      \"EcommerceSettings\": {\n        \"description\": \"Ecommerce settings for a site.\",\n        \"example\": {\n          \"value\": {\n            \"createdOn\": \"2019-02-21T18:41:47.312Z\",\n            \"site\": \"62f3b1f7eafbc45d0c64ef93\",\n            \"defaultCurrency\": \"USD\"\n          }\n        },\n        \"properties\": {\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"Date that the site was created on\",\n            \"example\": \"2018-10-04T15:21:02.042Z\"\n          },\n          \"site\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"The id of the site being queried\",\n            \"example\": \"5eb0b5583bf24e2d3a488969\"\n          },\n          \"defaultCurrency\": {\n            \"type\": \"string\",\n            \"description\": \"The three-letter currency code of the site\",\n            \"example\": \"USD\"\n          }\n        }\n      },\n      \"TriggerType\": {\n        \"type\": \"string\",\n        \"example\": \"form_submission\",\n        \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n        \"enum\": [\n          \"form_submission\",\n          \"site_publish\",\n          \"page_created\",\n          \"page_metadata_updated\",\n          \"page_deleted\",\n          \"ecomm_new_order\",\n          \"ecomm_order_changed\",\n          \"ecomm_inventory_changed\",\n          \"memberships_user_account_added\",\n          \"memberships_user_account_updated\",\n          \"collection_item_created\",\n          \"collection_item_changed\",\n          \"collection_item_deleted\",\n          \"collection_item_unpublished\"\n        ]\n      },\n      \"SitePublish\": {\n        \"properties\": {\n          \"site\": {\n            \"description\": \"The site id that was published\",\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"62749158efef318abc8d5a0f\"\n          },\n          \"publishTime\": {\n            \"description\": \"The timestamp of the publish event\",\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": 1653619272801\n          },\n          \"domains\": {\n            \"description\": \"The domains that were published\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"example\": [\n              \"my-website.webflow.io\"\n            ]\n          },\n          \"publishedBy\": {\n            \"type\": \"object\",\n            \"description\": \"The name and id of the user who published the site\"\n          }\n        },\n        \"example\": {\n          \"site\": \"62749158efef318abc8d5a0f\",\n          \"publishTime\": 1653619272801,\n          \"domains\": [\n            \"my-website.webflow.io\"\n          ],\n          \"publishedBy\": {\n            \"name\": \"Some One\",\n            \"id\": \"123460a7b6c16def4527122d\"\n          }\n        }\n      },\n      \"FormSubmission\": {\n        \"properties\": {\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The name of the form\",\n            \"example\": \"Sample Form\"\n          },\n          \"site\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"The id of the site that the form was submitted from\",\n            \"example\": \"62749158efef318abc8d5a0f\"\n          },\n          \"data\": {\n            \"type\": \"object\",\n            \"description\": \"The data submitted in the form\",\n            \"example\": {\n              \"name\": \"Some One\",\n              \"email\": \"some.one@home.com\"\n            }\n          },\n          \"d\": {\n            \"type\": \"string\",\n            \"description\": \"The timestamp the form was submitted\",\n            \"example\": \"2022-09-14T12:35:16.117Z\"\n          },\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"The id of the form submission\",\n            \"example\": \"6321ca84df3949bfc6752327\"\n          }\n        },\n        \"example\": {\n          \"name\": \"Sample Form\",\n          \"site\": \"62749158efef318abc8d5a0f\",\n          \"data\": {\n            \"name\": \"Some One\",\n            \"email\": \"some.one@home.com\"\n          },\n          \"d\": \"2022-09-14T12:35:16.117Z\",\n          \"_id\": \"6321ca84df3949bfc6752327\"\n        }\n      },\n      \"CollectionItemRemoved\": {\n        \"properties\": {\n          \"deleted\": {\n            \"type\": \"number\",\n            \"description\": \"The number of items deleted\",\n            \"example\": 1\n          },\n          \"itemId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"The id of the collection item that was deleted\",\n            \"example\": \"6321ca84df3949bfc6752327\"\n          }\n        },\n        \"example\": {\n          \"deleted\": 1,\n          \"itemId\": \"6321ca84df3949bfc6752327\"\n        }\n      },\n      \"Error\": {\n        \"example\": {\n          \"msg\": \"Cannot access resource\",\n          \"code\": 401,\n          \"name\": \"Unauthorized\",\n          \"path\": \"/sites/invalid_site\",\n          \"err\": \"Unauthorized: Cannot access resource\"\n        },\n        \"properties\": {\n          \"code\": {\n            \"type\": \"number\",\n            \"description\": \"HTTP error code\",\n            \"example\": 401\n          },\n          \"msg\": {\n            \"type\": \"string\",\n            \"description\": \"Error message\",\n            \"example\": \"Cannot access resource\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"Name of error\",\n            \"example\": \"Unauthorized\"\n          },\n          \"path\": {\n            \"type\": \"string\",\n            \"description\": \"Path of request resulting in error\",\n            \"example\": \"/sites/invalid_site\"\n          },\n          \"err\": {\n            \"type\": \"string\",\n            \"description\": \"Full error string\",\n            \"example\": \"Unauthorized: Cannot access resource\"\n          },\n          \"problems\": {\n            \"type\": \"array\",\n            \"description\": \"Array of errors (commonly on ValidationErrors)\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          }\n        }\n      }\n    },\n    \"examples\": {\n      \"CustomCode\": {\n        \"value\": {\n          \"code\": \"<script src=\\\"https://cdnjs.com/webflow-app\\\"></script>\",\n          \"createdOn\": \"2022-12-07T16:51:37.571Z\",\n          \"lastUpdated\": \"2022-12-07T16:51:37.571Z\"\n        }\n      },\n      \"PageList\": {\n        \"value\": {\n          \"pagination\": {\n            \"limit\": 20,\n            \"offset\": 0,\n            \"total\": 2\n          },\n          \"pages\": [\n            {\n              \"id\": \"6390c49774a71f0e3c1a08ee\",\n              \"siteId\": \"6390c49674a71f84b51a08d8\",\n              \"title\": \"Blog Categories Template\",\n              \"slug\": \"detail_blog-category\",\n              \"pageType\": \"dynamic\",\n              \"collectionId\": \"6390c49774a71f12831a08e3\",\n              \"createdOn\": \"2018-10-14T21:55:49.063Z\",\n              \"lastUpdated\": \"2022-12-07T16:51:37.571Z\",\n              \"archived\": false,\n              \"draft\": false,\n              \"canBranch\": true,\n              \"isMembersOnly\": false,\n              \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n              \"seoDesc\": \"This Webflow template offers a quick start into an ecommerce / memberships site\",\n              \"openGraph\": {\n                \"title\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                \"titleCopied\": true,\n                \"description\": \"This Webflow template offers a quick start into an ecommerce / memberships site\",\n                \"descriptionCopied\": true\n              }\n            },\n            {\n              \"id\": \"6390c49774a71f99f21a08eb\",\n              \"siteId\": \"6390c49674a71f84b51a08d8\",\n              \"title\": \"Blog\",\n              \"slug\": \"blog\",\n              \"pageType\": \"static\",\n              \"collectionId\": null,\n              \"createdOn\": \"2018-10-12T17:56:16.411Z\",\n              \"lastUpdated\": \"2022-12-07T16:57:16.406Z\",\n              \"archived\": false,\n              \"draft\": false,\n              \"canBranch\": true,\n              \"isMembersOnly\": false,\n              \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n              \"seoDesc\": null,\n              \"openGraph\": {\n                \"title\": \"null,\",\n                \"titleCopied\": \"true,\",\n                \"description\": \"null,\",\n                \"descriptionCopied\": true\n              }\n            }\n          ]\n        }\n      },\n      \"Page\": {\n        \"value\": {\n          \"id\": \"6390c49774a71f0e3c1a08ee\",\n          \"siteId\": \"6390c49674a71f84b51a08d8\",\n          \"title\": \"Blog Categories Template\",\n          \"slug\": \"detail_blog-category\",\n          \"pageType\": \"dynamic\",\n          \"collectionId\": \"6390c49774a71f12831a08e3\",\n          \"createdOn\": \"2018-10-14T21:55:49.063Z\",\n          \"lastUpdated\": \"2022-12-07T16:51:37.571Z\",\n          \"archived\": false,\n          \"draft\": false,\n          \"canBranch\": true,\n          \"isMembersOnly\": false,\n          \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n          \"seoDesc\": \"This Webflow template offers a quick start into an e-commerce / memberships site\",\n          \"openGraph\": {\n            \"title\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n            \"titleCopied\": true,\n            \"description\": \"This Webflow template offers a quick start into an e-commerce / memberships site\",\n            \"descriptionCopied\": true\n          }\n        }\n      },\n      \"Webhook\": {\n        \"value\": {\n          \"id\": \"582266e0cd48de0f0e3c6d8b\",\n          \"triggerType\": \"form_submission\",\n          \"siteId\": \"562ac0395358780a1f5e6fbd\",\n          \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n          \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n          \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n          \"filter\": null,\n          \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n        }\n      },\n      \"WebhookList\": {\n        \"value\": {\n          \"pagination\": {\n            \"limit\": 20,\n            \"offset\": 0,\n            \"total\": 3\n          },\n          \"webhooks\": [\n            {\n              \"id\": \"57ca0a9e418c504a6e1acbb6\",\n              \"triggerType\": \"form_submission\",\n              \"siteId\": \"562ac0395358780a1f5e6fbd\",\n              \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n              \"filter\": {\n                \"name\": \"Email Form\"\n              },\n              \"createdOn\": \"2016-09-02T23:26:22.241Z\",\n              \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n              \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n            },\n            {\n              \"id\": \"578d85cce0c47cd2865f4cf2\",\n              \"triggerType\": \"form_submission\",\n              \"siteId\": \"562ac0395358780a1f5e6fbd\",\n              \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n              \"filter\": {\n                \"name\": \"Email Form\"\n              },\n              \"createdOn\": \"2016-07-19T01:43:40.585Z\",\n              \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n              \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n            },\n            {\n              \"id\": \"578d85cce0c47cd2865f4cf3\",\n              \"triggerType\": \"form_submission\",\n              \"siteId\": \"562ac0395358780a1f5e6fbd\",\n              \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n              \"filter\": {\n                \"name\": \"Email Form\"\n              },\n              \"createdOn\": \"2016-07-19T01:43:40.605Z\",\n              \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n              \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n            }\n          ]\n        }\n      },\n      \"Site\": {\n        \"value\": {\n          \"id\": \"580e63e98c9a982ac9b8b741\",\n          \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n          \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n          \"displayName\": \"api_docs_sample_json\",\n          \"shortName\": \"api-docs-sample-json\",\n          \"lastPublished\": \"2016-10-24T19:43:17.271Z\",\n          \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\",\n          \"timeZone\": \"America/Los_Angeles\"\n        }\n      },\n      \"Sites\": {\n        \"value\": [\n          {\n            \"id\": \"580e63e98c9a982ac9b8b741\",\n            \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n            \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n            \"displayName\": \"api_docs_sample_json\",\n            \"shortName\": \"api-docs-sample-json\",\n            \"lastPublished\": \"2016-10-24T23:06:51.251Z\",\n            \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241603.png\",\n            \"timeZone\": \"America/Los_Angeles\"\n          },\n          {\n            \"id\": \"580ff8c3ba3e45ba9fe588bb\",\n            \"workspaceId\": \"580ff8c3ba3e45ba9fe588bf\",\n            \"createdOn\": \"2016-10-26T00:28:54.191Z\",\n            \"displayName\": \"Copy of api_docs_sample_json\",\n            \"shortName\": \"api-docs-sample-json-086c6538f9b0583762\",\n            \"lastPublished\": \"2022-10-26T00:28:54.191Z\",\n            \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241603.png\",\n            \"timeZone\": \"America/Los_Angeles\"\n          },\n          {\n            \"id\": \"580ff8d7ba3e45ba9fe588e9\",\n            \"workspaceId\": \"580ff8d7ba3e45ba9fe588ed\",\n            \"createdOn\": \"2016-10-26T00:29:13.634Z\",\n            \"displayName\": \"Copy of api_docs_sample_json\",\n            \"shortName\": \"api-docs-sample-json-ce077aa6c5cd3e0177\",\n            \"lastPublished\": \"2022-10-26T00:28:54.191Z\",\n            \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241603.png\",\n            \"timeZone\": \"America/Los_Angeles\"\n          }\n        ]\n      },\n      \"AuthorizedUser\": {\n        \"value\": {\n          \"user\": {\n            \"_id\": \"545bbecb7bdd6769632504a7\",\n            \"email\": \"some@email.com\",\n            \"firstName\": \"Some\",\n            \"lastName\": \"One\"\n          }\n        }\n      },\n      \"Authorization\": {\n        \"value\": {\n          \"_id\": \"55818d58616600637b9a5786\",\n          \"createdOn\": \"2016-10-03T23:12:00.755Z\",\n          \"grantType\": \"authorization_code\",\n          \"lastUsed\": \"2016-10-10T21:41:12.736Z\",\n          \"sites\": [\n            \"62f3b1f7eafac55d0c64ef91\"\n          ],\n          \"orgs\": [\n            \"551ad253f0a9c0686f71ed08\"\n          ],\n          \"workspaces\": [],\n          \"users\": [\n            \"545bbecb7bdd6769632504a7\"\n          ],\n          \"rateLimit\": 60,\n          \"status\": \"confirmed\",\n          \"application\": {\n            \"_id\": \"55131cd036c09f7d07883dfc\",\n            \"description\": \"OAuth Testing Application\",\n            \"homepage\": \"https://webflow.com\",\n            \"name\": \"Test App\",\n            \"owner\": \"545bbecb7bdd6769632504a7\",\n            \"ownerType\": \"Person\"\n          }\n        }\n      },\n      \"Domains\": {\n        \"value\": [\n          {\n            \"_id\": \"589a331aa51e760df7ccb89d\",\n            \"name\": \"test-api-domain.com\"\n          },\n          {\n            \"_id\": \"589a331aa51e760df7ccb89e\",\n            \"name\": \"www.test-api-domain.com\"\n          }\n        ]\n      },\n      \"Collections\": {\n        \"value\": [\n          {\n            \"_id\": \"580e63fc8c9a982ac9b8b745\",\n            \"lastUpdated\": \"2016-10-24T19:42:38.929Z\",\n            \"createdOn\": \"2016-10-24T19:41:48.349Z\",\n            \"name\": \"Blog Posts\",\n            \"slug\": \"post\",\n            \"singularName\": \"Blog Post\"\n          },\n          {\n            \"_id\": \"580e64088c9a982ac9b8b766\",\n            \"lastUpdated\": \"2016-10-24T19:42:00.799Z\",\n            \"createdOn\": \"2016-10-24T19:42:00.777Z\",\n            \"name\": \"Authors\",\n            \"slug\": \"author\",\n            \"singularName\": \"Author\"\n          }\n        ]\n      },\n      \"Collection\": {\n        \"value\": {\n          \"_id\": \"580e63fc8c9a982ac9b8b745\",\n          \"lastUpdated\": \"2016-10-24T19:42:38.929Z\",\n          \"createdOn\": \"2016-10-24T19:41:48.349Z\",\n          \"name\": \"Blog Posts\",\n          \"slug\": \"post\",\n          \"singularName\": \"Blog Post\",\n          \"fields\": [\n            {\n              \"id\": \"7f62a9781291109b9e428fb47239fd35\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"RichText\",\n              \"slug\": \"post-body\",\n              \"name\": \"Post Body\"\n            },\n            {\n              \"validations\": {\n                \"singleLine\": false\n              },\n              \"id\": \"ac4ffead755a78c710c44042f528b073\",\n              \"helpText\": \"A summary of the blog post that appears on blog post grid\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"PlainText\",\n              \"slug\": \"post-summary\",\n              \"name\": \"Post Summary\"\n            },\n            {\n              \"id\": \"ba1cfbdaa6b38b8e95e9b5063da8a5bd\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"ImageRef\",\n              \"slug\": \"main-image\",\n              \"name\": \"Main Image\"\n            },\n            {\n              \"id\": \"a8c6ea29b08cc5b5ef966908fa1deae2\",\n              \"helpText\": \"Smaller version of main image that is used on blog post grid\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"ImageRef\",\n              \"slug\": \"thumbnail-image\",\n              \"name\": \"Thumbnail image\"\n            },\n            {\n              \"id\": \"87e79a644a6fb5729940ec24e0012f01\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"Set\",\n              \"innerType\": \"ImageRef\",\n              \"slug\": \"picture-gallery\",\n              \"name\": \"Picture Gallery\"\n            },\n            {\n              \"id\": \"1e54974d97181032d3206ea021668e5f\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"Bool\",\n              \"slug\": \"featured\",\n              \"name\": \"Featured?\"\n            },\n            {\n              \"id\": \"648463cbc042ab079c2b99430a398ae5\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"Color\",\n              \"slug\": \"color\",\n              \"name\": \"Color\"\n            },\n            {\n              \"validations\": {\n                \"collectionId\": \"580e64088c9a982ac9b8b766\"\n              },\n              \"id\": \"ea9067c48edee510de71fe503fa2fb51\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"ItemRef\",\n              \"slug\": \"author\",\n              \"name\": \"Author\"\n            },\n            {\n              \"validations\": {\n                \"maxLength\": 256\n              },\n              \"id\": \"60c0667e27b6d5a6daedec3a641265f6\",\n              \"editable\": true,\n              \"required\": true,\n              \"type\": \"PlainText\",\n              \"slug\": \"name\",\n              \"name\": \"Name\"\n            },\n            {\n              \"validations\": {\n                \"messages\": {\n                  \"maxLength\": \"Must be less than 256 characters\",\n                  \"pattern\": \"Must be alphanumerical and not contain any spaces or special characters\"\n                },\n                \"pattern\": {},\n                \"maxLength\": 256\n              },\n              \"id\": \"8f0c953df91d10b767d66e1d7d00d631\",\n              \"unique\": true,\n              \"editable\": true,\n              \"required\": true,\n              \"type\": \"PlainText\",\n              \"slug\": \"slug\",\n              \"name\": \"Slug\"\n            },\n            {\n              \"default\": false,\n              \"id\": \"e4e92e700d70faffac6fa82ff2bfaece\",\n              \"editable\": true,\n              \"required\": true,\n              \"type\": \"Bool\",\n              \"slug\": \"_archived\",\n              \"name\": \"Archived\"\n            },\n            {\n              \"default\": false,\n              \"id\": \"f2675b2ac4fcef746b24d4a320887ef8\",\n              \"editable\": true,\n              \"required\": true,\n              \"type\": \"Bool\",\n              \"slug\": \"_draft\",\n              \"name\": \"Draft\"\n            },\n            {\n              \"id\": \"0913a35d92208bdf8fbf3ed1e39b771e\",\n              \"editable\": false,\n              \"required\": false,\n              \"type\": \"Date\",\n              \"slug\": \"created-on\",\n              \"name\": \"Created On\"\n            },\n            {\n              \"id\": \"3de04889465fe6d718e47b152ef5bb4d\",\n              \"editable\": false,\n              \"required\": false,\n              \"type\": \"Date\",\n              \"slug\": \"updated-on\",\n              \"name\": \"Updated On\"\n            },\n            {\n              \"id\": \"2a3cd866d5dbb294896130b233218626\",\n              \"editable\": false,\n              \"required\": false,\n              \"type\": \"Date\",\n              \"slug\": \"published-on\",\n              \"name\": \"Published On\"\n            },\n            {\n              \"id\": \"62c18561b9e89517751c6d8712d48f91\",\n              \"editable\": false,\n              \"required\": false,\n              \"type\": \"User\",\n              \"slug\": \"created-by\",\n              \"name\": \"Created By\"\n            },\n            {\n              \"id\": \"50918093b4e4d4eca1e83c25bcdc06a4\",\n              \"editable\": false,\n              \"required\": false,\n              \"type\": \"User\",\n              \"slug\": \"updated-by\",\n              \"name\": \"Updated By\"\n            },\n            {\n              \"id\": \"5c4587f18b32ef245daeaadfcba7860b\",\n              \"editable\": false,\n              \"required\": false,\n              \"type\": \"User\",\n              \"slug\": \"published-by\",\n              \"name\": \"Published By\"\n            }\n          ]\n        }\n      },\n      \"CollectionItemList\": {\n        \"value\": {\n          \"items\": [\n            {\n              \"_archived\": false,\n              \"_draft\": false,\n              \"color\": \"#a98080\",\n              \"name\": \"Exciting blog post title\",\n              \"post-body\": \"<p>Blog post contents...</p>\",\n              \"post-summary\": \"Summary of exciting blog post\",\n              \"main-image\": {\n                \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n              },\n              \"slug\": \"exciting-post\",\n              \"author\": \"580e640c8c9a982ac9b8b778\",\n              \"updated-on\": \"2016-11-15T22:45:32.647Z\",\n              \"updated-by\": \"Person_5660c5338e9d3b0bee3b86aa\",\n              \"created-on\": \"2016-11-15T22:45:32.647Z\",\n              \"created-by\": \"Person_5660c5338e9d3b0bee3b86aa\",\n              \"published-on\": null,\n              \"published-by\": null,\n              \"_cid\": \"580e63fc8c9a982ac9b8b745\",\n              \"_id\": \"582b900cba19143b2bb8a759\"\n            }\n          ],\n          \"count\": 1,\n          \"limit\": 1,\n          \"offset\": 0,\n          \"total\": 5\n        }\n      },\n      \"CollectionItem\": {\n        \"value\": {\n          \"_archived\": false,\n          \"_draft\": false,\n          \"color\": \"#a98080\",\n          \"name\": \"Exciting blog post title\",\n          \"post-body\": \"<p>Blog post contents...</p>\",\n          \"post-summary\": \"Summary of exciting blog post\",\n          \"main-image\": {\n            \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n            \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n          },\n          \"slug\": \"exciting-post\",\n          \"author\": \"580e640c8c9a982ac9b8b778\"\n        }\n      },\n      \"PublishedItems\": {\n        \"value\": {\n          \"publishedItemIds\": [\n            \"62aa37923cf7a9de1ca4469c\",\n            \"62aa37923cf7a9de1ca44697\",\n            \"62aa37923cf7a9de1ca44696\"\n          ],\n          \"errors\": []\n        }\n      },\n      \"RemovedItems\": {\n        \"value\": {\n          \"deletedItemIds\": [\n            \"62aa37923cf7a9de1ca4469c\",\n            \"62aa37923cf7a9de1ca44697\",\n            \"62aa37923cf7a9de1ca44696\"\n          ],\n          \"errors\": []\n        }\n      },\n      \"User\": {\n        \"value\": {\n          \"_id\": \"6287ec36a841b25637c663df\",\n          \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n          \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n          \"emailVerified\": true,\n          \"status\": \"verified\",\n          \"data\": {\n            \"accept-privacy\": false,\n            \"accept-communications\": false,\n            \"email\": \"Some.One@home.com\",\n            \"name\": \"Some One\"\n          }\n        }\n      },\n      \"UserList\": {\n        \"value\": {\n          \"users\": [\n            {\n              \"_id\": \"6287ec36a841b25637c663df\",\n              \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n              \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n              \"emailVerified\": false,\n              \"status\": \"unverified\",\n              \"data\": {\n                \"accept-privacy\": false,\n                \"accept-communications\": false,\n                \"email\": \"Person.One@home.com\",\n                \"name\": \"Person One\"\n              }\n            },\n            {\n              \"_id\": \"6287ec36a841b25637c663f0\",\n              \"createdOn\": \"2022-05-19T05:32:04.581Z\",\n              \"updatedOn\": \"2022-05-19T05:32:04.581Z\",\n              \"emailVerified\": false,\n              \"status\": \"unverified\",\n              \"data\": {\n                \"accept-privacy\": false,\n                \"accept-communications\": false,\n                \"email\": \"Person.Two@home.com\",\n                \"name\": \"Person Two\"\n              }\n            },\n            {\n              \"_id\": \"6287ec36a841b25637c663d9\",\n              \"createdOn\": \"2022-05-17T03:34:06.720Z\",\n              \"updatedOn\": \"2022-05-17T03:34:06.720Z\",\n              \"emailVerified\": true,\n              \"status\": \"verified\",\n              \"data\": {\n                \"accept-privacy\": false,\n                \"accept-communications\": false,\n                \"email\": \"Person.Three@home.com\",\n                \"name\": \"Person Three\"\n              }\n            },\n            {\n              \"_id\": \"6287ec37a841b25637c6641b\",\n              \"createdOn\": \"2022-05-15T03:46:09.748Z\",\n              \"updatedOn\": \"2022-05-15T03:46:09.748Z\",\n              \"emailVerified\": false,\n              \"status\": \"unverified\",\n              \"data\": {\n                \"accept-privacy\": false,\n                \"accept-communications\": false,\n                \"email\": \"Person.Four@home.com\",\n                \"name\": \"Person Four\"\n              }\n            },\n            {\n              \"_id\": \"6287ec37a841b25637c66449\",\n              \"createdOn\": \"2022-05-15T02:55:38.786Z\",\n              \"updatedOn\": \"2022-05-15T02:55:38.786Z\",\n              \"emailVerified\": true,\n              \"status\": \"verified\",\n              \"data\": {\n                \"accept-privacy\": false,\n                \"accept-communications\": false,\n                \"email\": \"Person.Five@home.com\",\n                \"name\": \"Person Five\"\n              }\n            }\n          ],\n          \"count\": 5,\n          \"limit\": 5,\n          \"offset\": 0,\n          \"total\": 201\n        }\n      },\n      \"AccessGroupList\": {\n        \"value\": {\n          \"accessGroups\": [\n            {\n              \"_id\": \"62be58d404be8a6cc900c081\",\n              \"name\": \"Webflowers\",\n              \"shortId\": \"jo\",\n              \"slug\": \"webflowers\",\n              \"createdOn\": \"2022-08-01T19:41:48.349Z\"\n            }\n          ],\n          \"count\": 1,\n          \"limit\": 10,\n          \"offset\": 0,\n          \"total\": 1\n        }\n      },\n      \"Product\": {\n        \"value\": {\n          \"fields\": {\n            \"shippable\": true,\n            \"_archived\": false,\n            \"_draft\": false,\n            \"name\": \"Cloak Of Invisibility\",\n            \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n            \"sku-properties\": [\n              {\n                \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                \"name\": \"Color\",\n                \"enum\": [\n                  {\n                    \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                    \"name\": \"Obsidian Black\",\n                    \"slug\": \"obsidian-black\"\n                  },\n                  {\n                    \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                    \"name\": \"Smoke Grey\",\n                    \"slug\": \"smoke-grey\"\n                  },\n                  {\n                    \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                    \"name\": \"Forest Green\",\n                    \"slug\": \"forest-green\"\n                  }\n                ]\n              }\n            ],\n            \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n            \"slug\": \"cloak-of-invisibility-1\",\n            \"published-on\": null,\n            \"published-by\": null,\n            \"default-sku\": \"5e8518536e147040726cc416\"\n          }\n        }\n      },\n      \"ProductList\": {\n        \"value\": {\n          \"items\": [\n            {\n              \"product\": {\n                \"shippable\": true,\n                \"_archived\": false,\n                \"_draft\": false,\n                \"name\": \"Cloak Of Invisibility\",\n                \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                \"sku-properties\": [\n                  {\n                    \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                    \"name\": \"Color\",\n                    \"enum\": [\n                      {\n                        \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                        \"name\": \"Obsidian Black\",\n                        \"slug\": \"obsidian-black\"\n                      },\n                      {\n                        \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                        \"name\": \"Smoke Grey\",\n                        \"slug\": \"smoke-grey\"\n                      },\n                      {\n                        \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                        \"name\": \"Forest Green\",\n                        \"slug\": \"forest-green\"\n                      }\n                    ]\n                  }\n                ],\n                \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                \"slug\": \"cloak-of-invisibility-1\",\n                \"updated-on\": \"2020-04-01T22:40:19.329Z\",\n                \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"created-on\": \"2020-04-01T22:40:17.602Z\",\n                \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"published-on\": null,\n                \"published-by\": null,\n                \"default-sku\": \"5e8518536e147040726cc416\",\n                \"_cid\": \"5dd44c493543b37d5449b3a5\",\n                \"_id\": \"5e8518516e147040726cc415\"\n              },\n              \"skus\": [\n                {\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": 120000\n                  },\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"sku-values\": {},\n                  \"width\": 56,\n                  \"length\": 0.3,\n                  \"height\": 72,\n                  \"weight\": 24,\n                  \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n                  \"main-image\": {\n                    \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                    \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                    \"alt\": null\n                  },\n                  \"more-images\": [\n                    {\n                      \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                      \"alt\": null\n                    },\n                    {\n                      \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                      \"alt\": null\n                    }\n                  ],\n                  \"download-files\": [\n                    {\n                      \"id\": \"5ebb1676c3244c2c6ae18814\",\n                      \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                      \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                    }\n                  ],\n                  \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n                  \"product\": \"5e8518516e147040726cc415\",\n                  \"updated-on\": \"2020-04-01T22:40:19.287Z\",\n                  \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"created-on\": \"2020-04-01T22:40:19.287Z\",\n                  \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"published-on\": null,\n                  \"published-by\": null,\n                  \"_cid\": \"5dd44c493543b37d5449b383\",\n                  \"_id\": \"5e8518536e147040726cc416\"\n                }\n              ]\n            }\n          ],\n          \"count\": 1,\n          \"limit\": 100,\n          \"offset\": 0,\n          \"total\": 12\n        }\n      },\n      \"ProductSKU\": {\n        \"value\": {\n          \"product\": {\n            \"shippable\": true,\n            \"_archived\": false,\n            \"_draft\": false,\n            \"name\": \"Cloak Of Invisibility\",\n            \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n            \"sku-properties\": [\n              {\n                \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                \"name\": \"Color\",\n                \"enum\": [\n                  {\n                    \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                    \"name\": \"Obsidian Black\",\n                    \"slug\": \"obsidian-black\"\n                  },\n                  {\n                    \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                    \"name\": \"Smoke Grey\",\n                    \"slug\": \"smoke-grey\"\n                  },\n                  {\n                    \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                    \"name\": \"Forest Green\",\n                    \"slug\": \"forest-green\"\n                  }\n                ]\n              }\n            ],\n            \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n            \"slug\": \"cloak-of-invisibility-1\",\n            \"default-sku\": \"5e8518536e147040726cc416\"\n          },\n          \"sku\": {\n            \"price\": {\n              \"unit\": \"USD\",\n              \"value\": 120000\n            },\n            \"_archived\": false,\n            \"_draft\": false,\n            \"sku-values\": {},\n            \"width\": 56,\n            \"length\": 0.3,\n            \"height\": 72,\n            \"weight\": 24,\n            \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n            \"main-image\": {\n              \"fileId\": \"5e85161dabd9ea4072cf1414\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n              \"alt\": null\n            },\n            \"more-images\": [\n              {\n                \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                \"alt\": null\n              },\n              {\n                \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                \"alt\": null\n              }\n            ],\n            \"download-files\": [\n              {\n                \"id\": \"5ebb1676c3244c2c6ae18814\",\n                \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n              }\n            ],\n            \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n            \"product\": \"5e8518516e147040726cc415\",\n            \"updated-on\": \"2020-04-01T22:40:19.287Z\",\n            \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n            \"created-on\": \"2020-04-01T22:40:19.287Z\",\n            \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n            \"published-on\": null,\n            \"published-by\": null,\n            \"_cid\": \"5dd44c493543b37d5449b383\",\n            \"_id\": \"5e8518536e147040726cc416\"\n          }\n        }\n      },\n      \"ProductSKUList\": {\n        \"value\": {\n          \"items\": [\n            {\n              \"product\": {\n                \"shippable\": true,\n                \"_archived\": false,\n                \"_draft\": false,\n                \"name\": \"Cloak Of Invisibility\",\n                \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                \"sku-properties\": [\n                  {\n                    \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                    \"name\": \"Color\",\n                    \"enum\": [\n                      {\n                        \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                        \"name\": \"Obsidian Black\",\n                        \"slug\": \"obsidian-black\"\n                      },\n                      {\n                        \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                        \"name\": \"Smoke Grey\",\n                        \"slug\": \"smoke-grey\"\n                      },\n                      {\n                        \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                        \"name\": \"Forest Green\",\n                        \"slug\": \"forest-green\"\n                      }\n                    ]\n                  }\n                ],\n                \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                \"slug\": \"cloak-of-invisibility-1\",\n                \"updated-on\": \"2020-04-01T22:40:19.329Z\",\n                \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"created-on\": \"2020-04-01T22:40:17.602Z\",\n                \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"published-on\": null,\n                \"published-by\": null,\n                \"default-sku\": \"5e8518536e147040726cc416\",\n                \"_cid\": \"5dd44c493543b37d5449b3a5\",\n                \"_id\": \"5e8518516e147040726cc415\"\n              },\n              \"skus\": [\n                {\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": 120000\n                  },\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"sku-values\": {},\n                  \"width\": 56,\n                  \"length\": 0.3,\n                  \"height\": 72,\n                  \"weight\": 24,\n                  \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n                  \"main-image\": {\n                    \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                    \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                    \"alt\": null\n                  },\n                  \"more-images\": [\n                    {\n                      \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                      \"alt\": null\n                    },\n                    {\n                      \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                      \"alt\": null\n                    }\n                  ],\n                  \"download-files\": [\n                    {\n                      \"id\": \"5ebb1676c3244c2c6ae18814\",\n                      \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                      \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                    }\n                  ],\n                  \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n                  \"product\": \"5e8518516e147040726cc415\",\n                  \"updated-on\": \"2020-04-01T22:40:19.287Z\",\n                  \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"created-on\": \"2020-04-01T22:40:19.287Z\",\n                  \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"published-on\": null,\n                  \"published-by\": null,\n                  \"_cid\": \"5dd44c493543b37d5449b383\",\n                  \"_id\": \"5e8518536e147040726cc416\"\n                }\n              ]\n            }\n          ],\n          \"count\": 1,\n          \"limit\": 100,\n          \"offset\": 0,\n          \"total\": 12\n        }\n      },\n      \"SKU\": {\n        \"value\": {\n          \"price\": {\n            \"unit\": \"USD\",\n            \"value\": 120000\n          },\n          \"_archived\": false,\n          \"_draft\": false,\n          \"sku-values\": {},\n          \"width\": 56,\n          \"length\": 0.3,\n          \"height\": 72,\n          \"weight\": 24,\n          \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n          \"main-image\": {\n            \"fileId\": \"5e85161dabd9ea4072cf1414\",\n            \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n            \"alt\": null\n          },\n          \"more-images\": [\n            {\n              \"fileId\": \"5e85161dabd9ea4072cf1414\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n              \"alt\": null\n            },\n            {\n              \"fileId\": \"5e85161dabd9ea4072cf1414\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n              \"alt\": null\n            }\n          ],\n          \"download-files\": [\n            {\n              \"id\": \"5ebb1676c3244c2c6ae18814\",\n              \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n              \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n            }\n          ],\n          \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n          \"product\": \"5e8518516e147040726cc415\"\n        }\n      },\n      \"SKUList\": {\n        \"value\": {\n          \"skus\": [\n            {\n              \"slug\": \"cloak-of-invisibility-color-smoke-grey\",\n              \"_archived\": false,\n              \"_draft\": false,\n              \"price\": {\n                \"unit\": \"USD\",\n                \"value\": 120000\n              },\n              \"more-images\": [],\n              \"download-files\": [\n                {\n                  \"id\": \"5ebb1945c3244c2c6ae18822\",\n                  \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                  \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                }\n              ],\n              \"sku-values\": {\n                \"a37a7991f7ca1be0d349a805a2bddb5b\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\"\n              },\n              \"width\": 56,\n              \"length\": 0.3,\n              \"height\": 72,\n              \"weight\": 24,\n              \"name\": \"Cloak Of Invisibility Color: Smoke Grey\",\n              \"main-image\": {\n                \"fileId\": \"5e8512181ae993035b15f315\",\n                \"file\": {\n                  \"_id\": \"5e8512181ae993035b15f315\",\n                  \"variants\": [\n                    {\n                      \"_id\": \"5e85121b1ae993035b15f316\",\n                      \"origFileName\": \"external-content.duckduckgo.com-p-500.jpeg\",\n                      \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\",\n                      \"format\": \"jpeg\",\n                      \"size\": 54068,\n                      \"width\": 500,\n                      \"quality\": 100,\n                      \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\"\n                    }\n                  ],\n                  \"origFileName\": \"invisibility_cloak.jpg\",\n                  \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                  \"fileHash\": \"860b1b99ce90aa6c175bfcd9fd59fd42\",\n                  \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                  \"mimeType\": \"image/jpeg\",\n                  \"size\": 192263,\n                  \"width\": 550,\n                  \"height\": 550,\n                  \"database\": \"5e8402eb8a402e354bd469bb\",\n                  \"createdOn\": \"2020-04-01T22:13:44.889Z\",\n                  \"__v\": 1,\n                  \"updatedOn\": \"2020-04-01T22:13:59.777Z\"\n                },\n                \"fileSize\": 192263,\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                \"alt\": null\n              },\n              \"product\": \"5e8518516e147040726cc415\",\n              \"updated-on\": \"2020-04-03T18:50:45.947Z\",\n              \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n              \"created-on\": \"2020-04-03T18:50:45.947Z\",\n              \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n              \"published-on\": null,\n              \"published-by\": null,\n              \"_cid\": \"5e8402eb8a402e354bd469be\",\n              \"_id\": \"5e8785855617d73f34627a93\"\n            },\n            {\n              \"_archived\": false,\n              \"_draft\": false,\n              \"price\": {\n                \"unit\": \"USD\",\n                \"value\": 120000\n              },\n              \"more-images\": [],\n              \"download-files\": [\n                {\n                  \"id\": \"5ebb1945c3244c2c6ae18823\",\n                  \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                  \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                }\n              ],\n              \"sku-values\": {\n                \"a37a7991f7ca1be0d349a805a2bddb5b\": \"ef9511c0b56cc11ff47c5669f65030b4\"\n              },\n              \"width\": 56,\n              \"length\": 0.3,\n              \"height\": 72,\n              \"weight\": 24,\n              \"name\": \"Cloak Of Invisibility Color: Forest Green\",\n              \"main-image\": {\n                \"fileId\": \"5e8512181ae993035b15f315\",\n                \"file\": {\n                  \"_id\": \"5e8512181ae993035b15f315\",\n                  \"variants\": [\n                    {\n                      \"_id\": \"5e85121b1ae993035b15f316\",\n                      \"origFileName\": \"external-content.duckduckgo.com-p-500.jpeg\",\n                      \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\",\n                      \"format\": \"jpeg\",\n                      \"size\": 54068,\n                      \"width\": 500,\n                      \"quality\": 100,\n                      \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\"\n                    }\n                  ],\n                  \"origFileName\": \"invisibility_cloak.jpg\",\n                  \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                  \"fileHash\": \"860b1b99ce90aa6c175bfcd9fd59fd42\",\n                  \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                  \"mimeType\": \"image/jpeg\",\n                  \"size\": 192263,\n                  \"width\": 550,\n                  \"height\": 550,\n                  \"database\": \"5e8402eb8a402e354bd469bb\",\n                  \"createdOn\": \"2020-04-01T22:13:44.889Z\",\n                  \"__v\": 1,\n                  \"updatedOn\": \"2020-04-01T22:13:59.777Z\"\n                },\n                \"fileSize\": 192263,\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                \"alt\": null\n              },\n              \"slug\": \"cloak-of-invisibility-color-forest-green\",\n              \"product\": \"5e8518516e147040726cc415\",\n              \"updated-on\": \"2020-04-03T18:50:45.949Z\",\n              \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n              \"created-on\": \"2020-04-03T18:50:45.949Z\",\n              \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n              \"published-on\": null,\n              \"published-by\": null,\n              \"_cid\": \"5e8402eb8a402e354bd469be\",\n              \"_id\": \"5e8785855617d73f34627a94\"\n            }\n          ]\n        }\n      },\n      \"EcommerceSettings\": {\n        \"value\": {\n          \"createdOn\": \"2019-02-21T18:41:47.312Z\",\n          \"site\": \"62f3b1f7eafbc45d0c64ef93\",\n          \"defaultCurrency\": \"USD\"\n        }\n      },\n      \"Field\": {\n        \"value\": {\n          \"name\": \"Exciting blog post title\",\n          \"slug\": \"exciting-post\",\n          \"_archived\": false,\n          \"_draft\": false,\n          \"color\": \"#a98080\",\n          \"author\": \"580e640c8c9a982ac9b8b778\",\n          \"post-body\": \"<p>Blog post contents...</p>\",\n          \"post-summary\": \"Summary of exciting blog post\",\n          \"main-image\": \"580e63fe8c9a982ac9b8b749\"\n        }\n      },\n      \"Validation\": {\n        \"value\": {\n          \"singleLine\": false,\n          \"maxLength\": 256,\n          \"messages\": {\n            \"maxLength\": \"Must be less than 256 characters\",\n            \"pattern\": \"Must be alphanumerical and not contain any spaces or special characters\"\n          },\n          \"pattern\": {}\n        }\n      },\n      \"Order\": {\n        \"value\": {\n          \"orderId\": \"dfa-3f1\",\n          \"status\": \"unfulfilled\",\n          \"comment\": \"\",\n          \"orderComment\": \"\",\n          \"acceptedOn\": \"2018-12-03T22:06:15.761Z\",\n          \"disputedOn\": null,\n          \"disputeUpdatedOn\": null,\n          \"disputeLastStatus\": null,\n          \"fulfilledOn\": null,\n          \"refundedOn\": null,\n          \"customerPaid\": {\n            \"unit\": \"USD\",\n            \"value\": 6099,\n            \"string\": \"$60.99\"\n          },\n          \"netAmount\": {\n            \"unit\": \"USD\",\n            \"value\": 5892,\n            \"string\": \"$58.92\"\n          },\n          \"requiresShipping\": true,\n          \"shippingProvider\": null,\n          \"shippingTracking\": null,\n          \"customerInfo\": {\n            \"fullName\": \"Customerio Namen\",\n            \"email\": \"renning+customer@webflow.com\"\n          },\n          \"allAddresses\": [\n            {\n              \"type\": \"billing\",\n              \"addressee\": \"Customerio Namen\",\n              \"line1\": \"123 Example Rd\",\n              \"line2\": \"\",\n              \"city\": \"Examplesville\",\n              \"state\": \"CA\",\n              \"country\": \"US\",\n              \"postalCode\": \"90012\"\n            },\n            {\n              \"type\": \"shipping\",\n              \"addressee\": \"Customerio Namen\",\n              \"line1\": \"123 Example Rd\",\n              \"line2\": \"\",\n              \"city\": \"Examplesville\",\n              \"state\": \"CA\",\n              \"country\": \"US\",\n              \"postalCode\": \"90012\"\n            }\n          ],\n          \"shippingAddress\": {\n            \"type\": \"shipping\",\n            \"addressee\": \"Customerio Namen\",\n            \"line1\": \"123 Example Rd\",\n            \"line2\": \"\",\n            \"city\": \"Examplesville\",\n            \"state\": \"CA\",\n            \"country\": \"US\",\n            \"postalCode\": \"90012\"\n          },\n          \"billingAddress\": {\n            \"type\": \"billing\",\n            \"addressee\": \"Customerio Namen\",\n            \"line1\": \"123 Example Rd\",\n            \"line2\": \"\",\n            \"city\": \"Examplesville\",\n            \"state\": \"CA\",\n            \"country\": \"US\",\n            \"postalCode\": \"90012\"\n          },\n          \"purchasedItems\": [\n            {\n              \"count\": 1,\n              \"rowTotal\": {\n                \"unit\": \"USD\",\n                \"value\": 5500,\n                \"string\": \"$55.00\"\n              },\n              \"productId\": \"5eb9fd05caef491eb9757183\",\n              \"productName\": \"White Cup\",\n              \"productSlug\": \"white-cup\",\n              \"variantId\": \"5eb9fcace279761d8199790c\",\n              \"variantName\": \"white-cup_default_sku\",\n              \"variantSlug\": \"white-cup-default-sku\",\n              \"variantImage\": {\n                \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n              },\n              \"variantPrice\": {\n                \"unit\": \"USD\",\n                \"value\": 5500,\n                \"string\": \"$55.00\"\n              },\n              \"height\": 7,\n              \"length\": 2,\n              \"weight\": 5,\n              \"width\": 4\n            }\n          ],\n          \"purchasedItemsCount\": 1,\n          \"stripeDetails\": {\n            \"refundReason\": null,\n            \"refundId\": null,\n            \"disputeId\": null,\n            \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n            \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n          },\n          \"stripeCard\": {\n            \"last4\": \"4242\",\n            \"brand\": \"Visa\",\n            \"ownerName\": \"Customerio Namen\",\n            \"expires\": {\n              \"year\": 2023,\n              \"month\": 12\n            }\n          },\n          \"totals\": {\n            \"subtotal\": {\n              \"unit\": \"USD\",\n              \"value\": 5500,\n              \"string\": \"$55.00\"\n            },\n            \"extras\": [\n              {\n                \"type\": \"tax\",\n                \"name\": \"State Taxes\",\n                \"description\": \"CA Taxes (6.25%)\",\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 344,\n                  \"string\": \"$3.44\"\n                }\n              },\n              {\n                \"type\": \"tax\",\n                \"name\": \"County Taxes\",\n                \"description\": \"LOS ANGELES Taxes (1.00%)\",\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 55,\n                  \"string\": \"$0.55\"\n                }\n              },\n              {\n                \"type\": \"tax\",\n                \"name\": \"Special District Taxes\",\n                \"description\": \"Special District Taxes (2.25%)\",\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 124,\n                  \"string\": \"$1.24\"\n                }\n              },\n              {\n                \"type\": \"shipping\",\n                \"name\": \"Flat Rate\",\n                \"description\": \"\",\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 599,\n                  \"string\": \"$5.99\"\n                }\n              },\n              {\n                \"type\": \"discount\",\n                \"name\": \"Discount (SAVE5)\",\n                \"description\": \"\",\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": -500,\n                  \"string\": \"-$ 5.00 USD\"\n                }\n              }\n            ],\n            \"total\": {\n              \"unit\": \"USD\",\n              \"value\": 6122,\n              \"string\": \"$61.22\"\n            }\n          },\n          \"customData\": [\n            {\n              \"textInput\": \"(415) 123-4567\",\n              \"name\": \"Telephone\"\n            },\n            {\n              \"textArea\": \"Happy birthday Mom!\",\n              \"name\": \"Gift note\"\n            },\n            {\n              \"checkbox\": true,\n              \"name\": \"Send as gift\"\n            }\n          ],\n          \"downloadFiles\": [\n            {\n              \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n              \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n              \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n            },\n            {\n              \"id\": \"5e9a5eba75e0ac242e1b6f63\",\n              \"name\": \"The freelance web designers guide - Webflow Ebook.pdf\",\n              \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5dd44c493543b37d5449b3cd;5e9a5eba75e0ac242e1b6f63:ka2nehxy:6af5adf7c6fff7a3b0f54404fac1be492ac6f1ed5340416f1fe27c5fd4dd8079\"\n            }\n          ]\n        }\n      }\n    }\n  },\n  \"webhooks\": {\n    \"form_submission\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The form data submitted\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"name\": {\n                    \"type\": \"string\",\n                    \"description\": \"The name of the form\",\n                    \"example\": \"Sample Form\"\n                  },\n                  \"site\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"description\": \"The id of the site that the form was submitted from\",\n                    \"example\": \"62749158efef318abc8d5a0f\"\n                  },\n                  \"data\": {\n                    \"type\": \"object\",\n                    \"description\": \"The data submitted in the form\",\n                    \"example\": {\n                      \"name\": \"Some One\",\n                      \"email\": \"some.one@home.com\"\n                    }\n                  },\n                  \"d\": {\n                    \"type\": \"string\",\n                    \"description\": \"The timestamp the form was submitted\",\n                    \"example\": \"2022-09-14T12:35:16.117Z\"\n                  },\n                  \"_id\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"description\": \"The id of the form submission\",\n                    \"example\": \"6321ca84df3949bfc6752327\"\n                  }\n                },\n                \"example\": {\n                  \"name\": \"Sample Form\",\n                  \"site\": \"62749158efef318abc8d5a0f\",\n                  \"data\": {\n                    \"name\": \"Some One\",\n                    \"email\": \"some.one@home.com\"\n                  },\n                  \"d\": \"2022-09-14T12:35:16.117Z\",\n                  \"_id\": \"6321ca84df3949bfc6752327\"\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"site_publish\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the site(s) published\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"site\": {\n                    \"description\": \"The site id that was published\",\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"62749158efef318abc8d5a0f\"\n                  },\n                  \"publishTime\": {\n                    \"description\": \"The timestamp of the publish event\",\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": 1653619272801\n                  },\n                  \"domains\": {\n                    \"description\": \"The domains that were published\",\n                    \"type\": \"array\",\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"example\": [\n                      \"my-website.webflow.io\"\n                    ]\n                  },\n                  \"publishedBy\": {\n                    \"type\": \"object\",\n                    \"description\": \"The name and id of the user who published the site\"\n                  }\n                },\n                \"example\": {\n                  \"site\": \"62749158efef318abc8d5a0f\",\n                  \"publishTime\": 1653619272801,\n                  \"domains\": [\n                    \"my-website.webflow.io\"\n                  ],\n                  \"publishedBy\": {\n                    \"name\": \"Some One\",\n                    \"id\": \"123460a7b6c16def4527122d\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"ecomm_new_order\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the new order\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"example\": {\n                  \"value\": {\n                    \"orderId\": \"dfa-3f1\",\n                    \"status\": \"unfulfilled\",\n                    \"comment\": \"\",\n                    \"orderComment\": \"\",\n                    \"acceptedOn\": \"2018-12-03T22:06:15.761Z\",\n                    \"disputedOn\": null,\n                    \"disputeUpdatedOn\": null,\n                    \"disputeLastStatus\": null,\n                    \"fulfilledOn\": null,\n                    \"refundedOn\": null,\n                    \"customerPaid\": {\n                      \"unit\": \"USD\",\n                      \"value\": 6099,\n                      \"string\": \"$60.99\"\n                    },\n                    \"netAmount\": {\n                      \"unit\": \"USD\",\n                      \"value\": 5892,\n                      \"string\": \"$58.92\"\n                    },\n                    \"requiresShipping\": true,\n                    \"shippingProvider\": null,\n                    \"shippingTracking\": null,\n                    \"customerInfo\": {\n                      \"fullName\": \"Customerio Namen\",\n                      \"email\": \"renning+customer@webflow.com\"\n                    },\n                    \"allAddresses\": [\n                      {\n                        \"type\": \"billing\",\n                        \"addressee\": \"Customerio Namen\",\n                        \"line1\": \"123 Example Rd\",\n                        \"line2\": \"\",\n                        \"city\": \"Examplesville\",\n                        \"state\": \"CA\",\n                        \"country\": \"US\",\n                        \"postalCode\": \"90012\"\n                      },\n                      {\n                        \"type\": \"shipping\",\n                        \"addressee\": \"Customerio Namen\",\n                        \"line1\": \"123 Example Rd\",\n                        \"line2\": \"\",\n                        \"city\": \"Examplesville\",\n                        \"state\": \"CA\",\n                        \"country\": \"US\",\n                        \"postalCode\": \"90012\"\n                      }\n                    ],\n                    \"shippingAddress\": {\n                      \"type\": \"shipping\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"billingAddress\": {\n                      \"type\": \"billing\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"purchasedItems\": [\n                      {\n                        \"count\": 1,\n                        \"rowTotal\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"productId\": \"5eb9fd05caef491eb9757183\",\n                        \"productName\": \"White Cup\",\n                        \"productSlug\": \"white-cup\",\n                        \"variantId\": \"5eb9fcace279761d8199790c\",\n                        \"variantName\": \"white-cup_default_sku\",\n                        \"variantSlug\": \"white-cup-default-sku\",\n                        \"variantImage\": {\n                          \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                          \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                        },\n                        \"variantPrice\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"height\": 7,\n                        \"length\": 2,\n                        \"weight\": 5,\n                        \"width\": 4\n                      }\n                    ],\n                    \"purchasedItemsCount\": 1,\n                    \"stripeDetails\": {\n                      \"refundReason\": null,\n                      \"refundId\": null,\n                      \"disputeId\": null,\n                      \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n                      \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n                    },\n                    \"stripeCard\": {\n                      \"last4\": \"4242\",\n                      \"brand\": \"Visa\",\n                      \"ownerName\": \"Customerio Namen\",\n                      \"expires\": {\n                        \"year\": 2023,\n                        \"month\": 12\n                      }\n                    },\n                    \"totals\": {\n                      \"subtotal\": {\n                        \"unit\": \"USD\",\n                        \"value\": 5500,\n                        \"string\": \"$55.00\"\n                      },\n                      \"extras\": [\n                        {\n                          \"type\": \"tax\",\n                          \"name\": \"State Taxes\",\n                          \"description\": \"CA Taxes (6.25%)\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 344,\n                            \"string\": \"$3.44\"\n                          }\n                        },\n                        {\n                          \"type\": \"tax\",\n                          \"name\": \"County Taxes\",\n                          \"description\": \"LOS ANGELES Taxes (1.00%)\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 55,\n                            \"string\": \"$0.55\"\n                          }\n                        },\n                        {\n                          \"type\": \"tax\",\n                          \"name\": \"Special District Taxes\",\n                          \"description\": \"Special District Taxes (2.25%)\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 124,\n                            \"string\": \"$1.24\"\n                          }\n                        },\n                        {\n                          \"type\": \"shipping\",\n                          \"name\": \"Flat Rate\",\n                          \"description\": \"\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 599,\n                            \"string\": \"$5.99\"\n                          }\n                        },\n                        {\n                          \"type\": \"discount\",\n                          \"name\": \"Discount (SAVE5)\",\n                          \"description\": \"\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": -500,\n                            \"string\": \"-$ 5.00 USD\"\n                          }\n                        }\n                      ],\n                      \"total\": {\n                        \"unit\": \"USD\",\n                        \"value\": 6122,\n                        \"string\": \"$61.22\"\n                      }\n                    },\n                    \"customData\": [\n                      {\n                        \"textInput\": \"(415) 123-4567\",\n                        \"name\": \"Telephone\"\n                      },\n                      {\n                        \"textArea\": \"Happy birthday Mom!\",\n                        \"name\": \"Gift note\"\n                      },\n                      {\n                        \"checkbox\": true,\n                        \"name\": \"Send as gift\"\n                      }\n                    ],\n                    \"downloadFiles\": [\n                      {\n                        \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n                        \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                        \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                      },\n                      {\n                        \"id\": \"5e9a5eba75e0ac242e1b6f63\",\n                        \"name\": \"The freelance web designers guide - Webflow Ebook.pdf\",\n                        \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5dd44c493543b37d5449b3cd;5e9a5eba75e0ac242e1b6f63:ka2nehxy:6af5adf7c6fff7a3b0f54404fac1be492ac6f1ed5340416f1fe27c5fd4dd8079\"\n                      }\n                    ]\n                  }\n                },\n                \"properties\": {\n                  \"orderId\": {\n                    \"type\": \"string\",\n                    \"example\": \"dfa-3f1\",\n                    \"description\": \"The order id. Will usually be 6 hex characters, but can also be 9 hex characters if the site has a very large number of orders. Randomly assigned.\\n\"\n                  },\n                  \"status\": {\n                    \"type\": \"string\",\n                    \"example\": \"unfulfilled\",\n                    \"description\": \"One of `pending`, `unfulfilled`, `fulfilled`, `disputed`, `dispute-lost`, or `refunded`\\n\",\n                    \"enum\": [\n                      \"pending\",\n                      \"unfulfilled\",\n                      \"fulfilled\",\n                      \"disputed\",\n                      \"dispute-lost\",\n                      \"refunded\"\n                    ]\n                  },\n                  \"comment\": {\n                    \"type\": \"string\",\n                    \"description\": \"A comment string for this order editable by API user (not used by Webflow).\"\n                  },\n                  \"orderComment\": {\n                    \"type\": \"string\",\n                    \"description\": \"A comment that the customer left when making their order\"\n                  },\n                  \"acceptedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"The ISO8601 timestamp that an order was placed.\"\n                  },\n                  \"disputedOn\": {\n                    \"type\": \"string\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"format\": \"date-time\",\n                    \"description\": \"If an order was disputed by the customer, then this key will be set with the ISO8601 timestamp that Stripe notifies Webflow. Null if not disputed.\\n\"\n                  },\n                  \"disputeUpdatedOn\": {\n                    \"type\": \"string\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"If an order was disputed by the customer, then this key will be set with the ISO8601 timestamp of the last time that we got an update. Null if not disputed.\\n\"\n                  },\n                  \"disputeLastStatus\": {\n                    \"type\": \"string\",\n                    \"example\": null,\n                    \"description\": \"If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).\\n\"\n                  },\n                  \"fulfilledOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"If an order was marked as 'fulfilled', then this is the ISO8601 timestamp when that happened.\\n\"\n                  },\n                  \"refundedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"If an order was refunded, this is the ISO8601 of when that happened.\"\n                  },\n                  \"customerPaid\": {\n                    \"example\": {\n                      \"unit\": \"USD\",\n                      \"value\": 5892,\n                      \"string\": \"$58.92\"\n                    },\n                    \"description\": \"The sum of all line items.\",\n                    \"properties\": {\n                      \"unit\": {\n                        \"type\": \"string\",\n                        \"example\": \"USD\"\n                      },\n                      \"value\": {\n                        \"type\": \"string\",\n                        \"example\": \"6099\"\n                      },\n                      \"string\": {\n                        \"type\": \"string\",\n                        \"example\": \"$60.99\"\n                      }\n                    }\n                  },\n                  \"netAmount\": {\n                    \"example\": {\n                      \"unit\": \"USD\",\n                      \"value\": 5892,\n                      \"string\": \"$58.92\"\n                    },\n                    \"description\": \"The sum of all line items.\",\n                    \"properties\": {\n                      \"unit\": {\n                        \"type\": \"string\",\n                        \"example\": \"USD\"\n                      },\n                      \"value\": {\n                        \"type\": \"string\",\n                        \"example\": \"6099\"\n                      },\n                      \"string\": {\n                        \"type\": \"string\",\n                        \"example\": \"$60.99\"\n                      }\n                    }\n                  },\n                  \"requiresShipping\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"A boolean indicating whether the order contains one or more purchased items that require shipping.\\n\"\n                  },\n                  \"shippingProvider\": {\n                    \"type\": \"string\",\n                    \"example\": null,\n                    \"description\": \"A string editable by the API user to note the shipping provider used (not used by Webflow).\\n\"\n                  },\n                  \"shippingTracking\": {\n                    \"type\": \"string\",\n                    \"description\": \"A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).\\n\"\n                  },\n                  \"customerInfo\": {\n                    \"example\": {\n                      \"fullName\": \"Customerio Namen\",\n                      \"email\": \"renning+customer@webflow.com\"\n                    },\n                    \"description\": \"An object with the keys `fullName` and `email`.\",\n                    \"properties\": {\n                      \"fullName\": {\n                        \"type\": \"string\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"email\": {\n                        \"type\": \"string\",\n                        \"format\": \"email\",\n                        \"example\": \"renning+customer@webflow.com\"\n                      }\n                    }\n                  },\n                  \"allAddresses\": {\n                    \"description\": \"All addresses provided by the customer during the ordering flow.\",\n                    \"type\": \"array\",\n                    \"items\": {\n                      \"description\": \"A customer address\",\n                      \"example\": {\n                        \"type\": \"billing\",\n                        \"addressee\": \"Customerio Namen\",\n                        \"line1\": \"123 Example Rd\",\n                        \"line2\": \"\",\n                        \"city\": \"Examplesville\",\n                        \"state\": \"CA\",\n                        \"country\": \"US\",\n                        \"postalCode\": \"90012\"\n                      },\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"shipping\",\n                          \"enum\": [\n                            \"shipping\",\n                            \"billing\"\n                          ]\n                        },\n                        \"addressee\": {\n                          \"type\": \"string\",\n                          \"example\": \"Customerio Namen\"\n                        },\n                        \"line1\": {\n                          \"type\": \"string\",\n                          \"example\": \"123 Example Rd\"\n                        },\n                        \"line2\": {\n                          \"type\": \"string\",\n                          \"example\": null\n                        },\n                        \"city\": {\n                          \"type\": \"string\",\n                          \"example\": \"Examplesville\"\n                        },\n                        \"state\": {\n                          \"type\": \"string\",\n                          \"example\": \"CA\"\n                        },\n                        \"country\": {\n                          \"type\": \"string\",\n                          \"example\": \"US\"\n                        },\n                        \"postalCode\": {\n                          \"type\": \"string\",\n                          \"example\": \"90012\"\n                        }\n                      }\n                    }\n                  },\n                  \"shippingAddress\": {\n                    \"description\": \"A customer address\",\n                    \"example\": {\n                      \"type\": \"billing\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"properties\": {\n                      \"type\": {\n                        \"type\": \"string\",\n                        \"example\": \"shipping\",\n                        \"enum\": [\n                          \"shipping\",\n                          \"billing\"\n                        ]\n                      },\n                      \"addressee\": {\n                        \"type\": \"string\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"line1\": {\n                        \"type\": \"string\",\n                        \"example\": \"123 Example Rd\"\n                      },\n                      \"line2\": {\n                        \"type\": \"string\",\n                        \"example\": null\n                      },\n                      \"city\": {\n                        \"type\": \"string\",\n                        \"example\": \"Examplesville\"\n                      },\n                      \"state\": {\n                        \"type\": \"string\",\n                        \"example\": \"CA\"\n                      },\n                      \"country\": {\n                        \"type\": \"string\",\n                        \"example\": \"US\"\n                      },\n                      \"postalCode\": {\n                        \"type\": \"string\",\n                        \"example\": \"90012\"\n                      }\n                    }\n                  },\n                  \"billingAddress\": {\n                    \"description\": \"A customer address\",\n                    \"example\": {\n                      \"type\": \"billing\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"properties\": {\n                      \"type\": {\n                        \"type\": \"string\",\n                        \"example\": \"shipping\",\n                        \"enum\": [\n                          \"shipping\",\n                          \"billing\"\n                        ]\n                      },\n                      \"addressee\": {\n                        \"type\": \"string\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"line1\": {\n                        \"type\": \"string\",\n                        \"example\": \"123 Example Rd\"\n                      },\n                      \"line2\": {\n                        \"type\": \"string\",\n                        \"example\": null\n                      },\n                      \"city\": {\n                        \"type\": \"string\",\n                        \"example\": \"Examplesville\"\n                      },\n                      \"state\": {\n                        \"type\": \"string\",\n                        \"example\": \"CA\"\n                      },\n                      \"country\": {\n                        \"type\": \"string\",\n                        \"example\": \"US\"\n                      },\n                      \"postalCode\": {\n                        \"type\": \"string\",\n                        \"example\": \"90012\"\n                      }\n                    }\n                  },\n                  \"purchasedItems\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of all things that the customer purchased.\",\n                    \"items\": {\n                      \"example\": {\n                        \"count\": 1,\n                        \"rowTotal\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"productId\": \"5eb9fd05caef491eb9757183\",\n                        \"productName\": \"White Cup\",\n                        \"productSlug\": \"white-cup\",\n                        \"variantId\": \"5eb9fcace279761d8199790c\",\n                        \"variantName\": \"white-cup_default_sku\",\n                        \"variantSlug\": \"white-cup-default-sku\",\n                        \"variantImage\": {\n                          \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                          \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                        },\n                        \"variantPrice\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"height\": 7,\n                        \"length\": 2,\n                        \"weight\": 5,\n                        \"width\": 4\n                      },\n                      \"description\": \"An item that was purchased\",\n                      \"properties\": {\n                        \"count\": {\n                          \"type\": \"number\",\n                          \"example\": 1,\n                          \"description\": \"Number of item purchased.\"\n                        },\n                        \"rowTotal\": {\n                          \"example\": {\n                            \"unit\": \"USD\",\n                            \"value\": 5892,\n                            \"string\": \"$58.92\"\n                          },\n                          \"description\": \"The sum of all line items.\",\n                          \"properties\": {\n                            \"unit\": {\n                              \"type\": \"string\",\n                              \"example\": \"USD\"\n                            },\n                            \"value\": {\n                              \"type\": \"string\",\n                              \"example\": \"6099\"\n                            },\n                            \"string\": {\n                              \"type\": \"string\",\n                              \"example\": \"$60.99\"\n                            }\n                          }\n                        },\n                        \"productId\": {\n                          \"type\": \"string\",\n                          \"format\": \"uuid\",\n                          \"example\": \"5eb9fd05caef491eb9757183\",\n                          \"description\": \"String Product Id.\"\n                        },\n                        \"productName\": {\n                          \"type\": \"string\",\n                          \"example\": \"White Cup\",\n                          \"description\": \"Name of the product.\"\n                        },\n                        \"productSlug\": {\n                          \"type\": \"string\",\n                          \"example\": \"white-cup\",\n                          \"description\": \"Slug of the product.\"\n                        },\n                        \"variantId\": {\n                          \"type\": \"string\",\n                          \"format\": \"uuid\",\n                          \"example\": \"5eb9fcace279761d8199790c\",\n                          \"description\": \"String Variant Id. (SKU)\"\n                        },\n                        \"variantName\": {\n                          \"type\": \"string\",\n                          \"example\": \"white-cup_default_sku\",\n                          \"description\": \"Name of the variant. (SKU)\"\n                        },\n                        \"variantSlug\": {\n                          \"type\": \"string\",\n                          \"example\": \"white-cup-default-sku\",\n                          \"description\": \"Slug of the variant. (SKU)\"\n                        },\n                        \"variantImage\": {\n                          \"example\": {\n                            \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                            \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                          },\n                          \"properties\": {\n                            \"fileId\": {\n                              \"type\": \"string\",\n                              \"format\": \"uuid\",\n                              \"example\": \"5bfedb42bab0ad90fa7dad2e\"\n                            },\n                            \"url\": {\n                              \"type\": \"string\",\n                              \"format\": \"uri\",\n                              \"example\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                            }\n                          }\n                        },\n                        \"variantPrice\": {\n                          \"example\": {\n                            \"unit\": \"USD\",\n                            \"value\": 5892,\n                            \"string\": \"$58.92\"\n                          },\n                          \"description\": \"The sum of all line items.\",\n                          \"properties\": {\n                            \"unit\": {\n                              \"type\": \"string\",\n                              \"example\": \"USD\"\n                            },\n                            \"value\": {\n                              \"type\": \"string\",\n                              \"example\": \"6099\"\n                            },\n                            \"string\": {\n                              \"type\": \"string\",\n                              \"example\": \"$60.99\"\n                            }\n                          }\n                        },\n                        \"height\": {\n                          \"type\": \"number\",\n                          \"example\": 7,\n                          \"description\": \"The height of the variant if provided, 0 otherwise.\"\n                        },\n                        \"length\": {\n                          \"type\": \"number\",\n                          \"example\": 2,\n                          \"description\": \"The length of the variant if provided, 0 otherwise.\"\n                        },\n                        \"width\": {\n                          \"type\": \"number\",\n                          \"example\": 4,\n                          \"description\": \"The width of the variant if provided, 0 otherwise\"\n                        },\n                        \"weight\": {\n                          \"type\": \"number\",\n                          \"example\": 5,\n                          \"description\": \"The weight of the variant if provided, 0 otherwise.\"\n                        },\n                        \"purchasedItemsCount\": {\n                          \"type\": \"number\",\n                          \"example\": 1,\n                          \"description\": \"The sum of all 'count' fields in 'purchasedItems'.\"\n                        }\n                      }\n                    }\n                  },\n                  \"stripeDetails\": {\n                    \"description\": \"An object with various Stripe IDs, useful for linking into the stripe dashboard.\",\n                    \"example\": {\n                      \"refundReason\": null,\n                      \"refundId\": null,\n                      \"disputeId\": null,\n                      \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n                      \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n                    },\n                    \"properties\": {\n                      \"refundReason\": {\n                        \"type\": \"string\",\n                        \"description\": \"Stripe customer ID, or null.\",\n                        \"example\": null\n                      },\n                      \"refundId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Stripe charge ID, or null.\",\n                        \"example\": null\n                      },\n                      \"disputeId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Stripe dispute ID, or null.\",\n                        \"example\": null\n                      },\n                      \"chargeId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Stripe refund ID, or null.\",\n                        \"example\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\"\n                      },\n                      \"customerId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"example\": \"cus_E5ajeiWNHEtcAW\"\n                      }\n                    }\n                  },\n                  \"stripeCard\": {\n                    \"description\": \"Details on the card used to fulfill this order, if this order was finalized with Stripe.\\n\",\n                    \"example\": {\n                      \"last4\": \"4242\",\n                      \"brand\": \"Visa\",\n                      \"ownerName\": \"Customerio Namen\",\n                      \"expires\": {\n                        \"year\": 2023,\n                        \"month\": 12\n                      }\n                    },\n                    \"properties\": {\n                      \"last4\": {\n                        \"type\": \"string\",\n                        \"description\": \"The last 4 digits on the card.\",\n                        \"example\": \"4242\"\n                      },\n                      \"brand\": {\n                        \"type\": \"string\",\n                        \"description\": \"The card’s brand.\",\n                        \"example\": \"Visa\",\n                        \"enum\": [\n                          \"Visa\",\n                          \"American Express\",\n                          \"MasterCard\",\n                          \"Discover\",\n                          \"JCB\",\n                          \"Diners Club\",\n                          \"Unknown\"\n                        ]\n                      },\n                      \"ownerName\": {\n                        \"type\": \"string\",\n                        \"description\": \"The name on the card.\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"expires\": {\n                        \"type\": \"object\",\n                        \"description\": \"The card’s expiration date.\",\n                        \"properties\": {\n                          \"year\": {\n                            \"type\": \"number\",\n                            \"example\": 2023\n                          },\n                          \"month\": {\n                            \"type\": \"number\",\n                            \"example\": 12\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"totals\": {\n                    \"description\": \"An object describing various pricing totals.\",\n                    \"example\": {\n                      \"subtotal\": {\n                        \"unit\": \"USD\",\n                        \"value\": 5500,\n                        \"string\": \"$55.00\"\n                      }\n                    },\n                    \"properties\": {\n                      \"subtotal\": {\n                        \"example\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5892,\n                          \"string\": \"$58.92\"\n                        },\n                        \"description\": \"The sum of all line items.\",\n                        \"properties\": {\n                          \"unit\": {\n                            \"type\": \"string\",\n                            \"example\": \"USD\"\n                          },\n                          \"value\": {\n                            \"type\": \"string\",\n                            \"example\": \"6099\"\n                          },\n                          \"string\": {\n                            \"type\": \"string\",\n                            \"example\": \"$60.99\"\n                          }\n                        }\n                      },\n                      \"extras\": {\n                        \"type\": \"array\",\n                        \"description\": \"An array of extra items, includes discounts, shipping, and taxes.\",\n                        \"items\": {\n                          \"description\": \"Extra order items, includes discounts, shipping, and taxes.\",\n                          \"example\": {\n                            \"type\": \"tax\",\n                            \"name\": \"State Taxes\",\n                            \"description\": \"CA Taxes (6.25%)\",\n                            \"price\": {\n                              \"unit\": \"USD\",\n                              \"value\": 344,\n                              \"string\": \"$3.44\"\n                            }\n                          },\n                          \"properties\": {\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"tax\",\n                              \"description\": \"The type of extra item this is.\",\n                              \"enum\": [\n                                \"discount\",\n                                \"discount-shipping\",\n                                \"shipping\",\n                                \"tax\"\n                              ]\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"shipping\",\n                              \"description\": \"A human-readable (but English) name for this extra charge.\"\n                            },\n                            \"description\": {\n                              \"type\": \"string\",\n                              \"example\": \"Flat Rate\",\n                              \"description\": \"A human-readable (but English) description of this extra charge.\"\n                            },\n                            \"price\": {\n                              \"example\": {\n                                \"unit\": \"USD\",\n                                \"value\": 5892,\n                                \"string\": \"$58.92\"\n                              },\n                              \"description\": \"The sum of all line items.\",\n                              \"properties\": {\n                                \"unit\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"USD\"\n                                },\n                                \"value\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"6099\"\n                                },\n                                \"string\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"$60.99\"\n                                }\n                              }\n                            }\n                          }\n                        }\n                      },\n                      \"total\": {\n                        \"example\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5892,\n                          \"string\": \"$58.92\"\n                        },\n                        \"description\": \"The sum of all line items.\",\n                        \"properties\": {\n                          \"unit\": {\n                            \"type\": \"string\",\n                            \"example\": \"USD\"\n                          },\n                          \"value\": {\n                            \"type\": \"string\",\n                            \"example\": \"6099\"\n                          },\n                          \"string\": {\n                            \"type\": \"string\",\n                            \"example\": \"$60.99\"\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"customData\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.\\n\",\n                    \"items\": {\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"downloadFiles\": {\n                    \"description\": \"An array of downloadable file objects.\",\n                    \"type\": \"array\",\n                    \"items\": {\n                      \"example\": {\n                        \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n                        \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                        \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                      },\n                      \"properties\": {\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"format\": \"uuid\",\n                          \"example\": \"5e9a5eba75e0ac242e1b6f64\"\n                        },\n                        \"name\": {\n                          \"type\": \"string\",\n                          \"example\": \"The modern web design process - Webflow Ebook.pdf\"\n                        },\n                        \"url\": {\n                          \"type\": \"string\",\n                          \"format\": \"uri\",\n                          \"example\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"ecomm_order_changed\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the order that changed\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"example\": {\n                  \"value\": {\n                    \"orderId\": \"dfa-3f1\",\n                    \"status\": \"unfulfilled\",\n                    \"comment\": \"\",\n                    \"orderComment\": \"\",\n                    \"acceptedOn\": \"2018-12-03T22:06:15.761Z\",\n                    \"disputedOn\": null,\n                    \"disputeUpdatedOn\": null,\n                    \"disputeLastStatus\": null,\n                    \"fulfilledOn\": null,\n                    \"refundedOn\": null,\n                    \"customerPaid\": {\n                      \"unit\": \"USD\",\n                      \"value\": 6099,\n                      \"string\": \"$60.99\"\n                    },\n                    \"netAmount\": {\n                      \"unit\": \"USD\",\n                      \"value\": 5892,\n                      \"string\": \"$58.92\"\n                    },\n                    \"requiresShipping\": true,\n                    \"shippingProvider\": null,\n                    \"shippingTracking\": null,\n                    \"customerInfo\": {\n                      \"fullName\": \"Customerio Namen\",\n                      \"email\": \"renning+customer@webflow.com\"\n                    },\n                    \"allAddresses\": [\n                      {\n                        \"type\": \"billing\",\n                        \"addressee\": \"Customerio Namen\",\n                        \"line1\": \"123 Example Rd\",\n                        \"line2\": \"\",\n                        \"city\": \"Examplesville\",\n                        \"state\": \"CA\",\n                        \"country\": \"US\",\n                        \"postalCode\": \"90012\"\n                      },\n                      {\n                        \"type\": \"shipping\",\n                        \"addressee\": \"Customerio Namen\",\n                        \"line1\": \"123 Example Rd\",\n                        \"line2\": \"\",\n                        \"city\": \"Examplesville\",\n                        \"state\": \"CA\",\n                        \"country\": \"US\",\n                        \"postalCode\": \"90012\"\n                      }\n                    ],\n                    \"shippingAddress\": {\n                      \"type\": \"shipping\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"billingAddress\": {\n                      \"type\": \"billing\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"purchasedItems\": [\n                      {\n                        \"count\": 1,\n                        \"rowTotal\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"productId\": \"5eb9fd05caef491eb9757183\",\n                        \"productName\": \"White Cup\",\n                        \"productSlug\": \"white-cup\",\n                        \"variantId\": \"5eb9fcace279761d8199790c\",\n                        \"variantName\": \"white-cup_default_sku\",\n                        \"variantSlug\": \"white-cup-default-sku\",\n                        \"variantImage\": {\n                          \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                          \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                        },\n                        \"variantPrice\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"height\": 7,\n                        \"length\": 2,\n                        \"weight\": 5,\n                        \"width\": 4\n                      }\n                    ],\n                    \"purchasedItemsCount\": 1,\n                    \"stripeDetails\": {\n                      \"refundReason\": null,\n                      \"refundId\": null,\n                      \"disputeId\": null,\n                      \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n                      \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n                    },\n                    \"stripeCard\": {\n                      \"last4\": \"4242\",\n                      \"brand\": \"Visa\",\n                      \"ownerName\": \"Customerio Namen\",\n                      \"expires\": {\n                        \"year\": 2023,\n                        \"month\": 12\n                      }\n                    },\n                    \"totals\": {\n                      \"subtotal\": {\n                        \"unit\": \"USD\",\n                        \"value\": 5500,\n                        \"string\": \"$55.00\"\n                      },\n                      \"extras\": [\n                        {\n                          \"type\": \"tax\",\n                          \"name\": \"State Taxes\",\n                          \"description\": \"CA Taxes (6.25%)\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 344,\n                            \"string\": \"$3.44\"\n                          }\n                        },\n                        {\n                          \"type\": \"tax\",\n                          \"name\": \"County Taxes\",\n                          \"description\": \"LOS ANGELES Taxes (1.00%)\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 55,\n                            \"string\": \"$0.55\"\n                          }\n                        },\n                        {\n                          \"type\": \"tax\",\n                          \"name\": \"Special District Taxes\",\n                          \"description\": \"Special District Taxes (2.25%)\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 124,\n                            \"string\": \"$1.24\"\n                          }\n                        },\n                        {\n                          \"type\": \"shipping\",\n                          \"name\": \"Flat Rate\",\n                          \"description\": \"\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 599,\n                            \"string\": \"$5.99\"\n                          }\n                        },\n                        {\n                          \"type\": \"discount\",\n                          \"name\": \"Discount (SAVE5)\",\n                          \"description\": \"\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": -500,\n                            \"string\": \"-$ 5.00 USD\"\n                          }\n                        }\n                      ],\n                      \"total\": {\n                        \"unit\": \"USD\",\n                        \"value\": 6122,\n                        \"string\": \"$61.22\"\n                      }\n                    },\n                    \"customData\": [\n                      {\n                        \"textInput\": \"(415) 123-4567\",\n                        \"name\": \"Telephone\"\n                      },\n                      {\n                        \"textArea\": \"Happy birthday Mom!\",\n                        \"name\": \"Gift note\"\n                      },\n                      {\n                        \"checkbox\": true,\n                        \"name\": \"Send as gift\"\n                      }\n                    ],\n                    \"downloadFiles\": [\n                      {\n                        \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n                        \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                        \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                      },\n                      {\n                        \"id\": \"5e9a5eba75e0ac242e1b6f63\",\n                        \"name\": \"The freelance web designers guide - Webflow Ebook.pdf\",\n                        \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5dd44c493543b37d5449b3cd;5e9a5eba75e0ac242e1b6f63:ka2nehxy:6af5adf7c6fff7a3b0f54404fac1be492ac6f1ed5340416f1fe27c5fd4dd8079\"\n                      }\n                    ]\n                  }\n                },\n                \"properties\": {\n                  \"orderId\": {\n                    \"type\": \"string\",\n                    \"example\": \"dfa-3f1\",\n                    \"description\": \"The order id. Will usually be 6 hex characters, but can also be 9 hex characters if the site has a very large number of orders. Randomly assigned.\\n\"\n                  },\n                  \"status\": {\n                    \"type\": \"string\",\n                    \"example\": \"unfulfilled\",\n                    \"description\": \"One of `pending`, `unfulfilled`, `fulfilled`, `disputed`, `dispute-lost`, or `refunded`\\n\",\n                    \"enum\": [\n                      \"pending\",\n                      \"unfulfilled\",\n                      \"fulfilled\",\n                      \"disputed\",\n                      \"dispute-lost\",\n                      \"refunded\"\n                    ]\n                  },\n                  \"comment\": {\n                    \"type\": \"string\",\n                    \"description\": \"A comment string for this order editable by API user (not used by Webflow).\"\n                  },\n                  \"orderComment\": {\n                    \"type\": \"string\",\n                    \"description\": \"A comment that the customer left when making their order\"\n                  },\n                  \"acceptedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"The ISO8601 timestamp that an order was placed.\"\n                  },\n                  \"disputedOn\": {\n                    \"type\": \"string\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"format\": \"date-time\",\n                    \"description\": \"If an order was disputed by the customer, then this key will be set with the ISO8601 timestamp that Stripe notifies Webflow. Null if not disputed.\\n\"\n                  },\n                  \"disputeUpdatedOn\": {\n                    \"type\": \"string\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"If an order was disputed by the customer, then this key will be set with the ISO8601 timestamp of the last time that we got an update. Null if not disputed.\\n\"\n                  },\n                  \"disputeLastStatus\": {\n                    \"type\": \"string\",\n                    \"example\": null,\n                    \"description\": \"If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).\\n\"\n                  },\n                  \"fulfilledOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"If an order was marked as 'fulfilled', then this is the ISO8601 timestamp when that happened.\\n\"\n                  },\n                  \"refundedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"If an order was refunded, this is the ISO8601 of when that happened.\"\n                  },\n                  \"customerPaid\": {\n                    \"example\": {\n                      \"unit\": \"USD\",\n                      \"value\": 5892,\n                      \"string\": \"$58.92\"\n                    },\n                    \"description\": \"The sum of all line items.\",\n                    \"properties\": {\n                      \"unit\": {\n                        \"type\": \"string\",\n                        \"example\": \"USD\"\n                      },\n                      \"value\": {\n                        \"type\": \"string\",\n                        \"example\": \"6099\"\n                      },\n                      \"string\": {\n                        \"type\": \"string\",\n                        \"example\": \"$60.99\"\n                      }\n                    }\n                  },\n                  \"netAmount\": {\n                    \"example\": {\n                      \"unit\": \"USD\",\n                      \"value\": 5892,\n                      \"string\": \"$58.92\"\n                    },\n                    \"description\": \"The sum of all line items.\",\n                    \"properties\": {\n                      \"unit\": {\n                        \"type\": \"string\",\n                        \"example\": \"USD\"\n                      },\n                      \"value\": {\n                        \"type\": \"string\",\n                        \"example\": \"6099\"\n                      },\n                      \"string\": {\n                        \"type\": \"string\",\n                        \"example\": \"$60.99\"\n                      }\n                    }\n                  },\n                  \"requiresShipping\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"A boolean indicating whether the order contains one or more purchased items that require shipping.\\n\"\n                  },\n                  \"shippingProvider\": {\n                    \"type\": \"string\",\n                    \"example\": null,\n                    \"description\": \"A string editable by the API user to note the shipping provider used (not used by Webflow).\\n\"\n                  },\n                  \"shippingTracking\": {\n                    \"type\": \"string\",\n                    \"description\": \"A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).\\n\"\n                  },\n                  \"customerInfo\": {\n                    \"example\": {\n                      \"fullName\": \"Customerio Namen\",\n                      \"email\": \"renning+customer@webflow.com\"\n                    },\n                    \"description\": \"An object with the keys `fullName` and `email`.\",\n                    \"properties\": {\n                      \"fullName\": {\n                        \"type\": \"string\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"email\": {\n                        \"type\": \"string\",\n                        \"format\": \"email\",\n                        \"example\": \"renning+customer@webflow.com\"\n                      }\n                    }\n                  },\n                  \"allAddresses\": {\n                    \"description\": \"All addresses provided by the customer during the ordering flow.\",\n                    \"type\": \"array\",\n                    \"items\": {\n                      \"description\": \"A customer address\",\n                      \"example\": {\n                        \"type\": \"billing\",\n                        \"addressee\": \"Customerio Namen\",\n                        \"line1\": \"123 Example Rd\",\n                        \"line2\": \"\",\n                        \"city\": \"Examplesville\",\n                        \"state\": \"CA\",\n                        \"country\": \"US\",\n                        \"postalCode\": \"90012\"\n                      },\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"shipping\",\n                          \"enum\": [\n                            \"shipping\",\n                            \"billing\"\n                          ]\n                        },\n                        \"addressee\": {\n                          \"type\": \"string\",\n                          \"example\": \"Customerio Namen\"\n                        },\n                        \"line1\": {\n                          \"type\": \"string\",\n                          \"example\": \"123 Example Rd\"\n                        },\n                        \"line2\": {\n                          \"type\": \"string\",\n                          \"example\": null\n                        },\n                        \"city\": {\n                          \"type\": \"string\",\n                          \"example\": \"Examplesville\"\n                        },\n                        \"state\": {\n                          \"type\": \"string\",\n                          \"example\": \"CA\"\n                        },\n                        \"country\": {\n                          \"type\": \"string\",\n                          \"example\": \"US\"\n                        },\n                        \"postalCode\": {\n                          \"type\": \"string\",\n                          \"example\": \"90012\"\n                        }\n                      }\n                    }\n                  },\n                  \"shippingAddress\": {\n                    \"description\": \"A customer address\",\n                    \"example\": {\n                      \"type\": \"billing\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"properties\": {\n                      \"type\": {\n                        \"type\": \"string\",\n                        \"example\": \"shipping\",\n                        \"enum\": [\n                          \"shipping\",\n                          \"billing\"\n                        ]\n                      },\n                      \"addressee\": {\n                        \"type\": \"string\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"line1\": {\n                        \"type\": \"string\",\n                        \"example\": \"123 Example Rd\"\n                      },\n                      \"line2\": {\n                        \"type\": \"string\",\n                        \"example\": null\n                      },\n                      \"city\": {\n                        \"type\": \"string\",\n                        \"example\": \"Examplesville\"\n                      },\n                      \"state\": {\n                        \"type\": \"string\",\n                        \"example\": \"CA\"\n                      },\n                      \"country\": {\n                        \"type\": \"string\",\n                        \"example\": \"US\"\n                      },\n                      \"postalCode\": {\n                        \"type\": \"string\",\n                        \"example\": \"90012\"\n                      }\n                    }\n                  },\n                  \"billingAddress\": {\n                    \"description\": \"A customer address\",\n                    \"example\": {\n                      \"type\": \"billing\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"properties\": {\n                      \"type\": {\n                        \"type\": \"string\",\n                        \"example\": \"shipping\",\n                        \"enum\": [\n                          \"shipping\",\n                          \"billing\"\n                        ]\n                      },\n                      \"addressee\": {\n                        \"type\": \"string\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"line1\": {\n                        \"type\": \"string\",\n                        \"example\": \"123 Example Rd\"\n                      },\n                      \"line2\": {\n                        \"type\": \"string\",\n                        \"example\": null\n                      },\n                      \"city\": {\n                        \"type\": \"string\",\n                        \"example\": \"Examplesville\"\n                      },\n                      \"state\": {\n                        \"type\": \"string\",\n                        \"example\": \"CA\"\n                      },\n                      \"country\": {\n                        \"type\": \"string\",\n                        \"example\": \"US\"\n                      },\n                      \"postalCode\": {\n                        \"type\": \"string\",\n                        \"example\": \"90012\"\n                      }\n                    }\n                  },\n                  \"purchasedItems\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of all things that the customer purchased.\",\n                    \"items\": {\n                      \"example\": {\n                        \"count\": 1,\n                        \"rowTotal\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"productId\": \"5eb9fd05caef491eb9757183\",\n                        \"productName\": \"White Cup\",\n                        \"productSlug\": \"white-cup\",\n                        \"variantId\": \"5eb9fcace279761d8199790c\",\n                        \"variantName\": \"white-cup_default_sku\",\n                        \"variantSlug\": \"white-cup-default-sku\",\n                        \"variantImage\": {\n                          \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                          \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                        },\n                        \"variantPrice\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"height\": 7,\n                        \"length\": 2,\n                        \"weight\": 5,\n                        \"width\": 4\n                      },\n                      \"description\": \"An item that was purchased\",\n                      \"properties\": {\n                        \"count\": {\n                          \"type\": \"number\",\n                          \"example\": 1,\n                          \"description\": \"Number of item purchased.\"\n                        },\n                        \"rowTotal\": {\n                          \"example\": {\n                            \"unit\": \"USD\",\n                            \"value\": 5892,\n                            \"string\": \"$58.92\"\n                          },\n                          \"description\": \"The sum of all line items.\",\n                          \"properties\": {\n                            \"unit\": {\n                              \"type\": \"string\",\n                              \"example\": \"USD\"\n                            },\n                            \"value\": {\n                              \"type\": \"string\",\n                              \"example\": \"6099\"\n                            },\n                            \"string\": {\n                              \"type\": \"string\",\n                              \"example\": \"$60.99\"\n                            }\n                          }\n                        },\n                        \"productId\": {\n                          \"type\": \"string\",\n                          \"format\": \"uuid\",\n                          \"example\": \"5eb9fd05caef491eb9757183\",\n                          \"description\": \"String Product Id.\"\n                        },\n                        \"productName\": {\n                          \"type\": \"string\",\n                          \"example\": \"White Cup\",\n                          \"description\": \"Name of the product.\"\n                        },\n                        \"productSlug\": {\n                          \"type\": \"string\",\n                          \"example\": \"white-cup\",\n                          \"description\": \"Slug of the product.\"\n                        },\n                        \"variantId\": {\n                          \"type\": \"string\",\n                          \"format\": \"uuid\",\n                          \"example\": \"5eb9fcace279761d8199790c\",\n                          \"description\": \"String Variant Id. (SKU)\"\n                        },\n                        \"variantName\": {\n                          \"type\": \"string\",\n                          \"example\": \"white-cup_default_sku\",\n                          \"description\": \"Name of the variant. (SKU)\"\n                        },\n                        \"variantSlug\": {\n                          \"type\": \"string\",\n                          \"example\": \"white-cup-default-sku\",\n                          \"description\": \"Slug of the variant. (SKU)\"\n                        },\n                        \"variantImage\": {\n                          \"example\": {\n                            \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                            \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                          },\n                          \"properties\": {\n                            \"fileId\": {\n                              \"type\": \"string\",\n                              \"format\": \"uuid\",\n                              \"example\": \"5bfedb42bab0ad90fa7dad2e\"\n                            },\n                            \"url\": {\n                              \"type\": \"string\",\n                              \"format\": \"uri\",\n                              \"example\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                            }\n                          }\n                        },\n                        \"variantPrice\": {\n                          \"example\": {\n                            \"unit\": \"USD\",\n                            \"value\": 5892,\n                            \"string\": \"$58.92\"\n                          },\n                          \"description\": \"The sum of all line items.\",\n                          \"properties\": {\n                            \"unit\": {\n                              \"type\": \"string\",\n                              \"example\": \"USD\"\n                            },\n                            \"value\": {\n                              \"type\": \"string\",\n                              \"example\": \"6099\"\n                            },\n                            \"string\": {\n                              \"type\": \"string\",\n                              \"example\": \"$60.99\"\n                            }\n                          }\n                        },\n                        \"height\": {\n                          \"type\": \"number\",\n                          \"example\": 7,\n                          \"description\": \"The height of the variant if provided, 0 otherwise.\"\n                        },\n                        \"length\": {\n                          \"type\": \"number\",\n                          \"example\": 2,\n                          \"description\": \"The length of the variant if provided, 0 otherwise.\"\n                        },\n                        \"width\": {\n                          \"type\": \"number\",\n                          \"example\": 4,\n                          \"description\": \"The width of the variant if provided, 0 otherwise\"\n                        },\n                        \"weight\": {\n                          \"type\": \"number\",\n                          \"example\": 5,\n                          \"description\": \"The weight of the variant if provided, 0 otherwise.\"\n                        },\n                        \"purchasedItemsCount\": {\n                          \"type\": \"number\",\n                          \"example\": 1,\n                          \"description\": \"The sum of all 'count' fields in 'purchasedItems'.\"\n                        }\n                      }\n                    }\n                  },\n                  \"stripeDetails\": {\n                    \"description\": \"An object with various Stripe IDs, useful for linking into the stripe dashboard.\",\n                    \"example\": {\n                      \"refundReason\": null,\n                      \"refundId\": null,\n                      \"disputeId\": null,\n                      \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n                      \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n                    },\n                    \"properties\": {\n                      \"refundReason\": {\n                        \"type\": \"string\",\n                        \"description\": \"Stripe customer ID, or null.\",\n                        \"example\": null\n                      },\n                      \"refundId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Stripe charge ID, or null.\",\n                        \"example\": null\n                      },\n                      \"disputeId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Stripe dispute ID, or null.\",\n                        \"example\": null\n                      },\n                      \"chargeId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Stripe refund ID, or null.\",\n                        \"example\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\"\n                      },\n                      \"customerId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"example\": \"cus_E5ajeiWNHEtcAW\"\n                      }\n                    }\n                  },\n                  \"stripeCard\": {\n                    \"description\": \"Details on the card used to fulfill this order, if this order was finalized with Stripe.\\n\",\n                    \"example\": {\n                      \"last4\": \"4242\",\n                      \"brand\": \"Visa\",\n                      \"ownerName\": \"Customerio Namen\",\n                      \"expires\": {\n                        \"year\": 2023,\n                        \"month\": 12\n                      }\n                    },\n                    \"properties\": {\n                      \"last4\": {\n                        \"type\": \"string\",\n                        \"description\": \"The last 4 digits on the card.\",\n                        \"example\": \"4242\"\n                      },\n                      \"brand\": {\n                        \"type\": \"string\",\n                        \"description\": \"The card’s brand.\",\n                        \"example\": \"Visa\",\n                        \"enum\": [\n                          \"Visa\",\n                          \"American Express\",\n                          \"MasterCard\",\n                          \"Discover\",\n                          \"JCB\",\n                          \"Diners Club\",\n                          \"Unknown\"\n                        ]\n                      },\n                      \"ownerName\": {\n                        \"type\": \"string\",\n                        \"description\": \"The name on the card.\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"expires\": {\n                        \"type\": \"object\",\n                        \"description\": \"The card’s expiration date.\",\n                        \"properties\": {\n                          \"year\": {\n                            \"type\": \"number\",\n                            \"example\": 2023\n                          },\n                          \"month\": {\n                            \"type\": \"number\",\n                            \"example\": 12\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"totals\": {\n                    \"description\": \"An object describing various pricing totals.\",\n                    \"example\": {\n                      \"subtotal\": {\n                        \"unit\": \"USD\",\n                        \"value\": 5500,\n                        \"string\": \"$55.00\"\n                      }\n                    },\n                    \"properties\": {\n                      \"subtotal\": {\n                        \"example\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5892,\n                          \"string\": \"$58.92\"\n                        },\n                        \"description\": \"The sum of all line items.\",\n                        \"properties\": {\n                          \"unit\": {\n                            \"type\": \"string\",\n                            \"example\": \"USD\"\n                          },\n                          \"value\": {\n                            \"type\": \"string\",\n                            \"example\": \"6099\"\n                          },\n                          \"string\": {\n                            \"type\": \"string\",\n                            \"example\": \"$60.99\"\n                          }\n                        }\n                      },\n                      \"extras\": {\n                        \"type\": \"array\",\n                        \"description\": \"An array of extra items, includes discounts, shipping, and taxes.\",\n                        \"items\": {\n                          \"description\": \"Extra order items, includes discounts, shipping, and taxes.\",\n                          \"example\": {\n                            \"type\": \"tax\",\n                            \"name\": \"State Taxes\",\n                            \"description\": \"CA Taxes (6.25%)\",\n                            \"price\": {\n                              \"unit\": \"USD\",\n                              \"value\": 344,\n                              \"string\": \"$3.44\"\n                            }\n                          },\n                          \"properties\": {\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"tax\",\n                              \"description\": \"The type of extra item this is.\",\n                              \"enum\": [\n                                \"discount\",\n                                \"discount-shipping\",\n                                \"shipping\",\n                                \"tax\"\n                              ]\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"shipping\",\n                              \"description\": \"A human-readable (but English) name for this extra charge.\"\n                            },\n                            \"description\": {\n                              \"type\": \"string\",\n                              \"example\": \"Flat Rate\",\n                              \"description\": \"A human-readable (but English) description of this extra charge.\"\n                            },\n                            \"price\": {\n                              \"example\": {\n                                \"unit\": \"USD\",\n                                \"value\": 5892,\n                                \"string\": \"$58.92\"\n                              },\n                              \"description\": \"The sum of all line items.\",\n                              \"properties\": {\n                                \"unit\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"USD\"\n                                },\n                                \"value\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"6099\"\n                                },\n                                \"string\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"$60.99\"\n                                }\n                              }\n                            }\n                          }\n                        }\n                      },\n                      \"total\": {\n                        \"example\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5892,\n                          \"string\": \"$58.92\"\n                        },\n                        \"description\": \"The sum of all line items.\",\n                        \"properties\": {\n                          \"unit\": {\n                            \"type\": \"string\",\n                            \"example\": \"USD\"\n                          },\n                          \"value\": {\n                            \"type\": \"string\",\n                            \"example\": \"6099\"\n                          },\n                          \"string\": {\n                            \"type\": \"string\",\n                            \"example\": \"$60.99\"\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"customData\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.\\n\",\n                    \"items\": {\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"downloadFiles\": {\n                    \"description\": \"An array of downloadable file objects.\",\n                    \"type\": \"array\",\n                    \"items\": {\n                      \"example\": {\n                        \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n                        \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                        \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                      },\n                      \"properties\": {\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"format\": \"uuid\",\n                          \"example\": \"5e9a5eba75e0ac242e1b6f64\"\n                        },\n                        \"name\": {\n                          \"type\": \"string\",\n                          \"example\": \"The modern web design process - Webflow Ebook.pdf\"\n                        },\n                        \"url\": {\n                          \"type\": \"string\",\n                          \"format\": \"uri\",\n                          \"example\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"ecomm_inventory_changed\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the inventory item that changed\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The availabile inventory for an item\",\n                \"example\": {\n                  \"_id\": \"5bfedb42bab0ad90fa7dad39\",\n                  \"quantity\": 83,\n                  \"inventoryType\": \"finite\"\n                },\n                \"properties\": {\n                  \"_id\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"5bfedb42bab0ad90fa7dad39\",\n                    \"description\": \"Unique identifier for a SKU item\"\n                  },\n                  \"quantity\": {\n                    \"type\": \"number\",\n                    \"example\": 100,\n                    \"description\": \"Total quantity of items remaining in inventory (if finite)\"\n                  },\n                  \"inventoryType\": {\n                    \"type\": \"string\",\n                    \"example\": \"finite\",\n                    \"description\": \"infinite or finite\",\n                    \"enum\": [\n                      \"infinite\",\n                      \"finite\"\n                    ]\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"memberships_user_account_added\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the user account that was added\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n                \"example\": {\n                  \"_id\": \"6287ec36a841b25637c663df\",\n                  \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n                  \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n                  \"emailVerified\": true,\n                  \"status\": \"verified\",\n                  \"data\": {\n                    \"accept-privacy\": false,\n                    \"accept-communications\": false,\n                    \"email\": \"Some.One@home.com\",\n                    \"name\": \"Some One\"\n                  }\n                },\n                \"properties\": {\n                  \"_id\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"6287ec36a841b25637c663df\",\n                    \"description\": \"Unique identifier for the User\"\n                  },\n                  \"createdOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was created\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"updatedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was updated\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"invitedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was invited\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"lastLogin\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was logged in\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"emailVerified\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"Shows whether the user has verified their email address\"\n                  },\n                  \"status\": {\n                    \"type\": \"string\",\n                    \"description\": \"The status of the user\",\n                    \"enum\": [\n                      \"invited\",\n                      \"verified\",\n                      \"unverified\"\n                    ]\n                  },\n                  \"data\": {\n                    \"type\": \"object\",\n                    \"description\": \"An object containing the User's basic info and custom fields\",\n                    \"example\": {\n                      \"accept-privacy\": false,\n                      \"accept-communications\": false,\n                      \"email\": \"some.one@home.com\",\n                      \"name\": \"Some One\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"memberships_user_account_updated\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the user account that was updated\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n                \"example\": {\n                  \"_id\": \"6287ec36a841b25637c663df\",\n                  \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n                  \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n                  \"emailVerified\": true,\n                  \"status\": \"verified\",\n                  \"data\": {\n                    \"accept-privacy\": false,\n                    \"accept-communications\": false,\n                    \"email\": \"Some.One@home.com\",\n                    \"name\": \"Some One\"\n                  }\n                },\n                \"properties\": {\n                  \"_id\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"6287ec36a841b25637c663df\",\n                    \"description\": \"Unique identifier for the User\"\n                  },\n                  \"createdOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was created\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"updatedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was updated\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"invitedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was invited\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"lastLogin\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was logged in\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"emailVerified\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"Shows whether the user has verified their email address\"\n                  },\n                  \"status\": {\n                    \"type\": \"string\",\n                    \"description\": \"The status of the user\",\n                    \"enum\": [\n                      \"invited\",\n                      \"verified\",\n                      \"unverified\"\n                    ]\n                  },\n                  \"data\": {\n                    \"type\": \"object\",\n                    \"description\": \"An object containing the User's basic info and custom fields\",\n                    \"example\": {\n                      \"accept-privacy\": false,\n                      \"accept-communications\": false,\n                      \"email\": \"some.one@home.com\",\n                      \"name\": \"Some One\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"collection_item_created\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the collection item that was created\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n                \"properties\": {\n                  \"_archived\": {\n                    \"type\": \"boolean\",\n                    \"default\": false,\n                    \"description\": \"Boolean determining if the Item is set to archived\"\n                  },\n                  \"_draft\": {\n                    \"type\": \"boolean\",\n                    \"default\": false,\n                    \"description\": \"Boolean determining if the Item is set to draft\"\n                  },\n                  \"_id\": {\n                    \"type\": \"string\",\n                    \"readOnly\": true,\n                    \"example\": \"580e64008c9a982ac9b8b754\",\n                    \"description\": \"Unique identifier for the Item\"\n                  },\n                  \"_cid\": {\n                    \"type\": \"string\",\n                    \"readOnly\": true,\n                    \"example\": \"580e63fc8c9a982ac9b8b745\",\n                    \"description\": \"Unique identifier for the Collection the Item belongs within\"\n                  },\n                  \"name\": {\n                    \"type\": \"string\",\n                    \"example\": \"5 Principles Of Effective Web Design\",\n                    \"description\": \"Name given to the Item\"\n                  },\n                  \"slug\": {\n                    \"type\": \"string\",\n                    \"example\": \"5-principles-of-effective-web-design\",\n                    \"description\": \"URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.\"\n                  }\n                },\n                \"example\": {\n                  \"value\": {\n                    \"_archived\": false,\n                    \"_draft\": false,\n                    \"color\": \"#a98080\",\n                    \"name\": \"Exciting blog post title\",\n                    \"post-body\": \"<p>Blog post contents...</p>\",\n                    \"post-summary\": \"Summary of exciting blog post\",\n                    \"main-image\": {\n                      \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n                    },\n                    \"slug\": \"exciting-post\",\n                    \"author\": \"580e640c8c9a982ac9b8b778\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"collection_item_changed\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the collection item that was changed\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n                \"properties\": {\n                  \"_archived\": {\n                    \"type\": \"boolean\",\n                    \"default\": false,\n                    \"description\": \"Boolean determining if the Item is set to archived\"\n                  },\n                  \"_draft\": {\n                    \"type\": \"boolean\",\n                    \"default\": false,\n                    \"description\": \"Boolean determining if the Item is set to draft\"\n                  },\n                  \"_id\": {\n                    \"type\": \"string\",\n                    \"readOnly\": true,\n                    \"example\": \"580e64008c9a982ac9b8b754\",\n                    \"description\": \"Unique identifier for the Item\"\n                  },\n                  \"_cid\": {\n                    \"type\": \"string\",\n                    \"readOnly\": true,\n                    \"example\": \"580e63fc8c9a982ac9b8b745\",\n                    \"description\": \"Unique identifier for the Collection the Item belongs within\"\n                  },\n                  \"name\": {\n                    \"type\": \"string\",\n                    \"example\": \"5 Principles Of Effective Web Design\",\n                    \"description\": \"Name given to the Item\"\n                  },\n                  \"slug\": {\n                    \"type\": \"string\",\n                    \"example\": \"5-principles-of-effective-web-design\",\n                    \"description\": \"URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.\"\n                  }\n                },\n                \"example\": {\n                  \"value\": {\n                    \"_archived\": false,\n                    \"_draft\": false,\n                    \"color\": \"#a98080\",\n                    \"name\": \"Exciting blog post title\",\n                    \"post-body\": \"<p>Blog post contents...</p>\",\n                    \"post-summary\": \"Summary of exciting blog post\",\n                    \"main-image\": {\n                      \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n                    },\n                    \"slug\": \"exciting-post\",\n                    \"author\": \"580e640c8c9a982ac9b8b778\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"collection_item_deleted\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The results from deleting the collection item\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"deleted\": {\n                    \"type\": \"number\",\n                    \"description\": \"The number of items deleted\",\n                    \"example\": 1\n                  },\n                  \"itemId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"description\": \"The id of the collection item that was deleted\",\n                    \"example\": \"6321ca84df3949bfc6752327\"\n                  }\n                },\n                \"example\": {\n                  \"deleted\": 1,\n                  \"itemId\": \"6321ca84df3949bfc6752327\"\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"collection_item_unpublished\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The results from unpublishing the collection item\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"deleted\": {\n                    \"type\": \"number\",\n                    \"description\": \"The number of items deleted\",\n                    \"example\": 1\n                  },\n                  \"itemId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"description\": \"The id of the collection item that was deleted\",\n                    \"example\": \"6321ca84df3949bfc6752327\"\n                  }\n                },\n                \"example\": {\n                  \"deleted\": 1,\n                  \"itemId\": \"6321ca84df3949bfc6752327\"\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"page_created\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The meta data about the page that was created\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The Webhook payload for when a Page is created\",\n                \"type\": \"object\",\n                \"properties\": {\n                  \"siteId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"562ac0395358780a1f5e6fbd\"\n                  },\n                  \"pageId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6\"\n                  },\n                  \"pageTitle\": {\n                    \"type\": \"string\",\n                    \"example\": \"My New Page\"\n                  },\n                  \"createdAt\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2022-12-07T16:51:37.571Z\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"page_metadata_updated\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The meta data about the page that was updated\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The Webhook payload for when a Page's metadata is updated\",\n                \"type\": \"object\",\n                \"properties\": {\n                  \"siteId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"562ac0395358780a1f5e6fbd\"\n                  },\n                  \"pageId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6\"\n                  },\n                  \"pageTitle\": {\n                    \"type\": \"string\",\n                    \"example\": \"My New Page\"\n                  },\n                  \"lastUpdated\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2022-12-07T16:51:37.571Z\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"page_deleted\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The meta data about the page that was deleted\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The Webhook payload for when a Page is deleted\",\n                \"type\": \"object\",\n                \"properties\": {\n                  \"siteId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"562ac0395358780a1f5e6fbd\"\n                  },\n                  \"pageId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6\"\n                  },\n                  \"pageTitle\": {\n                    \"type\": \"string\",\n                    \"example\": \"My New Page\"\n                  },\n                  \"deletedAt\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2022-12-07T16:51:37.571Z\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    }\n  },\n  \"x-readme\": {\n    \"explorer-enabled\": true,\n    \"proxy-enabled\": true,\n    \"samples-enabled\": true\n  }\n}"},{"id":"webflow","domain":"api.webflow.com","openapi":"{\n  \"openapi\": \"3.1.0\",\n  \"info\": {\n    \"version\": \"2.0.0\",\n    \"title\": \"Webflow Data API v2\",\n    \"description\": \"Webflow's Data API v2\",\n    \"termsOfService\": \"https://webflow.com/legal/terms\",\n    \"license\": {\n      \"name\": \"MIT\",\n      \"url\": \"https://opensource.org/licenses/MIT\"\n    }\n  },\n  \"servers\": [\n    {\n      \"url\": \"https://api.webflow.com/beta\"\n    }\n  ],\n  \"security\": [\n    {\n      \"OAuth2\": []\n    },\n    {\n      \"ApiKey\": []\n    }\n  ],\n  \"tags\": [\n    {\n      \"name\": \"Meta\"\n    },\n    {\n      \"name\": \"Sites\"\n    },\n    {\n      \"name\": \"Pages\"\n    },\n    {\n      \"name\": \"Collections\"\n    },\n    {\n      \"name\": \"Items\"\n    },\n    {\n      \"name\": \"Users\"\n    },\n    {\n      \"name\": \"Products & SKUs\"\n    },\n    {\n      \"name\": \"Orders\"\n    },\n    {\n      \"name\": \"Inventory\"\n    },\n    {\n      \"name\": \"Settings\"\n    },\n    {\n      \"name\": \"Webhooks\"\n    }\n  ],\n  \"paths\": {\n    \"/sites\": {\n      \"get\": {\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"sites:read\"\n            ]\n          }\n        ],\n        \"operationId\": \"list-sites\",\n        \"summary\": \"List Sites\",\n        \"description\": \"List of all sites the provided access token is able to access. </br></br> Required scope | `sites:read`\",\n        \"tags\": [\n          \"Sites\"\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"array\",\n                  \"description\": \"A list of Sites\",\n                  \"example\": [\n                    {\n                      \"id\": \"580e63e98c9a982ac9b8b741\",\n                      \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n                      \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n                      \"displayName\": \"api_docs_sample_json\",\n                      \"shortName\": \"api-docs-sample-json\",\n                      \"lastPublished\": \"2016-10-24T23:06:51.251Z\",\n                      \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241603.png\",\n                      \"timeZone\": \"America/Los_Angeles\"\n                    },\n                    {\n                      \"id\": \"580ff8c3ba3e45ba9fe588bb\",\n                      \"workspaceId\": \"580ff8c3ba3e45ba9fe588bf\",\n                      \"createdOn\": \"2016-10-26T00:28:54.191Z\",\n                      \"displayName\": \"Copy of api_docs_sample_json\",\n                      \"shortName\": \"api-docs-sample-json-086c6538f9b0583762\",\n                      \"lastPublished\": \"2022-10-26T00:28:54.191Z\",\n                      \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241603.png\",\n                      \"timeZone\": \"America/Los_Angeles\"\n                    },\n                    {\n                      \"id\": \"580ff8d7ba3e45ba9fe588e9\",\n                      \"workspaceId\": \"580ff8d7ba3e45ba9fe588ed\",\n                      \"createdOn\": \"2016-10-26T00:29:13.634Z\",\n                      \"displayName\": \"Copy of api_docs_sample_json\",\n                      \"shortName\": \"api-docs-sample-json-ce077aa6c5cd3e0177\",\n                      \"lastPublished\": \"2022-10-26T00:28:54.191Z\",\n                      \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241603.png\",\n                      \"timeZone\": \"America/Los_Angeles\"\n                    }\n                  ],\n                  \"items\": {\n                    \"example\": {\n                      \"id\": \"580e63e98c9a982ac9b8b741\",\n                      \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n                      \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n                      \"displayName\": \"api_docs_sample_json\",\n                      \"shortName\": \"api-docs-sample-json\",\n                      \"lastPublished\": \"2016-10-24T19:43:17.271Z\",\n                      \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\",\n                      \"timeZone\": \"America/Los_Angeles\"\n                    },\n                    \"required\": [\n                      \"_id\"\n                    ],\n                    \"properties\": {\n                      \"id\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Unique identifier for the Site\",\n                        \"example\": \"580e63e98c9a982ac9b8b741\"\n                      },\n                      \"workspaceId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Unique identifier for the Workspace\",\n                        \"example\": \"580e63e98c9a982ac9b8b741\"\n                      },\n                      \"createdOn\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\",\n                        \"description\": \"Date the site was created\",\n                        \"example\": \"2016-10-24T19:41:29.156Z\"\n                      },\n                      \"displayName\": {\n                        \"type\": \"string\",\n                        \"description\": \"Name given to site\",\n                        \"example\": \"api_docs_sample_json\"\n                      },\n                      \"shortName\": {\n                        \"type\": \"string\",\n                        \"description\": \"Slugified version of name\",\n                        \"example\": \"api-docs-sample-json\"\n                      },\n                      \"lastPublished\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\",\n                        \"description\": \"Date site was last published\",\n                        \"example\": \"2016-10-24T19:43:17.271Z\"\n                      },\n                      \"previewUrl\": {\n                        \"type\": \"string\",\n                        \"format\": \"uri\",\n                        \"description\": \"URL of a generated image for the given site\",\n                        \"example\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\"\n                      },\n                      \"timeZone\": {\n                        \"type\": \"string\",\n                        \"description\": \"Site timezone set under Site Settings\",\n                        \"example\": \"America/Los_Angeles\"\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      }\n    },\n    \"/sites/{site_id}\": {\n      \"get\": {\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"sites:read\"\n            ]\n          }\n        ],\n        \"operationId\": \"get-site\",\n        \"summary\": \"Get Site\",\n        \"description\": \"Get a site by site id </br></br>  Required scope | `sites:read`\",\n        \"tags\": [\n          \"Sites\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"id\": \"580e63e98c9a982ac9b8b741\",\n                    \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n                    \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n                    \"displayName\": \"api_docs_sample_json\",\n                    \"shortName\": \"api-docs-sample-json\",\n                    \"lastPublished\": \"2016-10-24T19:43:17.271Z\",\n                    \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\",\n                    \"timeZone\": \"America/Los_Angeles\"\n                  },\n                  \"required\": [\n                    \"_id\"\n                  ],\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"description\": \"Unique identifier for the Site\",\n                      \"example\": \"580e63e98c9a982ac9b8b741\"\n                    },\n                    \"workspaceId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"description\": \"Unique identifier for the Workspace\",\n                      \"example\": \"580e63e98c9a982ac9b8b741\"\n                    },\n                    \"createdOn\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"description\": \"Date the site was created\",\n                      \"example\": \"2016-10-24T19:41:29.156Z\"\n                    },\n                    \"displayName\": {\n                      \"type\": \"string\",\n                      \"description\": \"Name given to site\",\n                      \"example\": \"api_docs_sample_json\"\n                    },\n                    \"shortName\": {\n                      \"type\": \"string\",\n                      \"description\": \"Slugified version of name\",\n                      \"example\": \"api-docs-sample-json\"\n                    },\n                    \"lastPublished\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"description\": \"Date site was last published\",\n                      \"example\": \"2016-10-24T19:43:17.271Z\"\n                    },\n                    \"previewUrl\": {\n                      \"type\": \"string\",\n                      \"format\": \"uri\",\n                      \"description\": \"URL of a generated image for the given site\",\n                      \"example\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\"\n                    },\n                    \"timeZone\": {\n                      \"type\": \"string\",\n                      \"description\": \"Site timezone set under Site Settings\",\n                      \"example\": \"America/Los_Angeles\"\n                    }\n                  }\n                },\n                \"example\": {\n                  \"id\": \"580e63e98c9a982ac9b8b741\",\n                  \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n                  \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n                  \"displayName\": \"api_docs_sample_json\",\n                  \"shortName\": \"api-docs-sample-json\",\n                  \"lastPublished\": \"2016-10-24T19:43:17.271Z\",\n                  \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\",\n                  \"timeZone\": \"America/Los_Angeles\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      }\n    },\n    \"/sites/{site_id}/pages\": {\n      \"get\": {\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"read:pages\"\n            ]\n          }\n        ],\n        \"operationId\": \"list-pages\",\n        \"summary\": \"List Pages\",\n        \"description\": \"List of all pages for a site </br></br> Required scope | `sites:read`\",\n        \"tags\": [\n          \"Pages\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"description\": \"The Page object\",\n                  \"type\": \"object\",\n                  \"example\": {\n                    \"pagination\": {\n                      \"limit\": 20,\n                      \"offset\": 0,\n                      \"total\": 2\n                    },\n                    \"pages\": [\n                      {\n                        \"id\": \"6390c49774a71f0e3c1a08ee\",\n                        \"siteId\": \"6390c49674a71f84b51a08d8\",\n                        \"title\": \"Blog Categories Template\",\n                        \"slug\": \"detail_blog-category\",\n                        \"pageType\": \"dynamic\",\n                        \"collectionId\": \"6390c49774a71f12831a08e3\",\n                        \"createdOn\": \"2018-10-14T21:55:49.063Z\",\n                        \"lastUpdated\": \"2022-12-07T16:51:37.571Z\",\n                        \"archived\": false,\n                        \"draft\": false,\n                        \"canBranch\": true,\n                        \"isMembersOnly\": false,\n                        \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                        \"seoDesc\": \"This Webflow template offers a quick start into an ecommerce / memberships site\",\n                        \"openGraph\": {\n                          \"title\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                          \"titleCopied\": true,\n                          \"description\": \"This Webflow template offers a quick start into an ecommerce / memberships site\",\n                          \"descriptionCopied\": true\n                        }\n                      },\n                      {\n                        \"id\": \"6390c49774a71f99f21a08eb\",\n                        \"siteId\": \"6390c49674a71f84b51a08d8\",\n                        \"title\": \"Blog\",\n                        \"slug\": \"blog\",\n                        \"pageType\": \"static\",\n                        \"collectionId\": null,\n                        \"createdOn\": \"2018-10-12T17:56:16.411Z\",\n                        \"lastUpdated\": \"2022-12-07T16:57:16.406Z\",\n                        \"archived\": false,\n                        \"draft\": false,\n                        \"canBranch\": true,\n                        \"isMembersOnly\": false,\n                        \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                        \"seoDesc\": null,\n                        \"openGraph\": {\n                          \"title\": \"null,\",\n                          \"titleCopied\": \"true,\",\n                          \"description\": \"null,\",\n                          \"descriptionCopied\": true\n                        }\n                      }\n                    ]\n                  },\n                  \"properties\": {\n                    \"pagination\": {\n                      \"description\": \"Pagination object\",\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"limit\": {\n                          \"type\": \"number\",\n                          \"description\": \"The limit used for pagination\",\n                          \"example\": 100\n                        },\n                        \"offset\": {\n                          \"type\": \"number\",\n                          \"description\": \"The offset used for pagination\",\n                          \"example\": 0\n                        },\n                        \"total\": {\n                          \"type\": \"number\",\n                          \"description\": \"The total number of records\",\n                          \"example\": 100\n                        }\n                      }\n                    },\n                    \"pages\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"description\": \"The Page object\",\n                        \"type\": \"object\",\n                        \"required\": [\n                          \"pageId\"\n                        ],\n                        \"example\": null,\n                        \"properties\": {\n                          \"pageId\": {\n                            \"type\": \"string\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"description\": \"Unique identifier for page\",\n                            \"example\": \"63499e4e6e9ed5abbfe42b69\"\n                          },\n                          \"siteId\": {\n                            \"type\": \"string\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"description\": \"Unique identifier for a site\",\n                            \"example\": \"580e63e98c9a982ac9b8b741\"\n                          },\n                          \"title\": {\n                            \"type\": \"string\",\n                            \"description\": \"Title of the page\",\n                            \"example\": \"My New Page\"\n                          },\n                          \"slug\": {\n                            \"type\": \"string\",\n                            \"description\": \"slug of page\",\n                            \"example\": \"my-new-page\"\n                          },\n                          \"pageType\": {\n                            \"type\": \"string\",\n                            \"description\": \"indicator of whether the page is static or dynamic\",\n                            \"readOnly\": true,\n                            \"enum\": [\n                              \"dynamic\",\n                              \"static\"\n                            ],\n                            \"example\": \"dynamic\"\n                          },\n                          \"collectionId\": {\n                            \"type\": \"string\",\n                            \"format\": \"uuid\",\n                            \"readOnly\": true,\n                            \"description\": \"Unique identifier for a collection, value will be null if the page is not part of a collection.\",\n                            \"example\": \"6390c49774a71f12831a08e3\"\n                          },\n                          \"createdOn\": {\n                            \"type\": \"string\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"description\": \"The date the page was created\",\n                            \"example\": \"2016-10-24T19:42:38.929Z\"\n                          },\n                          \"lastUpdated\": {\n                            \"type\": \"string\",\n                            \"format\": \"date-time\",\n                            \"readOnly\": true,\n                            \"description\": \"The date the page was most recently updated\",\n                            \"example\": \"2016-10-24T19:42:38.929Z\"\n                          },\n                          \"archived\": {\n                            \"type\": \"boolean\",\n                            \"description\": \"page archive status\",\n                            \"default\": false,\n                            \"example\": false\n                          },\n                          \"draft\": {\n                            \"type\": \"boolean\",\n                            \"description\": \"page draft status\",\n                            \"default\": false,\n                            \"example\": false\n                          },\n                          \"canBranch\": {\n                            \"type\": \"boolean\",\n                            \"description\": \"indicates whether the page supports [Page Branching](https://www.google.com/search?q=webflow+page+branching&rlz=1C5GCEM_enUS1034US1034&oq=webflow+page+branc&aqs=chrome.0.0i512j69i57j0i390l3j69i64l3.10144j1j1&sourceid=chrome&ie=UTF-8)\",\n                            \"readOnly\": true,\n                            \"default\": false,\n                            \"example\": false\n                          },\n                          \"isMembersOnly\": {\n                            \"type\": \"boolean\",\n                            \"description\": \"indicates whether the page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)\",\n                            \"readOnly\": true,\n                            \"default\": false,\n                            \"example\": false\n                          },\n                          \"seoTitle\": {\n                            \"type\": \"string\",\n                            \"description\": \"SEO title tag\",\n                            \"example\": \"A search result\"\n                          },\n                          \"seoDesc\": {\n                            \"type\": \"string\",\n                            \"description\": \"An SEO meta description\",\n                            \"example\": \"This is the description that appears in the search result\"\n                          },\n                          \"openGraph\": {\n                            \"type\": \"object\",\n                            \"description\": \"Open Graph settings for the page\",\n                            \"properties\": {\n                              \"title\": {\n                                \"type\": \"string\",\n                                \"description\": \"Open Graph Title\",\n                                \"example\": \"This is the title that appears in a social graph\"\n                              },\n                              \"titleCopied\": {\n                                \"type\": \"boolean\",\n                                \"description\": \"Indicator if the Open Graph Title was copied from the SEO Title\",\n                                \"readOnly\": true,\n                                \"default\": true\n                              },\n                              \"description\": {\n                                \"type\": \"string\",\n                                \"description\": \"Open Graph Description\",\n                                \"example\": \"This is the description that appears in a social graph\"\n                              },\n                              \"descriptionCopied\": {\n                                \"type\": \"boolean\",\n                                \"description\": \"Indicator of whether the Open Graph description was copied from the SEO description\",\n                                \"readOnly\": true,\n                                \"default\": true\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      }\n    },\n    \"/pages/{page_id}\": {\n      \"get\": {\n        \"operationId\": \"get-page-metadata\",\n        \"summary\": \"Get Page Metadata\",\n        \"description\": \"Get metadata information for a single page </br></br> Required scope | `pages:read`\",\n        \"tags\": [\n          \"Pages\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"page_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Page\",\n            \"example\": \"63c720f9347c2139b248e552\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"description\": \"The Page object\",\n                  \"type\": \"object\",\n                  \"required\": [\n                    \"pageId\"\n                  ],\n                  \"example\": null,\n                  \"properties\": {\n                    \"pageId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"readOnly\": true,\n                      \"description\": \"Unique identifier for page\",\n                      \"example\": \"63499e4e6e9ed5abbfe42b69\"\n                    },\n                    \"siteId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"readOnly\": true,\n                      \"description\": \"Unique identifier for a site\",\n                      \"example\": \"580e63e98c9a982ac9b8b741\"\n                    },\n                    \"title\": {\n                      \"type\": \"string\",\n                      \"description\": \"Title of the page\",\n                      \"example\": \"My New Page\"\n                    },\n                    \"slug\": {\n                      \"type\": \"string\",\n                      \"description\": \"slug of page\",\n                      \"example\": \"my-new-page\"\n                    },\n                    \"pageType\": {\n                      \"type\": \"string\",\n                      \"description\": \"indicator of whether the page is static or dynamic\",\n                      \"readOnly\": true,\n                      \"enum\": [\n                        \"dynamic\",\n                        \"static\"\n                      ],\n                      \"example\": \"dynamic\"\n                    },\n                    \"collectionId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"readOnly\": true,\n                      \"description\": \"Unique identifier for a collection, value will be null if the page is not part of a collection.\",\n                      \"example\": \"6390c49774a71f12831a08e3\"\n                    },\n                    \"createdOn\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"readOnly\": true,\n                      \"description\": \"The date the page was created\",\n                      \"example\": \"2016-10-24T19:42:38.929Z\"\n                    },\n                    \"lastUpdated\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"readOnly\": true,\n                      \"description\": \"The date the page was most recently updated\",\n                      \"example\": \"2016-10-24T19:42:38.929Z\"\n                    },\n                    \"archived\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"page archive status\",\n                      \"default\": false,\n                      \"example\": false\n                    },\n                    \"draft\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"page draft status\",\n                      \"default\": false,\n                      \"example\": false\n                    },\n                    \"canBranch\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"indicates whether the page supports [Page Branching](https://www.google.com/search?q=webflow+page+branching&rlz=1C5GCEM_enUS1034US1034&oq=webflow+page+branc&aqs=chrome.0.0i512j69i57j0i390l3j69i64l3.10144j1j1&sourceid=chrome&ie=UTF-8)\",\n                      \"readOnly\": true,\n                      \"default\": false,\n                      \"example\": false\n                    },\n                    \"isMembersOnly\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"indicates whether the page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)\",\n                      \"readOnly\": true,\n                      \"default\": false,\n                      \"example\": false\n                    },\n                    \"seoTitle\": {\n                      \"type\": \"string\",\n                      \"description\": \"SEO title tag\",\n                      \"example\": \"A search result\"\n                    },\n                    \"seoDesc\": {\n                      \"type\": \"string\",\n                      \"description\": \"An SEO meta description\",\n                      \"example\": \"This is the description that appears in the search result\"\n                    },\n                    \"openGraph\": {\n                      \"type\": \"object\",\n                      \"description\": \"Open Graph settings for the page\",\n                      \"properties\": {\n                        \"title\": {\n                          \"type\": \"string\",\n                          \"description\": \"Open Graph Title\",\n                          \"example\": \"This is the title that appears in a social graph\"\n                        },\n                        \"titleCopied\": {\n                          \"type\": \"boolean\",\n                          \"description\": \"Indicator if the Open Graph Title was copied from the SEO Title\",\n                          \"readOnly\": true,\n                          \"default\": true\n                        },\n                        \"description\": {\n                          \"type\": \"string\",\n                          \"description\": \"Open Graph Description\",\n                          \"example\": \"This is the description that appears in a social graph\"\n                        },\n                        \"descriptionCopied\": {\n                          \"type\": \"boolean\",\n                          \"description\": \"Indicator of whether the Open Graph description was copied from the SEO description\",\n                          \"readOnly\": true,\n                          \"default\": true\n                        }\n                      }\n                    }\n                  }\n                },\n                \"example\": {\n                  \"id\": \"6390c49774a71f0e3c1a08ee\",\n                  \"siteId\": \"6390c49674a71f84b51a08d8\",\n                  \"title\": \"Blog Categories Template\",\n                  \"slug\": \"detail_blog-category\",\n                  \"pageType\": \"dynamic\",\n                  \"collectionId\": \"6390c49774a71f12831a08e3\",\n                  \"createdOn\": \"2018-10-14T21:55:49.063Z\",\n                  \"lastUpdated\": \"2022-12-07T16:51:37.571Z\",\n                  \"archived\": false,\n                  \"draft\": false,\n                  \"canBranch\": true,\n                  \"isMembersOnly\": false,\n                  \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                  \"seoDesc\": \"This Webflow template offers a quick start into an e-commerce / memberships site\",\n                  \"openGraph\": {\n                    \"title\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                    \"titleCopied\": true,\n                    \"description\": \"This Webflow template offers a quick start into an e-commerce / memberships site\",\n                    \"descriptionCopied\": true\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        },\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"read:pages\"\n            ]\n          }\n        ]\n      }\n    },\n    \"/sites/{site_id}/custom_code\": {\n      \"get\": {\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"custom_code:read\"\n            ]\n          }\n        ],\n        \"operationId\": \"get-custom-code\",\n        \"summary\": \"Get Custom Code\",\n        \"description\": \"Get custom code for a site </br></br> Required scope | `custom_code:read`\",\n        \"tags\": [\n          \"Custom Code\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"description\": \"Custom code to be added to the site\",\n                  \"properties\": {\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"description\": \"The code to be added to the site\",\n                      \"example\": \"<script src=\\\"https://cdnjs.com/webflow-app\\\"></script>\"\n                    },\n                    \"createdOn\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"description\": \"The timestamp the code was created\",\n                      \"example\": \"2022-12-07T16:51:37.571Z\"\n                    },\n                    \"lastUpdated\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"description\": \"The timestamp the code was last updated\",\n                      \"example\": \"2022-12-07T16:51:37.571Z\"\n                    }\n                  }\n                },\n                \"example\": {\n                  \"code\": \"<script src=\\\"https://cdnjs.com/webflow-app\\\"></script>\",\n                  \"createdOn\": \"2022-12-07T16:51:37.571Z\",\n                  \"lastUpdated\": \"2022-12-07T16:51:37.571Z\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      },\n      \"put\": {\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"custom_code:write\"\n            ]\n          }\n        ],\n        \"operationId\": \"write-custom-code\",\n        \"summary\": \"Write Custom Code\",\n        \"description\": \"Write custom code for a site </br></br> Required scope | `custom_code:write`\",\n        \"tags\": [\n          \"Custom Code\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"code\": {\n                    \"type\": \"string\",\n                    \"description\": \"The custom code to be written to the site\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"description\": \"Custom code to be added to the site\",\n                  \"properties\": {\n                    \"code\": {\n                      \"type\": \"string\",\n                      \"description\": \"The code to be added to the site\",\n                      \"example\": \"<script src=\\\"https://cdnjs.com/webflow-app\\\"></script>\"\n                    },\n                    \"createdOn\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"description\": \"The timestamp the code was created\",\n                      \"example\": \"2022-12-07T16:51:37.571Z\"\n                    },\n                    \"lastUpdated\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"description\": \"The timestamp the code was last updated\",\n                      \"example\": \"2022-12-07T16:51:37.571Z\"\n                    }\n                  }\n                },\n                \"example\": {\n                  \"code\": \"<script src=\\\"https://cdnjs.com/webflow-app\\\"></script>\",\n                  \"createdOn\": \"2022-12-07T16:51:37.571Z\",\n                  \"lastUpdated\": \"2022-12-07T16:51:37.571Z\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"409\": {\n            \"description\": \"Max number of code blocks reached\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      },\n      \"delete\": {\n        \"security\": [\n          {\n            \"OAuth2\": [\n              \"custom_code:delete\"\n            ]\n          }\n        ],\n        \"operationId\": \"delete-custom-code\",\n        \"summary\": \"Delete Custom Code\",\n        \"description\": \"Delete custom code for a site </br></br> Required scope | `custom_code:write`\",\n        \"tags\": [\n          \"Custom Code\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"Request was successful\"\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      }\n    },\n    \"/sites/{site_id}/webhooks\": {\n      \"get\": {\n        \"operationId\": \"list-webhooks\",\n        \"summary\": \"List Webhooks\",\n        \"description\": \"List of all webhooks in a given site </br></br> Required scope | `webhooks:read`\",\n        \"tags\": [\n          \"Webhooks\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"description\": \"A list of active webhooks\",\n                  \"type\": \"array\",\n                  \"example\": {\n                    \"pagination\": {\n                      \"limit\": 20,\n                      \"offset\": 0,\n                      \"total\": 3\n                    },\n                    \"webhooks\": [\n                      {\n                        \"id\": \"57ca0a9e418c504a6e1acbb6\",\n                        \"triggerType\": \"form_submission\",\n                        \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                        \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                        \"filter\": {\n                          \"name\": \"Email Form\"\n                        },\n                        \"createdOn\": \"2016-09-02T23:26:22.241Z\",\n                        \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                        \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                      },\n                      {\n                        \"id\": \"578d85cce0c47cd2865f4cf2\",\n                        \"triggerType\": \"form_submission\",\n                        \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                        \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                        \"filter\": {\n                          \"name\": \"Email Form\"\n                        },\n                        \"createdOn\": \"2016-07-19T01:43:40.585Z\",\n                        \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                        \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                      },\n                      {\n                        \"id\": \"578d85cce0c47cd2865f4cf3\",\n                        \"triggerType\": \"form_submission\",\n                        \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                        \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                        \"filter\": {\n                          \"name\": \"Email Form\"\n                        },\n                        \"createdOn\": \"2016-07-19T01:43:40.605Z\",\n                        \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                        \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                      }\n                    ]\n                  },\n                  \"items\": {\n                    \"example\": {\n                      \"value\": {\n                        \"id\": \"582266e0cd48de0f0e3c6d8b\",\n                        \"triggerType\": \"form_submission\",\n                        \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                        \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                        \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n                        \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                        \"filter\": null,\n                        \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                      }\n                    },\n                    \"properties\": {\n                      \"id\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"example\": \"57ca0a9e418c504a6e1acbb6\",\n                        \"description\": \"Unique identifier for a Webhook\"\n                      },\n                      \"triggerType\": {\n                        \"type\": \"string\",\n                        \"example\": \"form_submission\",\n                        \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n                        \"enum\": [\n                          \"form_submission\",\n                          \"site_publish\",\n                          \"page_created\",\n                          \"page_metadata_updated\",\n                          \"page_deleted\",\n                          \"ecomm_new_order\",\n                          \"ecomm_order_changed\",\n                          \"ecomm_inventory_changed\",\n                          \"memberships_user_account_added\",\n                          \"memberships_user_account_updated\",\n                          \"collection_item_created\",\n                          \"collection_item_changed\",\n                          \"collection_item_deleted\",\n                          \"collection_item_unpublished\"\n                        ]\n                      },\n                      \"siteId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"example\": \"562ac0395358780a1f5e6fbd\",\n                        \"description\": \"Unique identifier for a Webhook\"\n                      },\n                      \"filter\": {\n                        \"description\": \"filter for selecting which events you want webhooks to be triggered for.\",\n                        \"type\": \"object\"\n                      },\n                      \"lastTriggered\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\",\n                        \"example\": \"2016-09-06T21:12:22.148Z\",\n                        \"description\": \"Date trigger was last used\"\n                      },\n                      \"createdOn\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\",\n                        \"example\": \"2016-09-02T23:26:22.241Z\",\n                        \"description\": \"Date trigger was created\"\n                      },\n                      \"url\": {\n                        \"type\": \"string\",\n                        \"example\": \"https://example.com/webhook\",\n                        \"description\": \"URL to send the webhook to\"\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      },\n      \"post\": {\n        \"operationId\": \"create-webhook\",\n        \"summary\": \"Create Webhook\",\n        \"description\": \"Create a new webhook </br></br> Required scope | `webhooks:write`\",\n        \"tags\": [\n          \"Webhooks\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"site_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"requestBody\": {\n          \"description\": \"The webhook item to create\",\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The request to create a webhook\",\n                \"required\": [\n                  \"triggerType\",\n                  \"url\"\n                ],\n                \"properties\": {\n                  \"triggerType\": {\n                    \"type\": \"string\",\n                    \"example\": \"form_submission\",\n                    \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n                    \"enum\": [\n                      \"form_submission\",\n                      \"site_publish\",\n                      \"page_created\",\n                      \"page_metadata_updated\",\n                      \"page_deleted\",\n                      \"ecomm_new_order\",\n                      \"ecomm_order_changed\",\n                      \"ecomm_inventory_changed\",\n                      \"memberships_user_account_added\",\n                      \"memberships_user_account_updated\",\n                      \"collection_item_created\",\n                      \"collection_item_changed\",\n                      \"collection_item_deleted\",\n                      \"collection_item_unpublished\"\n                    ]\n                  },\n                  \"url\": {\n                    \"type\": \"string\",\n                    \"format\": \"uri\",\n                    \"example\": \"https://api.mydomain.com/webhook\",\n                    \"description\": \"The https URL on your server the webhook will send a request to when the webhook is triggered\\n\"\n                  },\n                  \"filter\": {\n                    \"type\": \"object\",\n                    \"example\": {\n                      \"name\": \"Email Form\"\n                    },\n                    \"description\": \"filter for selecting which events you want webhooks to be triggered for.\\n** Only available for `form_submission` trigger types.\\n\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"value\": {\n                      \"id\": \"582266e0cd48de0f0e3c6d8b\",\n                      \"triggerType\": \"form_submission\",\n                      \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                      \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                      \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n                      \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                      \"filter\": null,\n                      \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                    }\n                  },\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"example\": \"57ca0a9e418c504a6e1acbb6\",\n                      \"description\": \"Unique identifier for a Webhook\"\n                    },\n                    \"triggerType\": {\n                      \"type\": \"string\",\n                      \"example\": \"form_submission\",\n                      \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n                      \"enum\": [\n                        \"form_submission\",\n                        \"site_publish\",\n                        \"page_created\",\n                        \"page_metadata_updated\",\n                        \"page_deleted\",\n                        \"ecomm_new_order\",\n                        \"ecomm_order_changed\",\n                        \"ecomm_inventory_changed\",\n                        \"memberships_user_account_added\",\n                        \"memberships_user_account_updated\",\n                        \"collection_item_created\",\n                        \"collection_item_changed\",\n                        \"collection_item_deleted\",\n                        \"collection_item_unpublished\"\n                      ]\n                    },\n                    \"siteId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"example\": \"562ac0395358780a1f5e6fbd\",\n                      \"description\": \"Unique identifier for a Webhook\"\n                    },\n                    \"filter\": {\n                      \"description\": \"filter for selecting which events you want webhooks to be triggered for.\",\n                      \"type\": \"object\"\n                    },\n                    \"lastTriggered\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"example\": \"2016-09-06T21:12:22.148Z\",\n                      \"description\": \"Date trigger was last used\"\n                    },\n                    \"createdOn\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"example\": \"2016-09-02T23:26:22.241Z\",\n                      \"description\": \"Date trigger was created\"\n                    },\n                    \"url\": {\n                      \"type\": \"string\",\n                      \"example\": \"https://example.com/webhook\",\n                      \"description\": \"URL to send the webhook to\"\n                    }\n                  }\n                },\n                \"example\": {\n                  \"id\": \"582266e0cd48de0f0e3c6d8b\",\n                  \"triggerType\": \"form_submission\",\n                  \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                  \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                  \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n                  \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                  \"filter\": null,\n                  \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      }\n    },\n    \"/webhooks/{webhook_id}\": {\n      \"get\": {\n        \"operationId\": \"get-webhook\",\n        \"summary\": \"Get Webhook\",\n        \"description\": \"Get a site webhook\",\n        \"tags\": [\n          \"Webhooks\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"webhook_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Webhook\",\n            \"example\": \"580e64008c9a982ac9b8b754\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Request was successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"example\": {\n                    \"value\": {\n                      \"id\": \"582266e0cd48de0f0e3c6d8b\",\n                      \"triggerType\": \"form_submission\",\n                      \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                      \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                      \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n                      \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                      \"filter\": null,\n                      \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                    }\n                  },\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"example\": \"57ca0a9e418c504a6e1acbb6\",\n                      \"description\": \"Unique identifier for a Webhook\"\n                    },\n                    \"triggerType\": {\n                      \"type\": \"string\",\n                      \"example\": \"form_submission\",\n                      \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n                      \"enum\": [\n                        \"form_submission\",\n                        \"site_publish\",\n                        \"page_created\",\n                        \"page_metadata_updated\",\n                        \"page_deleted\",\n                        \"ecomm_new_order\",\n                        \"ecomm_order_changed\",\n                        \"ecomm_inventory_changed\",\n                        \"memberships_user_account_added\",\n                        \"memberships_user_account_updated\",\n                        \"collection_item_created\",\n                        \"collection_item_changed\",\n                        \"collection_item_deleted\",\n                        \"collection_item_unpublished\"\n                      ]\n                    },\n                    \"siteId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"example\": \"562ac0395358780a1f5e6fbd\",\n                      \"description\": \"Unique identifier for a Webhook\"\n                    },\n                    \"filter\": {\n                      \"description\": \"filter for selecting which events you want webhooks to be triggered for.\",\n                      \"type\": \"object\"\n                    },\n                    \"lastTriggered\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"example\": \"2016-09-06T21:12:22.148Z\",\n                      \"description\": \"Date trigger was last used\"\n                    },\n                    \"createdOn\": {\n                      \"type\": \"string\",\n                      \"format\": \"date-time\",\n                      \"example\": \"2016-09-02T23:26:22.241Z\",\n                      \"description\": \"Date trigger was created\"\n                    },\n                    \"url\": {\n                      \"type\": \"string\",\n                      \"example\": \"https://example.com/webhook\",\n                      \"description\": \"URL to send the webhook to\"\n                    }\n                  }\n                },\n                \"example\": {\n                  \"id\": \"582266e0cd48de0f0e3c6d8b\",\n                  \"triggerType\": \"form_submission\",\n                  \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                  \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                  \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n                  \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                  \"filter\": null,\n                  \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      },\n      \"delete\": {\n        \"operationId\": \"remove-webhook\",\n        \"summary\": \"Remove Webhook\",\n        \"description\": \"Remove a webhook\",\n        \"tags\": [\n          \"Webhooks\"\n        ],\n        \"parameters\": [\n          {\n            \"name\": \"webhook_id\",\n            \"in\": \"path\",\n            \"description\": \"Unique identifier for a Webhook\",\n            \"example\": \"580e64008c9a982ac9b8b754\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"204\": {\n            \"description\": \"Request was successful\"\n          },\n          \"400\": {\n            \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n          },\n          \"401\": {\n            \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n          },\n          \"404\": {\n            \"description\": \"Requested resource not found\"\n          },\n          \"429\": {\n            \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n            \"headers\": {\n              \"X-RateLimit-Remaining\": {\n                \"description\": \"Contains the number of available requests remaining in the current minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              },\n              \"X-RateLimit-Limit\": {\n                \"description\": \"Contains your current overall rate limit per minute\",\n                \"schema\": {\n                  \"type\": \"number\"\n                }\n              }\n            }\n          },\n          \"500\": {\n            \"description\": \"We had a problem with our server. Try again later.\"\n          }\n        }\n      }\n    }\n  },\n  \"components\": {\n    \"headers\": {\n      \"X-RateLimit-Remaining\": {\n        \"description\": \"Contains the number of available requests remaining in the current minute\",\n        \"schema\": {\n          \"type\": \"number\"\n        }\n      },\n      \"X-RateLimit-Limit\": {\n        \"description\": \"Contains your current overall rate limit per minute\",\n        \"schema\": {\n          \"type\": \"number\"\n        }\n      }\n    },\n    \"parameters\": {\n      \"page-id\": {\n        \"name\": \"page_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a Page\",\n        \"example\": \"63c720f9347c2139b248e552\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"site-id\": {\n        \"name\": \"site_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a Site\",\n        \"example\": \"580e63e98c9a982ac9b8b741\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"collection-id\": {\n        \"name\": \"collection_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a Collection\",\n        \"example\": \"580e63fc8c9a982ac9b8b745\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"item-id\": {\n        \"name\": \"item_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for and Item\",\n        \"example\": \"580e64008c9a982ac9b8b754\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"product-id\": {\n        \"name\": \"product_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a Product\",\n        \"example\": \"580e63fc8c9a982ac9b8b745\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"sku-id\": {\n        \"name\": \"sku_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a SKU\",\n        \"example\": \"5e8518516e147040726cc415\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"order-id\": {\n        \"name\": \"order_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for an Order\",\n        \"example\": \"5e8518516e147040726cc415\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"webhook-id\": {\n        \"name\": \"webhook_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a Webhook\",\n        \"example\": \"580e64008c9a982ac9b8b754\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"live\": {\n        \"name\": \"live\",\n        \"in\": \"query\",\n        \"required\": false,\n        \"allowEmptyValue\": true,\n        \"description\": \"Boolean indicating if the item(s) should be published/unpublished to/from the live site\",\n        \"schema\": {\n          \"type\": \"boolean\"\n        },\n        \"example\": true\n      },\n      \"limit\": {\n        \"in\": \"query\",\n        \"allowEmptyValue\": true,\n        \"name\": \"limit\",\n        \"example\": 100,\n        \"description\": \"Maximum number of records to be returned (max limit: 100)\",\n        \"required\": false,\n        \"schema\": {\n          \"type\": \"number\"\n        }\n      },\n      \"offset\": {\n        \"in\": \"query\",\n        \"example\": 0,\n        \"allowEmptyValue\": true,\n        \"name\": \"offset\",\n        \"description\": \"Offset used for pagination if the results have more than limit records\",\n        \"required\": false,\n        \"schema\": {\n          \"type\": \"number\"\n        }\n      },\n      \"user-id\": {\n        \"name\": \"user_id\",\n        \"in\": \"path\",\n        \"description\": \"Unique identifier for a User\",\n        \"example\": \"580e63e98c9a982ac9b8b741\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"uuid\"\n        }\n      },\n      \"access-group-sort\": {\n        \"name\": \"sort\",\n        \"in\": \"query\",\n        \"allowEmptyValue\": true,\n        \"description\": \"Sort string to use when ordering access groups\\nCan be prefixed with a `-` to reverse the sort (ex. `-CreatedOn`)\\n\",\n        \"schema\": {\n          \"type\": \"string\",\n          \"enum\": [\n            \"CreatedOn\",\n            \"-CreatedOn\"\n          ]\n        },\n        \"example\": \"CreatedOn\",\n        \"required\": false\n      },\n      \"users-sort\": {\n        \"name\": \"sort\",\n        \"in\": \"query\",\n        \"allowEmptyValue\": true,\n        \"description\": \"Sort string to use when ordering users\\n\\nExample(`CreatedOn`, `Email`, `Status`, `LastLogin`, `UpdatedOn`).\\n\\nCan be prefixed with a `-` to reverse the sort (ex. `-CreatedOn`)\\n\",\n        \"schema\": {\n          \"type\": \"string\",\n          \"enum\": [\n            \"CreatedOn\",\n            \"-CreatedOn\",\n            \"Email\",\n            \"-Email\",\n            \"Status\",\n            \"-Status\",\n            \"LastLogin\",\n            \"-LastLogin\",\n            \"UpdatedOn\",\n            \"-UpdatedOn\"\n          ]\n        },\n        \"example\": \"CreatedOn\",\n        \"required\": false\n      }\n    },\n    \"securitySchemes\": {\n      \"OAuth2\": {\n        \"type\": \"oauth2\",\n        \"flows\": {\n          \"authorizationCode\": {\n            \"scopes\": {\n              \"read:pages\": \"read pages on the site\",\n              \"sites:read\": \"read sites on the site\",\n              \"sites:write\": \"modify pages on the site\",\n              \"custom_code:read\": \"read custom code on the site\",\n              \"custom_code:write\": \"modify custom code on the site\",\n              \"custom_code:delete\": \"delete custom code on the site\"\n            },\n            \"authorizationUrl\": \"https://webflow.com/oauth/authorize\",\n            \"tokenUrl\": \"https://api.webflow.com/oauth/token\"\n          }\n        }\n      },\n      \"ApiKey\": {\n        \"type\": \"apiKey\",\n        \"in\": \"query\",\n        \"name\": \"access_token\"\n      }\n    },\n    \"responses\": {\n      \"SyntaxError\": {\n        \"description\": \"Request body was incorrectly formatted. Likely invalid JSON being sent up.\"\n      },\n      \"InvalidAPIVersion\": {\n        \"description\": \"Requested an invalid API version\"\n      },\n      \"UnsupportedVersion\": {\n        \"description\": \"Requested an API version that in unsupported by the requested route\"\n      },\n      \"NotImplemented\": {\n        \"description\": \"This feature is not currently implemented\"\n      },\n      \"ValidationError\": {\n        \"description\": \"Validation failure\"\n      },\n      \"Conflict\": {\n        \"description\": \"Validation failure\"\n      },\n      \"Unauthorized\": {\n        \"description\": \"Provided access token is invalid or does not have access to requested resource\"\n      },\n      \"NotFound\": {\n        \"description\": \"Requested resource not found\"\n      },\n      \"RateLimit\": {\n        \"description\": \"The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.\",\n        \"headers\": {\n          \"X-RateLimit-Remaining\": {\n            \"description\": \"Contains the number of available requests remaining in the current minute\",\n            \"schema\": {\n              \"type\": \"number\"\n            }\n          },\n          \"X-RateLimit-Limit\": {\n            \"description\": \"Contains your current overall rate limit per minute\",\n            \"schema\": {\n              \"type\": \"number\"\n            }\n          }\n        }\n      },\n      \"ServerError\": {\n        \"description\": \"We had a problem with our server. Try again later.\"\n      },\n      \"UnknownError\": {\n        \"description\": \"An error occurred which is not enumerated here, but is not a server error.\"\n      }\n    },\n    \"schemas\": {\n      \"pagination\": {\n        \"description\": \"Pagination object\",\n        \"type\": \"object\",\n        \"properties\": {\n          \"limit\": {\n            \"type\": \"number\",\n            \"description\": \"The limit used for pagination\",\n            \"example\": 100\n          },\n          \"offset\": {\n            \"type\": \"number\",\n            \"description\": \"The offset used for pagination\",\n            \"example\": 0\n          },\n          \"total\": {\n            \"type\": \"number\",\n            \"description\": \"The total number of records\",\n            \"example\": 100\n          }\n        }\n      },\n      \"CustomCode\": {\n        \"description\": \"Custom code to be added to the site\",\n        \"properties\": {\n          \"code\": {\n            \"type\": \"string\",\n            \"description\": \"The code to be added to the site\",\n            \"example\": \"<script src=\\\"https://cdnjs.com/webflow-app\\\"></script>\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The timestamp the code was created\",\n            \"example\": \"2022-12-07T16:51:37.571Z\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The timestamp the code was last updated\",\n            \"example\": \"2022-12-07T16:51:37.571Z\"\n          }\n        }\n      },\n      \"PageList\": {\n        \"description\": \"The Page object\",\n        \"type\": \"object\",\n        \"example\": {\n          \"pagination\": {\n            \"limit\": 20,\n            \"offset\": 0,\n            \"total\": 2\n          },\n          \"pages\": [\n            {\n              \"id\": \"6390c49774a71f0e3c1a08ee\",\n              \"siteId\": \"6390c49674a71f84b51a08d8\",\n              \"title\": \"Blog Categories Template\",\n              \"slug\": \"detail_blog-category\",\n              \"pageType\": \"dynamic\",\n              \"collectionId\": \"6390c49774a71f12831a08e3\",\n              \"createdOn\": \"2018-10-14T21:55:49.063Z\",\n              \"lastUpdated\": \"2022-12-07T16:51:37.571Z\",\n              \"archived\": false,\n              \"draft\": false,\n              \"canBranch\": true,\n              \"isMembersOnly\": false,\n              \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n              \"seoDesc\": \"This Webflow template offers a quick start into an ecommerce / memberships site\",\n              \"openGraph\": {\n                \"title\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                \"titleCopied\": true,\n                \"description\": \"This Webflow template offers a quick start into an ecommerce / memberships site\",\n                \"descriptionCopied\": true\n              }\n            },\n            {\n              \"id\": \"6390c49774a71f99f21a08eb\",\n              \"siteId\": \"6390c49674a71f84b51a08d8\",\n              \"title\": \"Blog\",\n              \"slug\": \"blog\",\n              \"pageType\": \"static\",\n              \"collectionId\": null,\n              \"createdOn\": \"2018-10-12T17:56:16.411Z\",\n              \"lastUpdated\": \"2022-12-07T16:57:16.406Z\",\n              \"archived\": false,\n              \"draft\": false,\n              \"canBranch\": true,\n              \"isMembersOnly\": false,\n              \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n              \"seoDesc\": null,\n              \"openGraph\": {\n                \"title\": \"null,\",\n                \"titleCopied\": \"true,\",\n                \"description\": \"null,\",\n                \"descriptionCopied\": true\n              }\n            }\n          ]\n        },\n        \"properties\": {\n          \"pagination\": {\n            \"description\": \"Pagination object\",\n            \"type\": \"object\",\n            \"properties\": {\n              \"limit\": {\n                \"type\": \"number\",\n                \"description\": \"The limit used for pagination\",\n                \"example\": 100\n              },\n              \"offset\": {\n                \"type\": \"number\",\n                \"description\": \"The offset used for pagination\",\n                \"example\": 0\n              },\n              \"total\": {\n                \"type\": \"number\",\n                \"description\": \"The total number of records\",\n                \"example\": 100\n              }\n            }\n          },\n          \"pages\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"description\": \"The Page object\",\n              \"type\": \"object\",\n              \"required\": [\n                \"pageId\"\n              ],\n              \"example\": null,\n              \"properties\": {\n                \"pageId\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for page\",\n                  \"example\": \"63499e4e6e9ed5abbfe42b69\"\n                },\n                \"siteId\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for a site\",\n                  \"example\": \"580e63e98c9a982ac9b8b741\"\n                },\n                \"title\": {\n                  \"type\": \"string\",\n                  \"description\": \"Title of the page\",\n                  \"example\": \"My New Page\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"description\": \"slug of page\",\n                  \"example\": \"my-new-page\"\n                },\n                \"pageType\": {\n                  \"type\": \"string\",\n                  \"description\": \"indicator of whether the page is static or dynamic\",\n                  \"readOnly\": true,\n                  \"enum\": [\n                    \"dynamic\",\n                    \"static\"\n                  ],\n                  \"example\": \"dynamic\"\n                },\n                \"collectionId\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for a collection, value will be null if the page is not part of a collection.\",\n                  \"example\": \"6390c49774a71f12831a08e3\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the page was created\",\n                  \"example\": \"2016-10-24T19:42:38.929Z\"\n                },\n                \"lastUpdated\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the page was most recently updated\",\n                  \"example\": \"2016-10-24T19:42:38.929Z\"\n                },\n                \"archived\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"page archive status\",\n                  \"default\": false,\n                  \"example\": false\n                },\n                \"draft\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"page draft status\",\n                  \"default\": false,\n                  \"example\": false\n                },\n                \"canBranch\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"indicates whether the page supports [Page Branching](https://www.google.com/search?q=webflow+page+branching&rlz=1C5GCEM_enUS1034US1034&oq=webflow+page+branc&aqs=chrome.0.0i512j69i57j0i390l3j69i64l3.10144j1j1&sourceid=chrome&ie=UTF-8)\",\n                  \"readOnly\": true,\n                  \"default\": false,\n                  \"example\": false\n                },\n                \"isMembersOnly\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"indicates whether the page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)\",\n                  \"readOnly\": true,\n                  \"default\": false,\n                  \"example\": false\n                },\n                \"seoTitle\": {\n                  \"type\": \"string\",\n                  \"description\": \"SEO title tag\",\n                  \"example\": \"A search result\"\n                },\n                \"seoDesc\": {\n                  \"type\": \"string\",\n                  \"description\": \"An SEO meta description\",\n                  \"example\": \"This is the description that appears in the search result\"\n                },\n                \"openGraph\": {\n                  \"type\": \"object\",\n                  \"description\": \"Open Graph settings for the page\",\n                  \"properties\": {\n                    \"title\": {\n                      \"type\": \"string\",\n                      \"description\": \"Open Graph Title\",\n                      \"example\": \"This is the title that appears in a social graph\"\n                    },\n                    \"titleCopied\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"Indicator if the Open Graph Title was copied from the SEO Title\",\n                      \"readOnly\": true,\n                      \"default\": true\n                    },\n                    \"description\": {\n                      \"type\": \"string\",\n                      \"description\": \"Open Graph Description\",\n                      \"example\": \"This is the description that appears in a social graph\"\n                    },\n                    \"descriptionCopied\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"Indicator of whether the Open Graph description was copied from the SEO description\",\n                      \"readOnly\": true,\n                      \"default\": true\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      },\n      \"Page\": {\n        \"description\": \"The Page object\",\n        \"type\": \"object\",\n        \"required\": [\n          \"pageId\"\n        ],\n        \"example\": null,\n        \"properties\": {\n          \"pageId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for page\",\n            \"example\": \"63499e4e6e9ed5abbfe42b69\"\n          },\n          \"siteId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for a site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\"\n          },\n          \"title\": {\n            \"type\": \"string\",\n            \"description\": \"Title of the page\",\n            \"example\": \"My New Page\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"slug of page\",\n            \"example\": \"my-new-page\"\n          },\n          \"pageType\": {\n            \"type\": \"string\",\n            \"description\": \"indicator of whether the page is static or dynamic\",\n            \"readOnly\": true,\n            \"enum\": [\n              \"dynamic\",\n              \"static\"\n            ],\n            \"example\": \"dynamic\"\n          },\n          \"collectionId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for a collection, value will be null if the page is not part of a collection.\",\n            \"example\": \"6390c49774a71f12831a08e3\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"readOnly\": true,\n            \"description\": \"The date the page was created\",\n            \"example\": \"2016-10-24T19:42:38.929Z\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"readOnly\": true,\n            \"description\": \"The date the page was most recently updated\",\n            \"example\": \"2016-10-24T19:42:38.929Z\"\n          },\n          \"archived\": {\n            \"type\": \"boolean\",\n            \"description\": \"page archive status\",\n            \"default\": false,\n            \"example\": false\n          },\n          \"draft\": {\n            \"type\": \"boolean\",\n            \"description\": \"page draft status\",\n            \"default\": false,\n            \"example\": false\n          },\n          \"canBranch\": {\n            \"type\": \"boolean\",\n            \"description\": \"indicates whether the page supports [Page Branching](https://www.google.com/search?q=webflow+page+branching&rlz=1C5GCEM_enUS1034US1034&oq=webflow+page+branc&aqs=chrome.0.0i512j69i57j0i390l3j69i64l3.10144j1j1&sourceid=chrome&ie=UTF-8)\",\n            \"readOnly\": true,\n            \"default\": false,\n            \"example\": false\n          },\n          \"isMembersOnly\": {\n            \"type\": \"boolean\",\n            \"description\": \"indicates whether the page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)\",\n            \"readOnly\": true,\n            \"default\": false,\n            \"example\": false\n          },\n          \"seoTitle\": {\n            \"type\": \"string\",\n            \"description\": \"SEO title tag\",\n            \"example\": \"A search result\"\n          },\n          \"seoDesc\": {\n            \"type\": \"string\",\n            \"description\": \"An SEO meta description\",\n            \"example\": \"This is the description that appears in the search result\"\n          },\n          \"openGraph\": {\n            \"type\": \"object\",\n            \"description\": \"Open Graph settings for the page\",\n            \"properties\": {\n              \"title\": {\n                \"type\": \"string\",\n                \"description\": \"Open Graph Title\",\n                \"example\": \"This is the title that appears in a social graph\"\n              },\n              \"titleCopied\": {\n                \"type\": \"boolean\",\n                \"description\": \"Indicator if the Open Graph Title was copied from the SEO Title\",\n                \"readOnly\": true,\n                \"default\": true\n              },\n              \"description\": {\n                \"type\": \"string\",\n                \"description\": \"Open Graph Description\",\n                \"example\": \"This is the description that appears in a social graph\"\n              },\n              \"descriptionCopied\": {\n                \"type\": \"boolean\",\n                \"description\": \"Indicator of whether the Open Graph description was copied from the SEO description\",\n                \"readOnly\": true,\n                \"default\": true\n              }\n            }\n          }\n        }\n      },\n      \"PageCreatedWebhook\": {\n        \"description\": \"The Webhook payload for when a Page is created\",\n        \"type\": \"object\",\n        \"properties\": {\n          \"siteId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"562ac0395358780a1f5e6fbd\"\n          },\n          \"pageId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6\"\n          },\n          \"pageTitle\": {\n            \"type\": \"string\",\n            \"example\": \"My New Page\"\n          },\n          \"createdAt\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2022-12-07T16:51:37.571Z\"\n          }\n        }\n      },\n      \"PageMetadataUpdatedWebhook\": {\n        \"description\": \"The Webhook payload for when a Page's metadata is updated\",\n        \"type\": \"object\",\n        \"properties\": {\n          \"siteId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"562ac0395358780a1f5e6fbd\"\n          },\n          \"pageId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6\"\n          },\n          \"pageTitle\": {\n            \"type\": \"string\",\n            \"example\": \"My New Page\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2022-12-07T16:51:37.571Z\"\n          }\n        }\n      },\n      \"PageDeletedWebhook\": {\n        \"description\": \"The Webhook payload for when a Page is deleted\",\n        \"type\": \"object\",\n        \"properties\": {\n          \"siteId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"562ac0395358780a1f5e6fbd\"\n          },\n          \"pageId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6\"\n          },\n          \"pageTitle\": {\n            \"type\": \"string\",\n            \"example\": \"My New Page\"\n          },\n          \"deletedAt\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2022-12-07T16:51:37.571Z\"\n          }\n        }\n      },\n      \"Webhook\": {\n        \"example\": {\n          \"value\": {\n            \"id\": \"582266e0cd48de0f0e3c6d8b\",\n            \"triggerType\": \"form_submission\",\n            \"siteId\": \"562ac0395358780a1f5e6fbd\",\n            \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n            \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n            \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n            \"filter\": null,\n            \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n          }\n        },\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"57ca0a9e418c504a6e1acbb6\",\n            \"description\": \"Unique identifier for a Webhook\"\n          },\n          \"triggerType\": {\n            \"type\": \"string\",\n            \"example\": \"form_submission\",\n            \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n            \"enum\": [\n              \"form_submission\",\n              \"site_publish\",\n              \"page_created\",\n              \"page_metadata_updated\",\n              \"page_deleted\",\n              \"ecomm_new_order\",\n              \"ecomm_order_changed\",\n              \"ecomm_inventory_changed\",\n              \"memberships_user_account_added\",\n              \"memberships_user_account_updated\",\n              \"collection_item_created\",\n              \"collection_item_changed\",\n              \"collection_item_deleted\",\n              \"collection_item_unpublished\"\n            ]\n          },\n          \"siteId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"562ac0395358780a1f5e6fbd\",\n            \"description\": \"Unique identifier for a Webhook\"\n          },\n          \"filter\": {\n            \"description\": \"filter for selecting which events you want webhooks to be triggered for.\",\n            \"type\": \"object\"\n          },\n          \"lastTriggered\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2016-09-06T21:12:22.148Z\",\n            \"description\": \"Date trigger was last used\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2016-09-02T23:26:22.241Z\",\n            \"description\": \"Date trigger was created\"\n          },\n          \"url\": {\n            \"type\": \"string\",\n            \"example\": \"https://example.com/webhook\",\n            \"description\": \"URL to send the webhook to\"\n          }\n        }\n      },\n      \"WebhookList\": {\n        \"example\": {\n          \"value\": {\n            \"pagination\": {\n              \"limit\": 20,\n              \"offset\": 0,\n              \"total\": 3\n            },\n            \"webhooks\": [\n              {\n                \"id\": \"57ca0a9e418c504a6e1acbb6\",\n                \"triggerType\": \"form_submission\",\n                \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                \"filter\": {\n                  \"name\": \"Email Form\"\n                },\n                \"createdOn\": \"2016-09-02T23:26:22.241Z\",\n                \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n              },\n              {\n                \"id\": \"578d85cce0c47cd2865f4cf2\",\n                \"triggerType\": \"form_submission\",\n                \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                \"filter\": {\n                  \"name\": \"Email Form\"\n                },\n                \"createdOn\": \"2016-07-19T01:43:40.585Z\",\n                \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n              },\n              {\n                \"id\": \"578d85cce0c47cd2865f4cf3\",\n                \"triggerType\": \"form_submission\",\n                \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                \"filter\": {\n                  \"name\": \"Email Form\"\n                },\n                \"createdOn\": \"2016-07-19T01:43:40.605Z\",\n                \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n              }\n            ]\n          }\n        },\n        \"properties\": {\n          \"pagination\": {\n            \"description\": \"Pagination object\",\n            \"type\": \"object\",\n            \"properties\": {\n              \"limit\": {\n                \"type\": \"number\",\n                \"description\": \"The limit used for pagination\",\n                \"example\": 100\n              },\n              \"offset\": {\n                \"type\": \"number\",\n                \"description\": \"The offset used for pagination\",\n                \"example\": 0\n              },\n              \"total\": {\n                \"type\": \"number\",\n                \"description\": \"The total number of records\",\n                \"example\": 100\n              }\n            }\n          },\n          \"webhooks\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"example\": {\n                \"value\": {\n                  \"id\": \"582266e0cd48de0f0e3c6d8b\",\n                  \"triggerType\": \"form_submission\",\n                  \"siteId\": \"562ac0395358780a1f5e6fbd\",\n                  \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n                  \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n                  \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n                  \"filter\": null,\n                  \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n                }\n              },\n              \"properties\": {\n                \"id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"57ca0a9e418c504a6e1acbb6\",\n                  \"description\": \"Unique identifier for a Webhook\"\n                },\n                \"triggerType\": {\n                  \"type\": \"string\",\n                  \"example\": \"form_submission\",\n                  \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n                  \"enum\": [\n                    \"form_submission\",\n                    \"site_publish\",\n                    \"page_created\",\n                    \"page_metadata_updated\",\n                    \"page_deleted\",\n                    \"ecomm_new_order\",\n                    \"ecomm_order_changed\",\n                    \"ecomm_inventory_changed\",\n                    \"memberships_user_account_added\",\n                    \"memberships_user_account_updated\",\n                    \"collection_item_created\",\n                    \"collection_item_changed\",\n                    \"collection_item_deleted\",\n                    \"collection_item_unpublished\"\n                  ]\n                },\n                \"siteId\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"562ac0395358780a1f5e6fbd\",\n                  \"description\": \"Unique identifier for a Webhook\"\n                },\n                \"filter\": {\n                  \"description\": \"filter for selecting which events you want webhooks to be triggered for.\",\n                  \"type\": \"object\"\n                },\n                \"lastTriggered\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"example\": \"2016-09-06T21:12:22.148Z\",\n                  \"description\": \"Date trigger was last used\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"example\": \"2016-09-02T23:26:22.241Z\",\n                  \"description\": \"Date trigger was created\"\n                },\n                \"url\": {\n                  \"type\": \"string\",\n                  \"example\": \"https://example.com/webhook\",\n                  \"description\": \"URL to send the webhook to\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"Site\": {\n        \"example\": {\n          \"id\": \"580e63e98c9a982ac9b8b741\",\n          \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n          \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n          \"displayName\": \"api_docs_sample_json\",\n          \"shortName\": \"api-docs-sample-json\",\n          \"lastPublished\": \"2016-10-24T19:43:17.271Z\",\n          \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\",\n          \"timeZone\": \"America/Los_Angeles\"\n        },\n        \"required\": [\n          \"_id\"\n        ],\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Unique identifier for the Site\",\n            \"example\": \"580e63e98c9a982ac9b8b741\"\n          },\n          \"workspaceId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Unique identifier for the Workspace\",\n            \"example\": \"580e63e98c9a982ac9b8b741\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"Date the site was created\",\n            \"example\": \"2016-10-24T19:41:29.156Z\"\n          },\n          \"displayName\": {\n            \"type\": \"string\",\n            \"description\": \"Name given to site\",\n            \"example\": \"api_docs_sample_json\"\n          },\n          \"shortName\": {\n            \"type\": \"string\",\n            \"description\": \"Slugified version of name\",\n            \"example\": \"api-docs-sample-json\"\n          },\n          \"lastPublished\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"Date site was last published\",\n            \"example\": \"2016-10-24T19:43:17.271Z\"\n          },\n          \"previewUrl\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"description\": \"URL of a generated image for the given site\",\n            \"example\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\"\n          },\n          \"timeZone\": {\n            \"type\": \"string\",\n            \"description\": \"Site timezone set under Site Settings\",\n            \"example\": \"America/Los_Angeles\"\n          }\n        }\n      },\n      \"AuthorizedUser\": {\n        \"example\": {\n          \"value\": {\n            \"user\": {\n              \"_id\": \"545bbecb7bdd6769632504a7\",\n              \"email\": \"some@email.com\",\n              \"firstName\": \"Some\",\n              \"lastName\": \"One\"\n            }\n          }\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"The unique id of the user\",\n            \"example\": \"545bbecb7bdd6769632504a7\"\n          },\n          \"email\": {\n            \"type\": \"string\",\n            \"format\": \"email\",\n            \"description\": \"The user's email address\",\n            \"example\": \"someone@email.com\"\n          },\n          \"firstName\": {\n            \"type\": \"string\",\n            \"description\": \"The user's first name\",\n            \"example\": \"Some\"\n          },\n          \"lastName\": {\n            \"type\": \"string\",\n            \"description\": \"The user's last name\",\n            \"example\": \"One\"\n          }\n        }\n      },\n      \"Authorization\": {\n        \"example\": {\n          \"value\": {\n            \"_id\": \"55818d58616600637b9a5786\",\n            \"createdOn\": \"2016-10-03T23:12:00.755Z\",\n            \"grantType\": \"authorization_code\",\n            \"lastUsed\": \"2016-10-10T21:41:12.736Z\",\n            \"sites\": [\n              \"62f3b1f7eafac55d0c64ef91\"\n            ],\n            \"orgs\": [\n              \"551ad253f0a9c0686f71ed08\"\n            ],\n            \"workspaces\": [],\n            \"users\": [\n              \"545bbecb7bdd6769632504a7\"\n            ],\n            \"rateLimit\": 60,\n            \"status\": \"confirmed\",\n            \"application\": {\n              \"_id\": \"55131cd036c09f7d07883dfc\",\n              \"description\": \"OAuth Testing Application\",\n              \"homepage\": \"https://webflow.com\",\n              \"name\": \"Test App\",\n              \"owner\": \"545bbecb7bdd6769632504a7\",\n              \"ownerType\": \"Person\"\n            }\n          }\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"55818d58616600637b9a5786\",\n            \"description\": \"The unique id of the authorization\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2016-10-03T23:12:00.755Z\",\n            \"description\": \"The date the authorization was created\"\n          },\n          \"grantType\": {\n            \"type\": \"string\",\n            \"example\": \"authorization_code\",\n            \"description\": \"The grant type of the authorization\"\n          },\n          \"lastUsed\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2016-10-10T21:41:12.736Z\",\n            \"description\": \"The date the authorization was last used\"\n          },\n          \"sites\": {\n            \"description\": \"The sites authorized\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"example\": \"62f3b1f7eafac55d0c64ef91\"\n            }\n          },\n          \"orgs\": {\n            \"description\": \"The organizations authorized\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"example\": \"551ad253f0a9c0686f71ed08\"\n            }\n          },\n          \"workspaces\": {\n            \"description\": \"The workspaces authorized\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"users\": {\n            \"description\": \"The users authorized\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"example\": \"551ad253f0a9c0686f71ed08\"\n            }\n          },\n          \"rateLimit\": {\n            \"type\": \"integer\",\n            \"format\": \"int32\",\n            \"example\": 60,\n            \"description\": \"The default rate limit for the authorization\"\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"example\": \"confirmed\",\n            \"description\": \"The status of the authorization\"\n          },\n          \"application\": {\n            \"properties\": {\n              \"_id\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"example\": \"55131cd036c09f7d07883dfc\"\n              },\n              \"description\": {\n                \"type\": \"string\",\n                \"example\": \"OAuth Testing Application\"\n              },\n              \"homepage\": {\n                \"type\": \"string\",\n                \"format\": \"uri\",\n                \"example\": \"https://webflow.com\"\n              },\n              \"name\": {\n                \"type\": \"string\",\n                \"example\": \"Test App\"\n              },\n              \"owner\": {\n                \"type\": \"string\",\n                \"example\": \"545bbecb7bdd6769632504a7\"\n              },\n              \"ownerType\": {\n                \"type\": \"string\",\n                \"example\": \"Person\"\n              }\n            }\n          }\n        }\n      },\n      \"Application\": {\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"55131cd036c09f7d07883dfc\"\n          },\n          \"description\": {\n            \"type\": \"string\",\n            \"example\": \"OAuth Testing Application\"\n          },\n          \"homepage\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"example\": \"https://webflow.com\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"Test App\"\n          },\n          \"owner\": {\n            \"type\": \"string\",\n            \"example\": \"545bbecb7bdd6769632504a7\"\n          },\n          \"ownerType\": {\n            \"type\": \"string\",\n            \"example\": \"Person\"\n          }\n        }\n      },\n      \"Domain\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"_id\"\n        ],\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"589a331aa51e760df7ccb89d\",\n            \"description\": \"Unique identifier for domain\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"test-api-domain.com\",\n            \"description\": \"The domain name\"\n          }\n        }\n      },\n      \"PublishedSite\": {\n        \"required\": [\n          \"queued\"\n        ],\n        \"example\": {\n          \"queued\": true\n        },\n        \"properties\": {\n          \"queued\": {\n            \"type\": \"boolean\",\n            \"description\": \"Indicates if the site has been queued for publish\"\n          }\n        }\n      },\n      \"Collection\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"_id\"\n        ],\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Unique identifier for collection\",\n            \"example\": \"580e63fc8c9a982ac9b8b745\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The date the collection was last updated\",\n            \"example\": \"2016-10-24T19:42:38.929Z\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The date the collection was create\",\n            \"example\": \"2016-10-24T19:41:48.349Z\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"Name given to Collection\",\n            \"example\": \"Blog Posts\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"Slug of Collection in Site URL structure\",\n            \"example\": \"post\"\n          },\n          \"singularName\": {\n            \"type\": \"string\",\n            \"description\": \"The name of one Item in Collection (e.g. “post” if the Collection is called “Posts”)\",\n            \"example\": \"Blog Post\"\n          },\n          \"fields\": {\n            \"type\": \"array\",\n            \"description\": \"The list of fields in the collection\",\n            \"items\": {\n              \"description\": \"Fields in your collection item\",\n              \"required\": [\n                \"slug\",\n                \"name\",\n                \"_archived\",\n                \"_draft\"\n              ],\n              \"example\": {\n                \"value\": {\n                  \"name\": \"Exciting blog post title\",\n                  \"slug\": \"exciting-post\",\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"color\": \"#a98080\",\n                  \"author\": \"580e640c8c9a982ac9b8b778\",\n                  \"post-body\": \"<p>Blog post contents...</p>\",\n                  \"post-summary\": \"Summary of exciting blog post\",\n                  \"main-image\": \"580e63fe8c9a982ac9b8b749\"\n                }\n              },\n              \"properties\": {\n                \"id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for the item\",\n                  \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"description\": \"Slug of the item\",\n                  \"default\": \"new-item\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"description\": \"item name\",\n                  \"default\": \"My New Item\"\n                },\n                \"_archived\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"item archive status\",\n                  \"default\": false\n                },\n                \"_draft\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"item draft status\",\n                  \"default\": false\n                }\n              },\n              \"additionalProperties\": {\n                \"description\": \"Add any custom fields that exist in your collection\",\n                \"type\": \"string\"\n              }\n            }\n          }\n        },\n        \"example\": {\n          \"value\": {\n            \"_id\": \"580e63fc8c9a982ac9b8b745\",\n            \"lastUpdated\": \"2016-10-24T19:42:38.929Z\",\n            \"createdOn\": \"2016-10-24T19:41:48.349Z\",\n            \"name\": \"Blog Posts\",\n            \"slug\": \"post\",\n            \"singularName\": \"Blog Post\",\n            \"fields\": [\n              {\n                \"id\": \"7f62a9781291109b9e428fb47239fd35\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"RichText\",\n                \"slug\": \"post-body\",\n                \"name\": \"Post Body\"\n              },\n              {\n                \"validations\": {\n                  \"singleLine\": false\n                },\n                \"id\": \"ac4ffead755a78c710c44042f528b073\",\n                \"helpText\": \"A summary of the blog post that appears on blog post grid\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"PlainText\",\n                \"slug\": \"post-summary\",\n                \"name\": \"Post Summary\"\n              },\n              {\n                \"id\": \"ba1cfbdaa6b38b8e95e9b5063da8a5bd\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"ImageRef\",\n                \"slug\": \"main-image\",\n                \"name\": \"Main Image\"\n              },\n              {\n                \"id\": \"a8c6ea29b08cc5b5ef966908fa1deae2\",\n                \"helpText\": \"Smaller version of main image that is used on blog post grid\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"ImageRef\",\n                \"slug\": \"thumbnail-image\",\n                \"name\": \"Thumbnail image\"\n              },\n              {\n                \"id\": \"87e79a644a6fb5729940ec24e0012f01\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"Set\",\n                \"innerType\": \"ImageRef\",\n                \"slug\": \"picture-gallery\",\n                \"name\": \"Picture Gallery\"\n              },\n              {\n                \"id\": \"1e54974d97181032d3206ea021668e5f\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"Bool\",\n                \"slug\": \"featured\",\n                \"name\": \"Featured?\"\n              },\n              {\n                \"id\": \"648463cbc042ab079c2b99430a398ae5\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"Color\",\n                \"slug\": \"color\",\n                \"name\": \"Color\"\n              },\n              {\n                \"validations\": {\n                  \"collectionId\": \"580e64088c9a982ac9b8b766\"\n                },\n                \"id\": \"ea9067c48edee510de71fe503fa2fb51\",\n                \"editable\": true,\n                \"required\": false,\n                \"type\": \"ItemRef\",\n                \"slug\": \"author\",\n                \"name\": \"Author\"\n              },\n              {\n                \"validations\": {\n                  \"maxLength\": 256\n                },\n                \"id\": \"60c0667e27b6d5a6daedec3a641265f6\",\n                \"editable\": true,\n                \"required\": true,\n                \"type\": \"PlainText\",\n                \"slug\": \"name\",\n                \"name\": \"Name\"\n              },\n              {\n                \"validations\": {\n                  \"messages\": {\n                    \"maxLength\": \"Must be less than 256 characters\",\n                    \"pattern\": \"Must be alphanumerical and not contain any spaces or special characters\"\n                  },\n                  \"pattern\": {},\n                  \"maxLength\": 256\n                },\n                \"id\": \"8f0c953df91d10b767d66e1d7d00d631\",\n                \"unique\": true,\n                \"editable\": true,\n                \"required\": true,\n                \"type\": \"PlainText\",\n                \"slug\": \"slug\",\n                \"name\": \"Slug\"\n              },\n              {\n                \"default\": false,\n                \"id\": \"e4e92e700d70faffac6fa82ff2bfaece\",\n                \"editable\": true,\n                \"required\": true,\n                \"type\": \"Bool\",\n                \"slug\": \"_archived\",\n                \"name\": \"Archived\"\n              },\n              {\n                \"default\": false,\n                \"id\": \"f2675b2ac4fcef746b24d4a320887ef8\",\n                \"editable\": true,\n                \"required\": true,\n                \"type\": \"Bool\",\n                \"slug\": \"_draft\",\n                \"name\": \"Draft\"\n              },\n              {\n                \"id\": \"0913a35d92208bdf8fbf3ed1e39b771e\",\n                \"editable\": false,\n                \"required\": false,\n                \"type\": \"Date\",\n                \"slug\": \"created-on\",\n                \"name\": \"Created On\"\n              },\n              {\n                \"id\": \"3de04889465fe6d718e47b152ef5bb4d\",\n                \"editable\": false,\n                \"required\": false,\n                \"type\": \"Date\",\n                \"slug\": \"updated-on\",\n                \"name\": \"Updated On\"\n              },\n              {\n                \"id\": \"2a3cd866d5dbb294896130b233218626\",\n                \"editable\": false,\n                \"required\": false,\n                \"type\": \"Date\",\n                \"slug\": \"published-on\",\n                \"name\": \"Published On\"\n              },\n              {\n                \"id\": \"62c18561b9e89517751c6d8712d48f91\",\n                \"editable\": false,\n                \"required\": false,\n                \"type\": \"User\",\n                \"slug\": \"created-by\",\n                \"name\": \"Created By\"\n              },\n              {\n                \"id\": \"50918093b4e4d4eca1e83c25bcdc06a4\",\n                \"editable\": false,\n                \"required\": false,\n                \"type\": \"User\",\n                \"slug\": \"updated-by\",\n                \"name\": \"Updated By\"\n              },\n              {\n                \"id\": \"5c4587f18b32ef245daeaadfcba7860b\",\n                \"editable\": false,\n                \"required\": false,\n                \"type\": \"User\",\n                \"slug\": \"published-by\",\n                \"name\": \"Published By\"\n              }\n            ]\n          }\n        }\n      },\n      \"CollectionItem\": {\n        \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n        \"properties\": {\n          \"_archived\": {\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"description\": \"Boolean determining if the Item is set to archived\"\n          },\n          \"_draft\": {\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"description\": \"Boolean determining if the Item is set to draft\"\n          },\n          \"_id\": {\n            \"type\": \"string\",\n            \"readOnly\": true,\n            \"example\": \"580e64008c9a982ac9b8b754\",\n            \"description\": \"Unique identifier for the Item\"\n          },\n          \"_cid\": {\n            \"type\": \"string\",\n            \"readOnly\": true,\n            \"example\": \"580e63fc8c9a982ac9b8b745\",\n            \"description\": \"Unique identifier for the Collection the Item belongs within\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"5 Principles Of Effective Web Design\",\n            \"description\": \"Name given to the Item\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"example\": \"5-principles-of-effective-web-design\",\n            \"description\": \"URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.\"\n          }\n        },\n        \"example\": {\n          \"value\": {\n            \"_archived\": false,\n            \"_draft\": false,\n            \"color\": \"#a98080\",\n            \"name\": \"Exciting blog post title\",\n            \"post-body\": \"<p>Blog post contents...</p>\",\n            \"post-summary\": \"Summary of exciting blog post\",\n            \"main-image\": {\n              \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n            },\n            \"slug\": \"exciting-post\",\n            \"author\": \"580e640c8c9a982ac9b8b778\"\n          }\n        }\n      },\n      \"CollectionItemList\": {\n        \"description\": \"Results from collection items list\",\n        \"example\": {\n          \"value\": {\n            \"items\": [\n              {\n                \"_archived\": false,\n                \"_draft\": false,\n                \"color\": \"#a98080\",\n                \"name\": \"Exciting blog post title\",\n                \"post-body\": \"<p>Blog post contents...</p>\",\n                \"post-summary\": \"Summary of exciting blog post\",\n                \"main-image\": {\n                  \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n                },\n                \"slug\": \"exciting-post\",\n                \"author\": \"580e640c8c9a982ac9b8b778\",\n                \"updated-on\": \"2016-11-15T22:45:32.647Z\",\n                \"updated-by\": \"Person_5660c5338e9d3b0bee3b86aa\",\n                \"created-on\": \"2016-11-15T22:45:32.647Z\",\n                \"created-by\": \"Person_5660c5338e9d3b0bee3b86aa\",\n                \"published-on\": null,\n                \"published-by\": null,\n                \"_cid\": \"580e63fc8c9a982ac9b8b745\",\n                \"_id\": \"582b900cba19143b2bb8a759\"\n              }\n            ],\n            \"count\": 1,\n            \"limit\": 1,\n            \"offset\": 0,\n            \"total\": 5\n          }\n        },\n        \"properties\": {\n          \"items\": {\n            \"type\": \"array\",\n            \"description\": \"List of Items within the collection\",\n            \"items\": {\n              \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n              \"properties\": {\n                \"_archived\": {\n                  \"type\": \"boolean\",\n                  \"default\": false,\n                  \"description\": \"Boolean determining if the Item is set to archived\"\n                },\n                \"_draft\": {\n                  \"type\": \"boolean\",\n                  \"default\": false,\n                  \"description\": \"Boolean determining if the Item is set to draft\"\n                },\n                \"_id\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"example\": \"580e64008c9a982ac9b8b754\",\n                  \"description\": \"Unique identifier for the Item\"\n                },\n                \"_cid\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"example\": \"580e63fc8c9a982ac9b8b745\",\n                  \"description\": \"Unique identifier for the Collection the Item belongs within\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"example\": \"5 Principles Of Effective Web Design\",\n                  \"description\": \"Name given to the Item\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"example\": \"5-principles-of-effective-web-design\",\n                  \"description\": \"URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.\"\n                }\n              },\n              \"example\": {\n                \"value\": {\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"color\": \"#a98080\",\n                  \"name\": \"Exciting blog post title\",\n                  \"post-body\": \"<p>Blog post contents...</p>\",\n                  \"post-summary\": \"Summary of exciting blog post\",\n                  \"main-image\": {\n                    \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n                    \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n                  },\n                  \"slug\": \"exciting-post\",\n                  \"author\": \"580e640c8c9a982ac9b8b778\"\n                }\n              }\n            }\n          },\n          \"count\": {\n            \"type\": \"number\",\n            \"description\": \"Number of items returned\"\n          },\n          \"limit\": {\n            \"type\": \"number\",\n            \"default\": 100,\n            \"description\": \"The limit specified in the request\"\n          },\n          \"offset\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"description\": \"The offset specified for pagination\"\n          },\n          \"total\": {\n            \"type\": \"number\",\n            \"description\": \"Total number of items in the collection\"\n          }\n        }\n      },\n      \"PublishedItems\": {\n        \"description\": \"A list of items published\",\n        \"example\": {\n          \"value\": {\n            \"publishedItemIds\": [\n              \"62aa37923cf7a9de1ca4469c\",\n              \"62aa37923cf7a9de1ca44697\",\n              \"62aa37923cf7a9de1ca44696\"\n            ],\n            \"errors\": []\n          }\n        },\n        \"properties\": {\n          \"publishedItemIds\": {\n            \"type\": \"array\",\n            \"description\": \"Array of published item ids\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\",\n              \"description\": \"Unique identifier for a collection item\",\n              \"example\": \"62aa37923cf7a9de1ca4469c\"\n            }\n          },\n          \"errors\": {\n            \"type\": \"array\",\n            \"description\": \"Array of errors\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          }\n        }\n      },\n      \"RemovedItems\": {\n        \"description\": \"A list of items removed\",\n        \"example\": {\n          \"value\": {\n            \"deletedItemIds\": [\n              \"62aa37923cf7a9de1ca4469c\",\n              \"62aa37923cf7a9de1ca44697\",\n              \"62aa37923cf7a9de1ca44696\"\n            ],\n            \"errors\": []\n          }\n        },\n        \"properties\": {\n          \"deletedItemIds\": {\n            \"type\": \"array\",\n            \"description\": \"Array of deleted item ids\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"uuid\",\n              \"description\": \"Unique identifier for a collection item\",\n              \"example\": \"62aa37923cf7a9de1ca4469c\"\n            }\n          },\n          \"errors\": {\n            \"type\": \"array\",\n            \"description\": \"Array of errors\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          }\n        }\n      },\n      \"User\": {\n        \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n        \"example\": {\n          \"_id\": \"6287ec36a841b25637c663df\",\n          \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n          \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n          \"emailVerified\": true,\n          \"status\": \"verified\",\n          \"data\": {\n            \"accept-privacy\": false,\n            \"accept-communications\": false,\n            \"email\": \"Some.One@home.com\",\n            \"name\": \"Some One\"\n          }\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"6287ec36a841b25637c663df\",\n            \"description\": \"Unique identifier for the User\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The timestamp the user was created\",\n            \"example\": \"2016-10-24T19:41:29.156Z\"\n          },\n          \"updatedOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The timestamp the user was updated\",\n            \"example\": \"2016-10-24T19:41:29.156Z\"\n          },\n          \"invitedOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The timestamp the user was invited\",\n            \"example\": \"2016-10-24T19:41:29.156Z\"\n          },\n          \"lastLogin\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The timestamp the user was logged in\",\n            \"example\": \"2016-10-24T19:41:29.156Z\"\n          },\n          \"emailVerified\": {\n            \"type\": \"boolean\",\n            \"description\": \"Shows whether the user has verified their email address\"\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"description\": \"The status of the user\",\n            \"enum\": [\n              \"invited\",\n              \"verified\",\n              \"unverified\"\n            ]\n          },\n          \"data\": {\n            \"type\": \"object\",\n            \"description\": \"An object containing the User's basic info and custom fields\",\n            \"example\": {\n              \"accept-privacy\": false,\n              \"accept-communications\": false,\n              \"email\": \"some.one@home.com\",\n              \"name\": \"Some One\"\n            }\n          }\n        }\n      },\n      \"UserList\": {\n        \"type\": \"object\",\n        \"description\": \"The list users results\",\n        \"properties\": {\n          \"count\": {\n            \"type\": \"number\",\n            \"description\": \"Number of users returned\"\n          },\n          \"limit\": {\n            \"type\": \"number\",\n            \"default\": 100,\n            \"description\": \"The limit specified in the request\"\n          },\n          \"offset\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"description\": \"The offset specified for pagination\"\n          },\n          \"total\": {\n            \"type\": \"number\",\n            \"description\": \"Total number of users in the collection\"\n          },\n          \"users\": {\n            \"type\": \"array\",\n            \"description\": \"List of Users for a Site\",\n            \"items\": {\n              \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n              \"example\": {\n                \"_id\": \"6287ec36a841b25637c663df\",\n                \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n                \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n                \"emailVerified\": true,\n                \"status\": \"verified\",\n                \"data\": {\n                  \"accept-privacy\": false,\n                  \"accept-communications\": false,\n                  \"email\": \"Some.One@home.com\",\n                  \"name\": \"Some One\"\n                }\n              },\n              \"properties\": {\n                \"_id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"6287ec36a841b25637c663df\",\n                  \"description\": \"Unique identifier for the User\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"description\": \"The timestamp the user was created\",\n                  \"example\": \"2016-10-24T19:41:29.156Z\"\n                },\n                \"updatedOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"description\": \"The timestamp the user was updated\",\n                  \"example\": \"2016-10-24T19:41:29.156Z\"\n                },\n                \"invitedOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"description\": \"The timestamp the user was invited\",\n                  \"example\": \"2016-10-24T19:41:29.156Z\"\n                },\n                \"lastLogin\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"description\": \"The timestamp the user was logged in\",\n                  \"example\": \"2016-10-24T19:41:29.156Z\"\n                },\n                \"emailVerified\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"Shows whether the user has verified their email address\"\n                },\n                \"status\": {\n                  \"type\": \"string\",\n                  \"description\": \"The status of the user\",\n                  \"enum\": [\n                    \"invited\",\n                    \"verified\",\n                    \"unverified\"\n                  ]\n                },\n                \"data\": {\n                  \"type\": \"object\",\n                  \"description\": \"An object containing the User's basic info and custom fields\",\n                  \"example\": {\n                    \"accept-privacy\": false,\n                    \"accept-communications\": false,\n                    \"email\": \"some.one@home.com\",\n                    \"name\": \"Some One\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"example\": {\n          \"value\": {\n            \"users\": [\n              {\n                \"_id\": \"6287ec36a841b25637c663df\",\n                \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n                \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n                \"emailVerified\": false,\n                \"status\": \"unverified\",\n                \"data\": {\n                  \"accept-privacy\": false,\n                  \"accept-communications\": false,\n                  \"email\": \"Person.One@home.com\",\n                  \"name\": \"Person One\"\n                }\n              },\n              {\n                \"_id\": \"6287ec36a841b25637c663f0\",\n                \"createdOn\": \"2022-05-19T05:32:04.581Z\",\n                \"updatedOn\": \"2022-05-19T05:32:04.581Z\",\n                \"emailVerified\": false,\n                \"status\": \"unverified\",\n                \"data\": {\n                  \"accept-privacy\": false,\n                  \"accept-communications\": false,\n                  \"email\": \"Person.Two@home.com\",\n                  \"name\": \"Person Two\"\n                }\n              },\n              {\n                \"_id\": \"6287ec36a841b25637c663d9\",\n                \"createdOn\": \"2022-05-17T03:34:06.720Z\",\n                \"updatedOn\": \"2022-05-17T03:34:06.720Z\",\n                \"emailVerified\": true,\n                \"status\": \"verified\",\n                \"data\": {\n                  \"accept-privacy\": false,\n                  \"accept-communications\": false,\n                  \"email\": \"Person.Three@home.com\",\n                  \"name\": \"Person Three\"\n                }\n              },\n              {\n                \"_id\": \"6287ec37a841b25637c6641b\",\n                \"createdOn\": \"2022-05-15T03:46:09.748Z\",\n                \"updatedOn\": \"2022-05-15T03:46:09.748Z\",\n                \"emailVerified\": false,\n                \"status\": \"unverified\",\n                \"data\": {\n                  \"accept-privacy\": false,\n                  \"accept-communications\": false,\n                  \"email\": \"Person.Four@home.com\",\n                  \"name\": \"Person Four\"\n                }\n              },\n              {\n                \"_id\": \"6287ec37a841b25637c66449\",\n                \"createdOn\": \"2022-05-15T02:55:38.786Z\",\n                \"updatedOn\": \"2022-05-15T02:55:38.786Z\",\n                \"emailVerified\": true,\n                \"status\": \"verified\",\n                \"data\": {\n                  \"accept-privacy\": false,\n                  \"accept-communications\": false,\n                  \"email\": \"Person.Five@home.com\",\n                  \"name\": \"Person Five\"\n                }\n              }\n            ],\n            \"count\": 5,\n            \"limit\": 5,\n            \"offset\": 0,\n            \"total\": 201\n          }\n        }\n      },\n      \"AccessGroup\": {\n        \"example\": {\n          \"_id\": \"62be58d404be8a6cc900c081\",\n          \"name\": \"Webflowers\",\n          \"shortId\": \"jo\",\n          \"slug\": \"webflowers\",\n          \"createdOn\": \"2022-08-01T19:41:48.349Z\"\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"62be58d404be8a6cc900c081\",\n            \"description\": \"Unique identifier for the Access Group\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"Webflowers\",\n            \"description\": \"Name of the the Access Group\"\n          },\n          \"shortId\": {\n            \"type\": \"string\",\n            \"example\": \"jo\",\n            \"description\": \"Shortened unique identifier based on name, optimized for its use in the user’s JWT\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"example\": \"webflowers\",\n            \"description\": \"Shortened unique identifier based on name, optimized for human readability and public API use\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The date the Access Group was created\",\n            \"example\": \"2022-08-01T19:41:48.349Z\"\n          }\n        }\n      },\n      \"AccessGroupList\": {\n        \"type\": \"object\",\n        \"description\": \"The list access groups results\",\n        \"properties\": {\n          \"count\": {\n            \"type\": \"number\",\n            \"description\": \"Number of access groups returned\"\n          },\n          \"limit\": {\n            \"type\": \"number\",\n            \"default\": 100,\n            \"description\": \"The limit specified in the request\"\n          },\n          \"offset\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"description\": \"The offset specified for pagination\"\n          },\n          \"total\": {\n            \"type\": \"number\",\n            \"description\": \"Total number of access groups in the collection\"\n          },\n          \"accessGroups\": {\n            \"type\": \"array\",\n            \"description\": \"List of Site Access Groups\",\n            \"items\": {\n              \"example\": {\n                \"_id\": \"62be58d404be8a6cc900c081\",\n                \"name\": \"Webflowers\",\n                \"shortId\": \"jo\",\n                \"slug\": \"webflowers\",\n                \"createdOn\": \"2022-08-01T19:41:48.349Z\"\n              },\n              \"properties\": {\n                \"_id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"62be58d404be8a6cc900c081\",\n                  \"description\": \"Unique identifier for the Access Group\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"example\": \"Webflowers\",\n                  \"description\": \"Name of the the Access Group\"\n                },\n                \"shortId\": {\n                  \"type\": \"string\",\n                  \"example\": \"jo\",\n                  \"description\": \"Shortened unique identifier based on name, optimized for its use in the user’s JWT\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"example\": \"webflowers\",\n                  \"description\": \"Shortened unique identifier based on name, optimized for human readability and public API use\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"description\": \"The date the Access Group was created\",\n                  \"example\": \"2022-08-01T19:41:48.349Z\"\n                }\n              }\n            }\n          }\n        },\n        \"example\": {\n          \"value\": {\n            \"accessGroups\": [\n              {\n                \"_id\": \"62be58d404be8a6cc900c081\",\n                \"name\": \"Webflowers\",\n                \"shortId\": \"jo\",\n                \"slug\": \"webflowers\",\n                \"createdOn\": \"2022-08-01T19:41:48.349Z\"\n              }\n            ],\n            \"count\": 1,\n            \"limit\": 10,\n            \"offset\": 0,\n            \"total\": 1\n          }\n        }\n      },\n      \"Product\": {\n        \"description\": \"The Product object\",\n        \"type\": \"object\",\n        \"required\": [\n          \"_id\"\n        ],\n        \"example\": {\n          \"fields\": {\n            \"shippable\": true,\n            \"_archived\": false,\n            \"_draft\": false,\n            \"name\": \"Cloak Of Invisibility\",\n            \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n            \"sku-properties\": [\n              {\n                \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                \"name\": \"Color\",\n                \"enum\": [\n                  {\n                    \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                    \"name\": \"Obsidian Black\",\n                    \"slug\": \"obsidian-black\"\n                  },\n                  {\n                    \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                    \"name\": \"Smoke Grey\",\n                    \"slug\": \"smoke-grey\"\n                  },\n                  {\n                    \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                    \"name\": \"Forest Green\",\n                    \"slug\": \"forest-green\"\n                  }\n                ]\n              }\n            ],\n            \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n            \"slug\": \"cloak-of-invisibility-1\",\n            \"published-on\": null,\n            \"published-by\": null,\n            \"default-sku\": \"5e8518536e147040726cc416\"\n          }\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for collection\",\n            \"example\": \"580e63fc8c9a982ac9b8b745\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"readOnly\": true,\n            \"description\": \"The date the collection was last updated\",\n            \"example\": \"2016-10-24T19:42:38.929Z\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"readOnly\": true,\n            \"description\": \"The date the collection was create\",\n            \"example\": \"2016-10-24T19:41:48.349Z\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"readOnly\": true,\n            \"description\": \"Name given to Collection\",\n            \"example\": \"Products\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"readOnly\": true,\n            \"description\": \"Slug of Collection in Site URL structure\",\n            \"example\": \"product\"\n          },\n          \"singularName\": {\n            \"type\": \"string\",\n            \"readOnly\": true,\n            \"description\": \"The name of one Item in Collection (e.g. “product” if the Collection is called “Product”)\\n\",\n            \"example\": \"Product\"\n          },\n          \"fields\": {\n            \"description\": \"Fields in your product object\",\n            \"required\": true,\n            \"properties\": {\n              \"id\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"readOnly\": true,\n                \"description\": \"Unique identifier for the item\",\n                \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n              },\n              \"slug\": {\n                \"type\": \"string\",\n                \"description\": \"Slug of the item\",\n                \"required\": true,\n                \"default\": \"product-name\"\n              },\n              \"name\": {\n                \"type\": \"string\",\n                \"description\": \"item name\",\n                \"required\": true,\n                \"default\": \"Product Name\"\n              },\n              \"_archived\": {\n                \"type\": \"boolean\",\n                \"description\": \"item archive status\",\n                \"required\": true,\n                \"default\": false\n              },\n              \"_draft\": {\n                \"type\": \"boolean\",\n                \"description\": \"item draft status\",\n                \"default\": false,\n                \"required\": true\n              },\n              \"sku-properties\": {\n                \"type\": \"array\",\n                \"description\": \"Variant/Options types to include in SKUs\",\n                \"required\": false,\n                \"items\": {\n                  \"type\": \"object\",\n                  \"description\": \"A variant/optiontype for a SKU\",\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"description\": \"Unique identifier for a collection of product options/variants\",\n                      \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                      \"default\": null\n                    },\n                    \"name\": {\n                      \"type\": \"string\",\n                      \"description\": \"Nme of the collection of product options/variants\",\n                      \"example\": \"Color\"\n                    },\n                    \"enum\": {\n                      \"description\": \"The individual options/varaiants that are contained within the collection\",\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"description\": \"Enumerated variant/option of a SKU\",\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"id\": {\n                            \"type\": \"string\",\n                            \"description\": \"Unique identifier for a product variant/option\",\n                            \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                            \"default\": null\n                          },\n                          \"name\": {\n                            \"type\": \"string\",\n                            \"description\": \"Name of the option/variant\",\n                            \"example\": \"Royal Blue\"\n                          },\n                          \"slug\": {\n                            \"type\": \"string\",\n                            \"description\": \"slug of option/variant in Site URL structure\",\n                            \"example\": \"roayl-blue\"\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            },\n            \"additionalProperties\": {\n              \"description\": \"Add any custom fields that exist in your product\",\n              \"type\": \"string\"\n            }\n          }\n        }\n      },\n      \"ProductList\": {\n        \"description\": \"Results from product list\",\n        \"example\": {\n          \"value\": {\n            \"items\": [\n              {\n                \"product\": {\n                  \"shippable\": true,\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"name\": \"Cloak Of Invisibility\",\n                  \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                  \"sku-properties\": [\n                    {\n                      \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                      \"name\": \"Color\",\n                      \"enum\": [\n                        {\n                          \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                          \"name\": \"Obsidian Black\",\n                          \"slug\": \"obsidian-black\"\n                        },\n                        {\n                          \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                          \"name\": \"Smoke Grey\",\n                          \"slug\": \"smoke-grey\"\n                        },\n                        {\n                          \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                          \"name\": \"Forest Green\",\n                          \"slug\": \"forest-green\"\n                        }\n                      ]\n                    }\n                  ],\n                  \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                  \"slug\": \"cloak-of-invisibility-1\",\n                  \"updated-on\": \"2020-04-01T22:40:19.329Z\",\n                  \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"created-on\": \"2020-04-01T22:40:17.602Z\",\n                  \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"published-on\": null,\n                  \"published-by\": null,\n                  \"default-sku\": \"5e8518536e147040726cc416\",\n                  \"_cid\": \"5dd44c493543b37d5449b3a5\",\n                  \"_id\": \"5e8518516e147040726cc415\"\n                },\n                \"skus\": [\n                  {\n                    \"price\": {\n                      \"unit\": \"USD\",\n                      \"value\": 120000\n                    },\n                    \"_archived\": false,\n                    \"_draft\": false,\n                    \"sku-values\": {},\n                    \"width\": 56,\n                    \"length\": 0.3,\n                    \"height\": 72,\n                    \"weight\": 24,\n                    \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n                    \"main-image\": {\n                      \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                      \"alt\": null\n                    },\n                    \"more-images\": [\n                      {\n                        \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                        \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                        \"alt\": null\n                      },\n                      {\n                        \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                        \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                        \"alt\": null\n                      }\n                    ],\n                    \"download-files\": [\n                      {\n                        \"id\": \"5ebb1676c3244c2c6ae18814\",\n                        \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                        \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                      }\n                    ],\n                    \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n                    \"product\": \"5e8518516e147040726cc415\",\n                    \"updated-on\": \"2020-04-01T22:40:19.287Z\",\n                    \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                    \"created-on\": \"2020-04-01T22:40:19.287Z\",\n                    \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                    \"published-on\": null,\n                    \"published-by\": null,\n                    \"_cid\": \"5dd44c493543b37d5449b383\",\n                    \"_id\": \"5e8518536e147040726cc416\"\n                  }\n                ]\n              }\n            ],\n            \"count\": 1,\n            \"limit\": 100,\n            \"offset\": 0,\n            \"total\": 12\n          }\n        },\n        \"properties\": {\n          \"items\": {\n            \"type\": \"array\",\n            \"description\": \"List of Item objects within the Collection. Contains product and skus keys\",\n            \"items\": {\n              \"description\": \"The Product object\",\n              \"type\": \"object\",\n              \"required\": [\n                \"_id\"\n              ],\n              \"example\": {\n                \"fields\": {\n                  \"shippable\": true,\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"name\": \"Cloak Of Invisibility\",\n                  \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                  \"sku-properties\": [\n                    {\n                      \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                      \"name\": \"Color\",\n                      \"enum\": [\n                        {\n                          \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                          \"name\": \"Obsidian Black\",\n                          \"slug\": \"obsidian-black\"\n                        },\n                        {\n                          \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                          \"name\": \"Smoke Grey\",\n                          \"slug\": \"smoke-grey\"\n                        },\n                        {\n                          \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                          \"name\": \"Forest Green\",\n                          \"slug\": \"forest-green\"\n                        }\n                      ]\n                    }\n                  ],\n                  \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                  \"slug\": \"cloak-of-invisibility-1\",\n                  \"published-on\": null,\n                  \"published-by\": null,\n                  \"default-sku\": \"5e8518536e147040726cc416\"\n                }\n              },\n              \"properties\": {\n                \"_id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for collection\",\n                  \"example\": \"580e63fc8c9a982ac9b8b745\"\n                },\n                \"lastUpdated\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the collection was last updated\",\n                  \"example\": \"2016-10-24T19:42:38.929Z\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the collection was create\",\n                  \"example\": \"2016-10-24T19:41:48.349Z\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"Name given to Collection\",\n                  \"example\": \"Products\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"Slug of Collection in Site URL structure\",\n                  \"example\": \"product\"\n                },\n                \"singularName\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"The name of one Item in Collection (e.g. “product” if the Collection is called “Product”)\\n\",\n                  \"example\": \"Product\"\n                },\n                \"fields\": {\n                  \"description\": \"Fields in your product object\",\n                  \"required\": true,\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"readOnly\": true,\n                      \"description\": \"Unique identifier for the item\",\n                      \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                    },\n                    \"slug\": {\n                      \"type\": \"string\",\n                      \"description\": \"Slug of the item\",\n                      \"required\": true,\n                      \"default\": \"product-name\"\n                    },\n                    \"name\": {\n                      \"type\": \"string\",\n                      \"description\": \"item name\",\n                      \"required\": true,\n                      \"default\": \"Product Name\"\n                    },\n                    \"_archived\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"item archive status\",\n                      \"required\": true,\n                      \"default\": false\n                    },\n                    \"_draft\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"item draft status\",\n                      \"default\": false,\n                      \"required\": true\n                    },\n                    \"sku-properties\": {\n                      \"type\": \"array\",\n                      \"description\": \"Variant/Options types to include in SKUs\",\n                      \"required\": false,\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"description\": \"A variant/optiontype for a SKU\",\n                        \"properties\": {\n                          \"id\": {\n                            \"type\": \"string\",\n                            \"description\": \"Unique identifier for a collection of product options/variants\",\n                            \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                            \"default\": null\n                          },\n                          \"name\": {\n                            \"type\": \"string\",\n                            \"description\": \"Nme of the collection of product options/variants\",\n                            \"example\": \"Color\"\n                          },\n                          \"enum\": {\n                            \"description\": \"The individual options/varaiants that are contained within the collection\",\n                            \"type\": \"array\",\n                            \"items\": {\n                              \"description\": \"Enumerated variant/option of a SKU\",\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"id\": {\n                                  \"type\": \"string\",\n                                  \"description\": \"Unique identifier for a product variant/option\",\n                                  \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                                  \"default\": null\n                                },\n                                \"name\": {\n                                  \"type\": \"string\",\n                                  \"description\": \"Name of the option/variant\",\n                                  \"example\": \"Royal Blue\"\n                                },\n                                \"slug\": {\n                                  \"type\": \"string\",\n                                  \"description\": \"slug of option/variant in Site URL structure\",\n                                  \"example\": \"roayl-blue\"\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"additionalProperties\": {\n                    \"description\": \"Add any custom fields that exist in your product\",\n                    \"type\": \"string\"\n                  }\n                }\n              }\n            }\n          },\n          \"count\": {\n            \"type\": \"number\",\n            \"description\": \"Number of items returned\"\n          },\n          \"limit\": {\n            \"type\": \"number\",\n            \"default\": 100,\n            \"description\": \"The limit specified in the request\"\n          },\n          \"offset\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"description\": \"The offset specified for pagination\"\n          },\n          \"total\": {\n            \"type\": \"number\",\n            \"description\": \"Total number of items in the collection\"\n          }\n        }\n      },\n      \"ProductSKU\": {\n        \"description\": \"A Product and Default SKU\",\n        \"properties\": {\n          \"product\": {\n            \"description\": \"The Product object\",\n            \"type\": \"object\",\n            \"required\": [\n              \"_id\"\n            ],\n            \"example\": {\n              \"fields\": {\n                \"shippable\": true,\n                \"_archived\": false,\n                \"_draft\": false,\n                \"name\": \"Cloak Of Invisibility\",\n                \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                \"sku-properties\": [\n                  {\n                    \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                    \"name\": \"Color\",\n                    \"enum\": [\n                      {\n                        \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                        \"name\": \"Obsidian Black\",\n                        \"slug\": \"obsidian-black\"\n                      },\n                      {\n                        \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                        \"name\": \"Smoke Grey\",\n                        \"slug\": \"smoke-grey\"\n                      },\n                      {\n                        \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                        \"name\": \"Forest Green\",\n                        \"slug\": \"forest-green\"\n                      }\n                    ]\n                  }\n                ],\n                \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                \"slug\": \"cloak-of-invisibility-1\",\n                \"published-on\": null,\n                \"published-by\": null,\n                \"default-sku\": \"5e8518536e147040726cc416\"\n              }\n            },\n            \"properties\": {\n              \"_id\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"readOnly\": true,\n                \"description\": \"Unique identifier for collection\",\n                \"example\": \"580e63fc8c9a982ac9b8b745\"\n              },\n              \"lastUpdated\": {\n                \"type\": \"string\",\n                \"format\": \"date-time\",\n                \"readOnly\": true,\n                \"description\": \"The date the collection was last updated\",\n                \"example\": \"2016-10-24T19:42:38.929Z\"\n              },\n              \"createdOn\": {\n                \"type\": \"string\",\n                \"format\": \"date-time\",\n                \"readOnly\": true,\n                \"description\": \"The date the collection was create\",\n                \"example\": \"2016-10-24T19:41:48.349Z\"\n              },\n              \"name\": {\n                \"type\": \"string\",\n                \"readOnly\": true,\n                \"description\": \"Name given to Collection\",\n                \"example\": \"Products\"\n              },\n              \"slug\": {\n                \"type\": \"string\",\n                \"readOnly\": true,\n                \"description\": \"Slug of Collection in Site URL structure\",\n                \"example\": \"product\"\n              },\n              \"singularName\": {\n                \"type\": \"string\",\n                \"readOnly\": true,\n                \"description\": \"The name of one Item in Collection (e.g. “product” if the Collection is called “Product”)\\n\",\n                \"example\": \"Product\"\n              },\n              \"fields\": {\n                \"description\": \"Fields in your product object\",\n                \"required\": true,\n                \"properties\": {\n                  \"id\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"readOnly\": true,\n                    \"description\": \"Unique identifier for the item\",\n                    \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                  },\n                  \"slug\": {\n                    \"type\": \"string\",\n                    \"description\": \"Slug of the item\",\n                    \"required\": true,\n                    \"default\": \"product-name\"\n                  },\n                  \"name\": {\n                    \"type\": \"string\",\n                    \"description\": \"item name\",\n                    \"required\": true,\n                    \"default\": \"Product Name\"\n                  },\n                  \"_archived\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"item archive status\",\n                    \"required\": true,\n                    \"default\": false\n                  },\n                  \"_draft\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"item draft status\",\n                    \"default\": false,\n                    \"required\": true\n                  },\n                  \"sku-properties\": {\n                    \"type\": \"array\",\n                    \"description\": \"Variant/Options types to include in SKUs\",\n                    \"required\": false,\n                    \"items\": {\n                      \"type\": \"object\",\n                      \"description\": \"A variant/optiontype for a SKU\",\n                      \"properties\": {\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"description\": \"Unique identifier for a collection of product options/variants\",\n                          \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                          \"default\": null\n                        },\n                        \"name\": {\n                          \"type\": \"string\",\n                          \"description\": \"Nme of the collection of product options/variants\",\n                          \"example\": \"Color\"\n                        },\n                        \"enum\": {\n                          \"description\": \"The individual options/varaiants that are contained within the collection\",\n                          \"type\": \"array\",\n                          \"items\": {\n                            \"description\": \"Enumerated variant/option of a SKU\",\n                            \"type\": \"object\",\n                            \"properties\": {\n                              \"id\": {\n                                \"type\": \"string\",\n                                \"description\": \"Unique identifier for a product variant/option\",\n                                \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                                \"default\": null\n                              },\n                              \"name\": {\n                                \"type\": \"string\",\n                                \"description\": \"Name of the option/variant\",\n                                \"example\": \"Royal Blue\"\n                              },\n                              \"slug\": {\n                                \"type\": \"string\",\n                                \"description\": \"slug of option/variant in Site URL structure\",\n                                \"example\": \"roayl-blue\"\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                },\n                \"additionalProperties\": {\n                  \"description\": \"Add any custom fields that exist in your product\",\n                  \"type\": \"string\"\n                }\n              }\n            }\n          },\n          \"sku\": {\n            \"description\": \"The SKU object\",\n            \"type\": \"object\",\n            \"required\": [\n              \"_id\",\n              \"fields\"\n            ],\n            \"example\": {\n              \"price\": {\n                \"unit\": \"USD\",\n                \"value\": 120000\n              },\n              \"_archived\": false,\n              \"_draft\": false,\n              \"sku-values\": {},\n              \"width\": 56,\n              \"length\": 0.3,\n              \"height\": 72,\n              \"weight\": 24,\n              \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n              \"main-image\": {\n                \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                \"alt\": null\n              },\n              \"more-images\": [\n                {\n                  \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                  \"alt\": null\n                },\n                {\n                  \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                  \"alt\": null\n                }\n              ],\n              \"download-files\": [\n                {\n                  \"id\": \"5ebb1676c3244c2c6ae18814\",\n                  \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                  \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                }\n              ],\n              \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n              \"product\": \"5e8518516e147040726cc415\"\n            },\n            \"properties\": {\n              \"_id\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"readOnly\": true,\n                \"description\": \"Unique identifier for collection\",\n                \"example\": \"580e63fc8c9a982ac9b8b745\"\n              },\n              \"lastUpdated\": {\n                \"type\": \"string\",\n                \"format\": \"date-time\",\n                \"readOnly\": true,\n                \"description\": \"The date the collection was last updated\",\n                \"example\": \"2016-10-24T19:42:38.929Z\"\n              },\n              \"createdOn\": {\n                \"type\": \"string\",\n                \"format\": \"date-time\",\n                \"readOnly\": true,\n                \"description\": \"The date the collection was create\",\n                \"example\": \"2016-10-24T19:41:48.349Z\"\n              },\n              \"name\": {\n                \"type\": \"string\",\n                \"description\": \"Name given to Collection\",\n                \"readOnly\": true,\n                \"required\": true,\n                \"example\": \"SKUs\"\n              },\n              \"slug\": {\n                \"type\": \"string\",\n                \"description\": \"Slug of Collection in Site URL structure\",\n                \"readOnly\": true,\n                \"required\": true,\n                \"example\": \"sku\"\n              },\n              \"singularName\": {\n                \"type\": \"string\",\n                \"readOnly\": true,\n                \"description\": \"The name of one Item in Collection (e.g. “sku” if the Collection is called “SKU”)\",\n                \"example\": \"SKU\"\n              },\n              \"fields\": {\n                \"type\": \"object\",\n                \"description\": \"Fields in your SKU object\",\n                \"required\": true,\n                \"properties\": {\n                  \"id\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"readOnly\": true,\n                    \"description\": \"Unique identifier for the SKU\",\n                    \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                  },\n                  \"slug\": {\n                    \"type\": \"string\",\n                    \"description\": \"Slug of the SKU\",\n                    \"required\": true,\n                    \"default\": \"post-body\"\n                  },\n                  \"name\": {\n                    \"type\": \"string\",\n                    \"description\": \"SKU name\",\n                    \"default\": \"Cloak Of Invisibility Color: Obsidian Black\"\n                  },\n                  \"_archived\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"item archive status\",\n                    \"required\": true,\n                    \"default\": false\n                  },\n                  \"_draft\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"item draft status\",\n                    \"default\": false,\n                    \"required\": true\n                  },\n                  \"price\": {\n                    \"type\": \"object\",\n                    \"description\": \"price of SKU\",\n                    \"required\": true,\n                    \"properties\": {\n                      \"value\": {\n                        \"description\": \"Price of SKU\",\n                        \"type\": \"number\",\n                        \"default\": 2000,\n                        \"required\": true\n                      },\n                      \"unit\": {\n                        \"type\": \"string\",\n                        \"description\": \"Currency of Item\",\n                        \"default\": \"USD\",\n                        \"required\": true\n                      }\n                    }\n                  }\n                },\n                \"additionalProperties\": {\n                  \"description\": \"Add any custom fields that exist in your product\",\n                  \"type\": \"string\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"ProductSKUList\": {\n        \"description\": \"Return a Product and all associated SKUs\",\n        \"example\": {\n          \"value\": {\n            \"items\": [\n              {\n                \"product\": {\n                  \"shippable\": true,\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"name\": \"Cloak Of Invisibility\",\n                  \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                  \"sku-properties\": [\n                    {\n                      \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                      \"name\": \"Color\",\n                      \"enum\": [\n                        {\n                          \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                          \"name\": \"Obsidian Black\",\n                          \"slug\": \"obsidian-black\"\n                        },\n                        {\n                          \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                          \"name\": \"Smoke Grey\",\n                          \"slug\": \"smoke-grey\"\n                        },\n                        {\n                          \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                          \"name\": \"Forest Green\",\n                          \"slug\": \"forest-green\"\n                        }\n                      ]\n                    }\n                  ],\n                  \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                  \"slug\": \"cloak-of-invisibility-1\",\n                  \"updated-on\": \"2020-04-01T22:40:19.329Z\",\n                  \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"created-on\": \"2020-04-01T22:40:17.602Z\",\n                  \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"published-on\": null,\n                  \"published-by\": null,\n                  \"default-sku\": \"5e8518536e147040726cc416\",\n                  \"_cid\": \"5dd44c493543b37d5449b3a5\",\n                  \"_id\": \"5e8518516e147040726cc415\"\n                },\n                \"skus\": [\n                  {\n                    \"price\": {\n                      \"unit\": \"USD\",\n                      \"value\": 120000\n                    },\n                    \"_archived\": false,\n                    \"_draft\": false,\n                    \"sku-values\": {},\n                    \"width\": 56,\n                    \"length\": 0.3,\n                    \"height\": 72,\n                    \"weight\": 24,\n                    \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n                    \"main-image\": {\n                      \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                      \"alt\": null\n                    },\n                    \"more-images\": [\n                      {\n                        \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                        \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                        \"alt\": null\n                      },\n                      {\n                        \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                        \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                        \"alt\": null\n                      }\n                    ],\n                    \"download-files\": [\n                      {\n                        \"id\": \"5ebb1676c3244c2c6ae18814\",\n                        \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                        \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                      }\n                    ],\n                    \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n                    \"product\": \"5e8518516e147040726cc415\",\n                    \"updated-on\": \"2020-04-01T22:40:19.287Z\",\n                    \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                    \"created-on\": \"2020-04-01T22:40:19.287Z\",\n                    \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                    \"published-on\": null,\n                    \"published-by\": null,\n                    \"_cid\": \"5dd44c493543b37d5449b383\",\n                    \"_id\": \"5e8518536e147040726cc416\"\n                  }\n                ]\n              }\n            ],\n            \"count\": 1,\n            \"limit\": 100,\n            \"offset\": 0,\n            \"total\": 12\n          }\n        },\n        \"properties\": {\n          \"items\": {\n            \"type\": \"array\",\n            \"description\": \"List of SKUs for a Product\",\n            \"items\": {\n              \"description\": \"The Product object\",\n              \"type\": \"object\",\n              \"required\": [\n                \"_id\"\n              ],\n              \"example\": {\n                \"fields\": {\n                  \"shippable\": true,\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"name\": \"Cloak Of Invisibility\",\n                  \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                  \"sku-properties\": [\n                    {\n                      \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                      \"name\": \"Color\",\n                      \"enum\": [\n                        {\n                          \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                          \"name\": \"Obsidian Black\",\n                          \"slug\": \"obsidian-black\"\n                        },\n                        {\n                          \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                          \"name\": \"Smoke Grey\",\n                          \"slug\": \"smoke-grey\"\n                        },\n                        {\n                          \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                          \"name\": \"Forest Green\",\n                          \"slug\": \"forest-green\"\n                        }\n                      ]\n                    }\n                  ],\n                  \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                  \"slug\": \"cloak-of-invisibility-1\",\n                  \"published-on\": null,\n                  \"published-by\": null,\n                  \"default-sku\": \"5e8518536e147040726cc416\"\n                }\n              },\n              \"properties\": {\n                \"_id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for collection\",\n                  \"example\": \"580e63fc8c9a982ac9b8b745\"\n                },\n                \"lastUpdated\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the collection was last updated\",\n                  \"example\": \"2016-10-24T19:42:38.929Z\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the collection was create\",\n                  \"example\": \"2016-10-24T19:41:48.349Z\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"Name given to Collection\",\n                  \"example\": \"Products\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"Slug of Collection in Site URL structure\",\n                  \"example\": \"product\"\n                },\n                \"singularName\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"The name of one Item in Collection (e.g. “product” if the Collection is called “Product”)\\n\",\n                  \"example\": \"Product\"\n                },\n                \"fields\": {\n                  \"description\": \"Fields in your product object\",\n                  \"required\": true,\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"readOnly\": true,\n                      \"description\": \"Unique identifier for the item\",\n                      \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                    },\n                    \"slug\": {\n                      \"type\": \"string\",\n                      \"description\": \"Slug of the item\",\n                      \"required\": true,\n                      \"default\": \"product-name\"\n                    },\n                    \"name\": {\n                      \"type\": \"string\",\n                      \"description\": \"item name\",\n                      \"required\": true,\n                      \"default\": \"Product Name\"\n                    },\n                    \"_archived\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"item archive status\",\n                      \"required\": true,\n                      \"default\": false\n                    },\n                    \"_draft\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"item draft status\",\n                      \"default\": false,\n                      \"required\": true\n                    },\n                    \"sku-properties\": {\n                      \"type\": \"array\",\n                      \"description\": \"Variant/Options types to include in SKUs\",\n                      \"required\": false,\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"description\": \"A variant/optiontype for a SKU\",\n                        \"properties\": {\n                          \"id\": {\n                            \"type\": \"string\",\n                            \"description\": \"Unique identifier for a collection of product options/variants\",\n                            \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                            \"default\": null\n                          },\n                          \"name\": {\n                            \"type\": \"string\",\n                            \"description\": \"Nme of the collection of product options/variants\",\n                            \"example\": \"Color\"\n                          },\n                          \"enum\": {\n                            \"description\": \"The individual options/varaiants that are contained within the collection\",\n                            \"type\": \"array\",\n                            \"items\": {\n                              \"description\": \"Enumerated variant/option of a SKU\",\n                              \"type\": \"object\",\n                              \"properties\": {\n                                \"id\": {\n                                  \"type\": \"string\",\n                                  \"description\": \"Unique identifier for a product variant/option\",\n                                  \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                                  \"default\": null\n                                },\n                                \"name\": {\n                                  \"type\": \"string\",\n                                  \"description\": \"Name of the option/variant\",\n                                  \"example\": \"Royal Blue\"\n                                },\n                                \"slug\": {\n                                  \"type\": \"string\",\n                                  \"description\": \"slug of option/variant in Site URL structure\",\n                                  \"example\": \"roayl-blue\"\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"additionalProperties\": {\n                    \"description\": \"Add any custom fields that exist in your product\",\n                    \"type\": \"string\"\n                  }\n                }\n              }\n            }\n          },\n          \"count\": {\n            \"type\": \"number\",\n            \"description\": \"Number of items returned\"\n          },\n          \"limit\": {\n            \"type\": \"number\",\n            \"default\": 100,\n            \"description\": \"The limit specified in the request\"\n          },\n          \"offset\": {\n            \"type\": \"number\",\n            \"default\": 0,\n            \"description\": \"The offset specified for pagination\"\n          },\n          \"total\": {\n            \"type\": \"number\",\n            \"description\": \"Total number of items in the collection\"\n          }\n        }\n      },\n      \"SKU\": {\n        \"description\": \"The SKU object\",\n        \"type\": \"object\",\n        \"required\": [\n          \"_id\",\n          \"fields\"\n        ],\n        \"example\": {\n          \"price\": {\n            \"unit\": \"USD\",\n            \"value\": 120000\n          },\n          \"_archived\": false,\n          \"_draft\": false,\n          \"sku-values\": {},\n          \"width\": 56,\n          \"length\": 0.3,\n          \"height\": 72,\n          \"weight\": 24,\n          \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n          \"main-image\": {\n            \"fileId\": \"5e85161dabd9ea4072cf1414\",\n            \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n            \"alt\": null\n          },\n          \"more-images\": [\n            {\n              \"fileId\": \"5e85161dabd9ea4072cf1414\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n              \"alt\": null\n            },\n            {\n              \"fileId\": \"5e85161dabd9ea4072cf1414\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n              \"alt\": null\n            }\n          ],\n          \"download-files\": [\n            {\n              \"id\": \"5ebb1676c3244c2c6ae18814\",\n              \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n              \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n            }\n          ],\n          \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n          \"product\": \"5e8518516e147040726cc415\"\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for collection\",\n            \"example\": \"580e63fc8c9a982ac9b8b745\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"readOnly\": true,\n            \"description\": \"The date the collection was last updated\",\n            \"example\": \"2016-10-24T19:42:38.929Z\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"readOnly\": true,\n            \"description\": \"The date the collection was create\",\n            \"example\": \"2016-10-24T19:41:48.349Z\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"Name given to Collection\",\n            \"readOnly\": true,\n            \"required\": true,\n            \"example\": \"SKUs\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"Slug of Collection in Site URL structure\",\n            \"readOnly\": true,\n            \"required\": true,\n            \"example\": \"sku\"\n          },\n          \"singularName\": {\n            \"type\": \"string\",\n            \"readOnly\": true,\n            \"description\": \"The name of one Item in Collection (e.g. “sku” if the Collection is called “SKU”)\",\n            \"example\": \"SKU\"\n          },\n          \"fields\": {\n            \"type\": \"object\",\n            \"description\": \"Fields in your SKU object\",\n            \"required\": true,\n            \"properties\": {\n              \"id\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"readOnly\": true,\n                \"description\": \"Unique identifier for the SKU\",\n                \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n              },\n              \"slug\": {\n                \"type\": \"string\",\n                \"description\": \"Slug of the SKU\",\n                \"required\": true,\n                \"default\": \"post-body\"\n              },\n              \"name\": {\n                \"type\": \"string\",\n                \"description\": \"SKU name\",\n                \"default\": \"Cloak Of Invisibility Color: Obsidian Black\"\n              },\n              \"_archived\": {\n                \"type\": \"boolean\",\n                \"description\": \"item archive status\",\n                \"required\": true,\n                \"default\": false\n              },\n              \"_draft\": {\n                \"type\": \"boolean\",\n                \"description\": \"item draft status\",\n                \"default\": false,\n                \"required\": true\n              },\n              \"price\": {\n                \"type\": \"object\",\n                \"description\": \"price of SKU\",\n                \"required\": true,\n                \"properties\": {\n                  \"value\": {\n                    \"description\": \"Price of SKU\",\n                    \"type\": \"number\",\n                    \"default\": 2000,\n                    \"required\": true\n                  },\n                  \"unit\": {\n                    \"type\": \"string\",\n                    \"description\": \"Currency of Item\",\n                    \"default\": \"USD\",\n                    \"required\": true\n                  }\n                }\n              }\n            },\n            \"additionalProperties\": {\n              \"description\": \"Add any custom fields that exist in your product\",\n              \"type\": \"string\"\n            }\n          }\n        }\n      },\n      \"SKUList\": {\n        \"description\": \"A list of SKUs\",\n        \"example\": {\n          \"value\": {\n            \"skus\": [\n              {\n                \"slug\": \"cloak-of-invisibility-color-smoke-grey\",\n                \"_archived\": false,\n                \"_draft\": false,\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 120000\n                },\n                \"more-images\": [],\n                \"download-files\": [\n                  {\n                    \"id\": \"5ebb1945c3244c2c6ae18822\",\n                    \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                    \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                  }\n                ],\n                \"sku-values\": {\n                  \"a37a7991f7ca1be0d349a805a2bddb5b\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\"\n                },\n                \"width\": 56,\n                \"length\": 0.3,\n                \"height\": 72,\n                \"weight\": 24,\n                \"name\": \"Cloak Of Invisibility Color: Smoke Grey\",\n                \"main-image\": {\n                  \"fileId\": \"5e8512181ae993035b15f315\",\n                  \"file\": {\n                    \"_id\": \"5e8512181ae993035b15f315\",\n                    \"variants\": [\n                      {\n                        \"_id\": \"5e85121b1ae993035b15f316\",\n                        \"origFileName\": \"external-content.duckduckgo.com-p-500.jpeg\",\n                        \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\",\n                        \"format\": \"jpeg\",\n                        \"size\": 54068,\n                        \"width\": 500,\n                        \"quality\": 100,\n                        \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\"\n                      }\n                    ],\n                    \"origFileName\": \"invisibility_cloak.jpg\",\n                    \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                    \"fileHash\": \"860b1b99ce90aa6c175bfcd9fd59fd42\",\n                    \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                    \"mimeType\": \"image/jpeg\",\n                    \"size\": 192263,\n                    \"width\": 550,\n                    \"height\": 550,\n                    \"database\": \"5e8402eb8a402e354bd469bb\",\n                    \"createdOn\": \"2020-04-01T22:13:44.889Z\",\n                    \"__v\": 1,\n                    \"updatedOn\": \"2020-04-01T22:13:59.777Z\"\n                  },\n                  \"fileSize\": 192263,\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                  \"alt\": null\n                },\n                \"product\": \"5e8518516e147040726cc415\",\n                \"updated-on\": \"2020-04-03T18:50:45.947Z\",\n                \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"created-on\": \"2020-04-03T18:50:45.947Z\",\n                \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"published-on\": null,\n                \"published-by\": null,\n                \"_cid\": \"5e8402eb8a402e354bd469be\",\n                \"_id\": \"5e8785855617d73f34627a93\"\n              },\n              {\n                \"_archived\": false,\n                \"_draft\": false,\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 120000\n                },\n                \"more-images\": [],\n                \"download-files\": [\n                  {\n                    \"id\": \"5ebb1945c3244c2c6ae18823\",\n                    \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                    \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                  }\n                ],\n                \"sku-values\": {\n                  \"a37a7991f7ca1be0d349a805a2bddb5b\": \"ef9511c0b56cc11ff47c5669f65030b4\"\n                },\n                \"width\": 56,\n                \"length\": 0.3,\n                \"height\": 72,\n                \"weight\": 24,\n                \"name\": \"Cloak Of Invisibility Color: Forest Green\",\n                \"main-image\": {\n                  \"fileId\": \"5e8512181ae993035b15f315\",\n                  \"file\": {\n                    \"_id\": \"5e8512181ae993035b15f315\",\n                    \"variants\": [\n                      {\n                        \"_id\": \"5e85121b1ae993035b15f316\",\n                        \"origFileName\": \"external-content.duckduckgo.com-p-500.jpeg\",\n                        \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\",\n                        \"format\": \"jpeg\",\n                        \"size\": 54068,\n                        \"width\": 500,\n                        \"quality\": 100,\n                        \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\"\n                      }\n                    ],\n                    \"origFileName\": \"invisibility_cloak.jpg\",\n                    \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                    \"fileHash\": \"860b1b99ce90aa6c175bfcd9fd59fd42\",\n                    \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                    \"mimeType\": \"image/jpeg\",\n                    \"size\": 192263,\n                    \"width\": 550,\n                    \"height\": 550,\n                    \"database\": \"5e8402eb8a402e354bd469bb\",\n                    \"createdOn\": \"2020-04-01T22:13:44.889Z\",\n                    \"__v\": 1,\n                    \"updatedOn\": \"2020-04-01T22:13:59.777Z\"\n                  },\n                  \"fileSize\": 192263,\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                  \"alt\": null\n                },\n                \"slug\": \"cloak-of-invisibility-color-forest-green\",\n                \"product\": \"5e8518516e147040726cc415\",\n                \"updated-on\": \"2020-04-03T18:50:45.949Z\",\n                \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"created-on\": \"2020-04-03T18:50:45.949Z\",\n                \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"published-on\": null,\n                \"published-by\": null,\n                \"_cid\": \"5e8402eb8a402e354bd469be\",\n                \"_id\": \"5e8785855617d73f34627a94\"\n              }\n            ]\n          }\n        },\n        \"properties\": {\n          \"skus\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"description\": \"The SKU object\",\n              \"type\": \"object\",\n              \"required\": [\n                \"_id\",\n                \"fields\"\n              ],\n              \"example\": {\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 120000\n                },\n                \"_archived\": false,\n                \"_draft\": false,\n                \"sku-values\": {},\n                \"width\": 56,\n                \"length\": 0.3,\n                \"height\": 72,\n                \"weight\": 24,\n                \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n                \"main-image\": {\n                  \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                  \"alt\": null\n                },\n                \"more-images\": [\n                  {\n                    \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                    \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                    \"alt\": null\n                  },\n                  {\n                    \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                    \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                    \"alt\": null\n                  }\n                ],\n                \"download-files\": [\n                  {\n                    \"id\": \"5ebb1676c3244c2c6ae18814\",\n                    \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                    \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                  }\n                ],\n                \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n                \"product\": \"5e8518516e147040726cc415\"\n              },\n              \"properties\": {\n                \"_id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for collection\",\n                  \"example\": \"580e63fc8c9a982ac9b8b745\"\n                },\n                \"lastUpdated\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the collection was last updated\",\n                  \"example\": \"2016-10-24T19:42:38.929Z\"\n                },\n                \"createdOn\": {\n                  \"type\": \"string\",\n                  \"format\": \"date-time\",\n                  \"readOnly\": true,\n                  \"description\": \"The date the collection was create\",\n                  \"example\": \"2016-10-24T19:41:48.349Z\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"description\": \"Name given to Collection\",\n                  \"readOnly\": true,\n                  \"required\": true,\n                  \"example\": \"SKUs\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"description\": \"Slug of Collection in Site URL structure\",\n                  \"readOnly\": true,\n                  \"required\": true,\n                  \"example\": \"sku\"\n                },\n                \"singularName\": {\n                  \"type\": \"string\",\n                  \"readOnly\": true,\n                  \"description\": \"The name of one Item in Collection (e.g. “sku” if the Collection is called “SKU”)\",\n                  \"example\": \"SKU\"\n                },\n                \"fields\": {\n                  \"type\": \"object\",\n                  \"description\": \"Fields in your SKU object\",\n                  \"required\": true,\n                  \"properties\": {\n                    \"id\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"readOnly\": true,\n                      \"description\": \"Unique identifier for the SKU\",\n                      \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                    },\n                    \"slug\": {\n                      \"type\": \"string\",\n                      \"description\": \"Slug of the SKU\",\n                      \"required\": true,\n                      \"default\": \"post-body\"\n                    },\n                    \"name\": {\n                      \"type\": \"string\",\n                      \"description\": \"SKU name\",\n                      \"default\": \"Cloak Of Invisibility Color: Obsidian Black\"\n                    },\n                    \"_archived\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"item archive status\",\n                      \"required\": true,\n                      \"default\": false\n                    },\n                    \"_draft\": {\n                      \"type\": \"boolean\",\n                      \"description\": \"item draft status\",\n                      \"default\": false,\n                      \"required\": true\n                    },\n                    \"price\": {\n                      \"type\": \"object\",\n                      \"description\": \"price of SKU\",\n                      \"required\": true,\n                      \"properties\": {\n                        \"value\": {\n                          \"description\": \"Price of SKU\",\n                          \"type\": \"number\",\n                          \"default\": 2000,\n                          \"required\": true\n                        },\n                        \"unit\": {\n                          \"type\": \"string\",\n                          \"description\": \"Currency of Item\",\n                          \"default\": \"USD\",\n                          \"required\": true\n                        }\n                      }\n                    }\n                  },\n                  \"additionalProperties\": {\n                    \"description\": \"Add any custom fields that exist in your product\",\n                    \"type\": \"string\"\n                  }\n                }\n              }\n            }\n          }\n        }\n      },\n      \"SKUEnum\": {\n        \"description\": \"Enumerated variant/option of a SKU\",\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"description\": \"Unique identifier for a product variant/option\",\n            \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n            \"default\": null\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"Name of the option/variant\",\n            \"example\": \"Royal Blue\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"slug of option/variant in Site URL structure\",\n            \"example\": \"roayl-blue\"\n          }\n        }\n      },\n      \"SKUProperty\": {\n        \"type\": \"object\",\n        \"description\": \"A variant/optiontype for a SKU\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"description\": \"Unique identifier for a collection of product options/variants\",\n            \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n            \"default\": null\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"Nme of the collection of product options/variants\",\n            \"example\": \"Color\"\n          },\n          \"enum\": {\n            \"description\": \"The individual options/varaiants that are contained within the collection\",\n            \"type\": \"array\",\n            \"items\": {\n              \"description\": \"Enumerated variant/option of a SKU\",\n              \"type\": \"object\",\n              \"properties\": {\n                \"id\": {\n                  \"type\": \"string\",\n                  \"description\": \"Unique identifier for a product variant/option\",\n                  \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                  \"default\": null\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"description\": \"Name of the option/variant\",\n                  \"example\": \"Royal Blue\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"description\": \"slug of option/variant in Site URL structure\",\n                  \"example\": \"roayl-blue\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"SKUField\": {\n        \"type\": \"object\",\n        \"description\": \"Fields in your SKU object\",\n        \"required\": true,\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for the SKU\",\n            \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"Slug of the SKU\",\n            \"required\": true,\n            \"default\": \"post-body\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"SKU name\",\n            \"default\": \"Cloak Of Invisibility Color: Obsidian Black\"\n          },\n          \"_archived\": {\n            \"type\": \"boolean\",\n            \"description\": \"item archive status\",\n            \"required\": true,\n            \"default\": false\n          },\n          \"_draft\": {\n            \"type\": \"boolean\",\n            \"description\": \"item draft status\",\n            \"default\": false,\n            \"required\": true\n          },\n          \"price\": {\n            \"type\": \"object\",\n            \"description\": \"price of SKU\",\n            \"required\": true,\n            \"properties\": {\n              \"value\": {\n                \"description\": \"Price of SKU\",\n                \"type\": \"number\",\n                \"default\": 2000,\n                \"required\": true\n              },\n              \"unit\": {\n                \"type\": \"string\",\n                \"description\": \"Currency of Item\",\n                \"default\": \"USD\",\n                \"required\": true\n              }\n            }\n          }\n        },\n        \"additionalProperties\": {\n          \"description\": \"Add any custom fields that exist in your product\",\n          \"type\": \"string\"\n        }\n      },\n      \"ProductField\": {\n        \"description\": \"Fields in your product object\",\n        \"required\": true,\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for the item\",\n            \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"Slug of the item\",\n            \"required\": true,\n            \"default\": \"product-name\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"item name\",\n            \"required\": true,\n            \"default\": \"Product Name\"\n          },\n          \"_archived\": {\n            \"type\": \"boolean\",\n            \"description\": \"item archive status\",\n            \"required\": true,\n            \"default\": false\n          },\n          \"_draft\": {\n            \"type\": \"boolean\",\n            \"description\": \"item draft status\",\n            \"default\": false,\n            \"required\": true\n          },\n          \"sku-properties\": {\n            \"type\": \"array\",\n            \"description\": \"Variant/Options types to include in SKUs\",\n            \"required\": false,\n            \"items\": {\n              \"type\": \"object\",\n              \"description\": \"A variant/optiontype for a SKU\",\n              \"properties\": {\n                \"id\": {\n                  \"type\": \"string\",\n                  \"description\": \"Unique identifier for a collection of product options/variants\",\n                  \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                  \"default\": null\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"description\": \"Nme of the collection of product options/variants\",\n                  \"example\": \"Color\"\n                },\n                \"enum\": {\n                  \"description\": \"The individual options/varaiants that are contained within the collection\",\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"description\": \"Enumerated variant/option of a SKU\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"id\": {\n                        \"type\": \"string\",\n                        \"description\": \"Unique identifier for a product variant/option\",\n                        \"example\": \"ff42fee0113744f693a764e3431a9cc2\",\n                        \"default\": null\n                      },\n                      \"name\": {\n                        \"type\": \"string\",\n                        \"description\": \"Name of the option/variant\",\n                        \"example\": \"Royal Blue\"\n                      },\n                      \"slug\": {\n                        \"type\": \"string\",\n                        \"description\": \"slug of option/variant in Site URL structure\",\n                        \"example\": \"roayl-blue\"\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"additionalProperties\": {\n          \"description\": \"Add any custom fields that exist in your product\",\n          \"type\": \"string\"\n        }\n      },\n      \"Field\": {\n        \"description\": \"Fields in your collection item\",\n        \"required\": [\n          \"slug\",\n          \"name\",\n          \"_archived\",\n          \"_draft\"\n        ],\n        \"example\": {\n          \"value\": {\n            \"name\": \"Exciting blog post title\",\n            \"slug\": \"exciting-post\",\n            \"_archived\": false,\n            \"_draft\": false,\n            \"color\": \"#a98080\",\n            \"author\": \"580e640c8c9a982ac9b8b778\",\n            \"post-body\": \"<p>Blog post contents...</p>\",\n            \"post-summary\": \"Summary of exciting blog post\",\n            \"main-image\": \"580e63fe8c9a982ac9b8b749\"\n          }\n        },\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"readOnly\": true,\n            \"description\": \"Unique identifier for the item\",\n            \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"Slug of the item\",\n            \"default\": \"new-item\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"item name\",\n            \"default\": \"My New Item\"\n          },\n          \"_archived\": {\n            \"type\": \"boolean\",\n            \"description\": \"item archive status\",\n            \"default\": false\n          },\n          \"_draft\": {\n            \"type\": \"boolean\",\n            \"description\": \"item draft status\",\n            \"default\": false\n          }\n        },\n        \"additionalProperties\": {\n          \"description\": \"Add any custom fields that exist in your collection\",\n          \"type\": \"string\"\n        }\n      },\n      \"InnerFieldType\": {\n        \"type\": \"string\",\n        \"example\": \"ExtFileRef\",\n        \"enum\": [\n          \"ExtFileRef\",\n          \"ImageRef\"\n        ],\n        \"description\": \"Inner field types follow the same rules as field types, but are used to describe the type of a “Set” field Array element. They may use slightly different names in the Designer and Editor and have an “alt name” listed here which is the name of the field we publicly display. (For the API however, we only use the actual name of the field type).\\n\\n* `ExtFileRef` - An object containing name (string) and URL (string) properties\\n* `ImageRef` - Unique id for images in CMS\\n\"\n      },\n      \"FieldType\": {\n        \"type\": \"string\",\n        \"example\": \"RichText\",\n        \"enum\": [\n          \"Bool\",\n          \"Color\",\n          \"Date\",\n          \"ExtFileRef\",\n          \"ExtFileRefSet\",\n          \"ImageRef\",\n          \"ImageRefSet\",\n          \"ItemRef\",\n          \"ItemRefSet\",\n          \"Link\",\n          \"Number\",\n          \"Option\",\n          \"PlainText\",\n          \"RichText\",\n          \"Video\",\n          \"User\"\n        ],\n        \"description\": \"* `Bool`        - Yes/no switch used for filtering data that's displayed in your site, ex: `featured`\\n* `Color`       - CSS Color value (ie: `'red'` or `'#e3e3e3'`)\\n* `Date`        - Date field used to display any combination of month, day, year, and time\\n* `ExtFileRef`  - An object containing name (string) and URL (string) properties\\n* `ExtFileRefSet` - Field containing multiple objects for external files\\n* `ImageRef`    - Unique id for images in CMS\\n* `ImageRefSet` - Field containing multiple unique ids for images in CMS\\n* `ItemRef`     - Field containing item referenced from another Collection\\n* `ItemRefSet`  - Field containing multiple items referenced from another Collection\\n* `Link`        - URL field where the value can be used as a link destination for buttons, link text, and link blocks\\n* `Number`      - Single line input field used only for numbers\\n* `Option`      - Dropdown field with multiple options\\n* `PlainText`   - Unformatted text (no images, styles, etc.)\\n* `RichText`    - Formatted text (with headers, hyperlinks, images, etc.)\\n* `Video`       - Video link field used to embed videos from YouTube and Vimeo\\n\"\n      },\n      \"Validation\": {\n        \"description\": \"Each field also may have a validations object which defines all of the validations which have been set for the given field. The “TYPE” column defines the data type of the validations.\\n\",\n        \"example\": {\n          \"value\": {\n            \"singleLine\": false,\n            \"maxLength\": 256,\n            \"messages\": {\n              \"maxLength\": \"Must be less than 256 characters\",\n              \"pattern\": \"Must be alphanumerical and not contain any spaces or special characters\"\n            },\n            \"pattern\": {}\n          }\n        },\n        \"properties\": {\n          \"maxLength\": {\n            \"type\": \"number\"\n          },\n          \"minLength\": {\n            \"type\": \"number\"\n          },\n          \"minimum\": {\n            \"type\": \"number\"\n          },\n          \"maximum\": {\n            \"type\": \"number\"\n          },\n          \"maxSize\": {\n            \"type\": \"number\"\n          },\n          \"decimalPlaces\": {\n            \"type\": \"number\"\n          },\n          \"singleLine\": {\n            \"type\": \"boolean\"\n          },\n          \"options\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"format\": {\n            \"type\": \"string\"\n          },\n          \"precision\": {\n            \"type\": \"number\"\n          },\n          \"allowNegative\": {\n            \"type\": \"boolean\"\n          },\n          \"collectionId\": {\n            \"type\": \"string\"\n          }\n        }\n      },\n      \"CategoryCollection\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"_id\"\n        ],\n        \"example\": {\n          \"_id\": \"5e8402eb8a402e354bd469bc\",\n          \"name\": \"Categories\",\n          \"slug\": \"category\",\n          \"singularName\": \"Category\",\n          \"createdOn\": \"2020-04-01T02:56:43.638Z\",\n          \"lastUpdated\": \"2020-04-01T02:56:43.690Z\",\n          \"fields\": [\n            {\n              \"id\": \"a624247e3528136a36a8b1c5dbdc2632\",\n              \"name\": \"Name\",\n              \"slug\": \"name\",\n              \"type\": \"PlainText\",\n              \"required\": true,\n              \"editable\": true,\n              \"validations\": {\n                \"maxLength\": 256\n              }\n            },\n            {\n              \"id\": \"7c3fbdf76e7f2d6e894878fce6373e4e\",\n              \"name\": \"Slug\",\n              \"slug\": \"slug\",\n              \"type\": \"PlainText\",\n              \"required\": true,\n              \"editable\": true,\n              \"unique\": true,\n              \"validations\": {\n                \"maxLength\": 256,\n                \"pattern\": {},\n                \"messages\": {\n                  \"pattern\": \"Must be alphanumerical and not contain any spaces or special characters\",\n                  \"maxLength\": \"Must be less than 256 characters\"\n                }\n              }\n            },\n            {\n              \"id\": \"924a90e06131260ec1b4cde3fe04c78b\",\n              \"name\": \"Archived\",\n              \"slug\": \"_archived\",\n              \"type\": \"Bool\",\n              \"required\": true,\n              \"editable\": true,\n              \"default\": false\n            },\n            {\n              \"id\": \"e0de891b154790b2b5a7887c96e69673\",\n              \"name\": \"Draft\",\n              \"slug\": \"_draft\",\n              \"type\": \"Bool\",\n              \"required\": true,\n              \"editable\": true,\n              \"default\": false\n            },\n            {\n              \"id\": \"d005eb440992807385b5527d7ac3df43\",\n              \"name\": \"Created On\",\n              \"slug\": \"created-on\",\n              \"type\": \"Date\",\n              \"required\": false,\n              \"editable\": false\n            },\n            {\n              \"id\": \"885952f7145ef136f1e33ee5718a203d\",\n              \"name\": \"Updated On\",\n              \"slug\": \"updated-on\",\n              \"type\": \"Date\",\n              \"required\": false,\n              \"editable\": false\n            },\n            {\n              \"id\": \"54fb5afe9258d9d7eb4e7d105ad4ecf4\",\n              \"name\": \"Published On\",\n              \"slug\": \"published-on\",\n              \"type\": \"Date\",\n              \"required\": false,\n              \"editable\": false\n            },\n            {\n              \"id\": \"42426a9a2fae38908c0f24785fd947ee\",\n              \"name\": \"Created By\",\n              \"slug\": \"created-by\",\n              \"type\": \"User\",\n              \"required\": false,\n              \"editable\": false\n            },\n            {\n              \"id\": \"cb36015872421ae965b88d77ce3bbdaa\",\n              \"name\": \"Updated By\",\n              \"slug\": \"updated-by\",\n              \"type\": \"User\",\n              \"required\": false,\n              \"editable\": false\n            },\n            {\n              \"id\": \"a2741c16493270db634b2b6122dd8ebe\",\n              \"name\": \"Published By\",\n              \"slug\": \"published-by\",\n              \"type\": \"User\",\n              \"required\": false,\n              \"editable\": false\n            }\n          ]\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Unique identifier for collection\",\n            \"example\": \"580e63fc8c9a982ac9b8b745\"\n          },\n          \"lastUpdated\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The date the collection was last updated\",\n            \"example\": \"2016-10-24T19:42:38.929Z\"\n          },\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"The date the collection was create\",\n            \"example\": \"2016-10-24T19:41:48.349Z\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"Name given to Collection\",\n            \"example\": \"Categories\"\n          },\n          \"slug\": {\n            \"type\": \"string\",\n            \"description\": \"Slug of Collection in Site URL structure\",\n            \"example\": \"category\"\n          },\n          \"singularName\": {\n            \"type\": \"string\",\n            \"description\": \"The name of one Item in Collection (e.g. “category” if the Collection is called “Category”)\",\n            \"example\": \"Category\"\n          },\n          \"fields\": {\n            \"type\": \"array\",\n            \"description\": \"The list of fields in the collection\",\n            \"items\": {\n              \"description\": \"Fields in your collection item\",\n              \"required\": [\n                \"slug\",\n                \"name\",\n                \"_archived\",\n                \"_draft\"\n              ],\n              \"example\": {\n                \"value\": {\n                  \"name\": \"Exciting blog post title\",\n                  \"slug\": \"exciting-post\",\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"color\": \"#a98080\",\n                  \"author\": \"580e640c8c9a982ac9b8b778\",\n                  \"post-body\": \"<p>Blog post contents...</p>\",\n                  \"post-summary\": \"Summary of exciting blog post\",\n                  \"main-image\": \"580e63fe8c9a982ac9b8b749\"\n                }\n              },\n              \"properties\": {\n                \"id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"readOnly\": true,\n                  \"description\": \"Unique identifier for the item\",\n                  \"example\": \"7f62a9781291109b9e428fb47239fd35\"\n                },\n                \"slug\": {\n                  \"type\": \"string\",\n                  \"description\": \"Slug of the item\",\n                  \"default\": \"new-item\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"description\": \"item name\",\n                  \"default\": \"My New Item\"\n                },\n                \"_archived\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"item archive status\",\n                  \"default\": false\n                },\n                \"_draft\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"item draft status\",\n                  \"default\": false\n                }\n              },\n              \"additionalProperties\": {\n                \"description\": \"Add any custom fields that exist in your collection\",\n                \"type\": \"string\"\n              }\n            }\n          }\n        }\n      },\n      \"StripeDetails\": {\n        \"description\": \"An object with various Stripe IDs, useful for linking into the stripe dashboard.\",\n        \"example\": {\n          \"refundReason\": null,\n          \"refundId\": null,\n          \"disputeId\": null,\n          \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n          \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n        },\n        \"properties\": {\n          \"refundReason\": {\n            \"type\": \"string\",\n            \"description\": \"Stripe customer ID, or null.\",\n            \"example\": null\n          },\n          \"refundId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Stripe charge ID, or null.\",\n            \"example\": null\n          },\n          \"disputeId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Stripe dispute ID, or null.\",\n            \"example\": null\n          },\n          \"chargeId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"Stripe refund ID, or null.\",\n            \"example\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\"\n          },\n          \"customerId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"cus_E5ajeiWNHEtcAW\"\n          }\n        }\n      },\n      \"StripeCard\": {\n        \"description\": \"Details on the card used to fulfill this order, if this order was finalized with Stripe.\\n\",\n        \"example\": {\n          \"last4\": \"4242\",\n          \"brand\": \"Visa\",\n          \"ownerName\": \"Customerio Namen\",\n          \"expires\": {\n            \"year\": 2023,\n            \"month\": 12\n          }\n        },\n        \"properties\": {\n          \"last4\": {\n            \"type\": \"string\",\n            \"description\": \"The last 4 digits on the card.\",\n            \"example\": \"4242\"\n          },\n          \"brand\": {\n            \"type\": \"string\",\n            \"description\": \"The card’s brand.\",\n            \"example\": \"Visa\",\n            \"enum\": [\n              \"Visa\",\n              \"American Express\",\n              \"MasterCard\",\n              \"Discover\",\n              \"JCB\",\n              \"Diners Club\",\n              \"Unknown\"\n            ]\n          },\n          \"ownerName\": {\n            \"type\": \"string\",\n            \"description\": \"The name on the card.\",\n            \"example\": \"Customerio Namen\"\n          },\n          \"expires\": {\n            \"type\": \"object\",\n            \"description\": \"The card’s expiration date.\",\n            \"properties\": {\n              \"year\": {\n                \"type\": \"number\",\n                \"example\": 2023\n              },\n              \"month\": {\n                \"type\": \"number\",\n                \"example\": 12\n              }\n            }\n          }\n        }\n      },\n      \"OrderAmount\": {\n        \"example\": {\n          \"unit\": \"USD\",\n          \"value\": 5892,\n          \"string\": \"$58.92\"\n        },\n        \"description\": \"The sum of all line items.\",\n        \"properties\": {\n          \"unit\": {\n            \"type\": \"string\",\n            \"example\": \"USD\"\n          },\n          \"value\": {\n            \"type\": \"string\",\n            \"example\": \"6099\"\n          },\n          \"string\": {\n            \"type\": \"string\",\n            \"example\": \"$60.99\"\n          }\n        }\n      },\n      \"OrderAddress\": {\n        \"description\": \"A customer address\",\n        \"example\": {\n          \"type\": \"billing\",\n          \"addressee\": \"Customerio Namen\",\n          \"line1\": \"123 Example Rd\",\n          \"line2\": \"\",\n          \"city\": \"Examplesville\",\n          \"state\": \"CA\",\n          \"country\": \"US\",\n          \"postalCode\": \"90012\"\n        },\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"example\": \"shipping\",\n            \"enum\": [\n              \"shipping\",\n              \"billing\"\n            ]\n          },\n          \"addressee\": {\n            \"type\": \"string\",\n            \"example\": \"Customerio Namen\"\n          },\n          \"line1\": {\n            \"type\": \"string\",\n            \"example\": \"123 Example Rd\"\n          },\n          \"line2\": {\n            \"type\": \"string\",\n            \"example\": null\n          },\n          \"city\": {\n            \"type\": \"string\",\n            \"example\": \"Examplesville\"\n          },\n          \"state\": {\n            \"type\": \"string\",\n            \"example\": \"CA\"\n          },\n          \"country\": {\n            \"type\": \"string\",\n            \"example\": \"US\"\n          },\n          \"postalCode\": {\n            \"type\": \"string\",\n            \"example\": \"90012\"\n          }\n        }\n      },\n      \"OrderCustomerInfo\": {\n        \"example\": {\n          \"fullName\": \"Customerio Namen\",\n          \"email\": \"renning+customer@webflow.com\"\n        },\n        \"description\": \"An object with the keys `fullName` and `email`.\",\n        \"properties\": {\n          \"fullName\": {\n            \"type\": \"string\",\n            \"example\": \"Customerio Namen\"\n          },\n          \"email\": {\n            \"type\": \"string\",\n            \"format\": \"email\",\n            \"example\": \"renning+customer@webflow.com\"\n          }\n        }\n      },\n      \"OrderDownloadedFile\": {\n        \"example\": {\n          \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n          \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n          \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n        },\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"5e9a5eba75e0ac242e1b6f64\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"The modern web design process - Webflow Ebook.pdf\"\n          },\n          \"url\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"example\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n          }\n        }\n      },\n      \"OrderItemImage\": {\n        \"example\": {\n          \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n          \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n        },\n        \"properties\": {\n          \"fileId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"5bfedb42bab0ad90fa7dad2e\"\n          },\n          \"url\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"example\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n          }\n        }\n      },\n      \"OrderPurchasedItem\": {\n        \"example\": {\n          \"count\": 1,\n          \"rowTotal\": {\n            \"unit\": \"USD\",\n            \"value\": 5500,\n            \"string\": \"$55.00\"\n          },\n          \"productId\": \"5eb9fd05caef491eb9757183\",\n          \"productName\": \"White Cup\",\n          \"productSlug\": \"white-cup\",\n          \"variantId\": \"5eb9fcace279761d8199790c\",\n          \"variantName\": \"white-cup_default_sku\",\n          \"variantSlug\": \"white-cup-default-sku\",\n          \"variantImage\": {\n            \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n            \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n          },\n          \"variantPrice\": {\n            \"unit\": \"USD\",\n            \"value\": 5500,\n            \"string\": \"$55.00\"\n          },\n          \"height\": 7,\n          \"length\": 2,\n          \"weight\": 5,\n          \"width\": 4\n        },\n        \"description\": \"An item that was purchased\",\n        \"properties\": {\n          \"count\": {\n            \"type\": \"number\",\n            \"example\": 1,\n            \"description\": \"Number of item purchased.\"\n          },\n          \"rowTotal\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          },\n          \"productId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"5eb9fd05caef491eb9757183\",\n            \"description\": \"String Product Id.\"\n          },\n          \"productName\": {\n            \"type\": \"string\",\n            \"example\": \"White Cup\",\n            \"description\": \"Name of the product.\"\n          },\n          \"productSlug\": {\n            \"type\": \"string\",\n            \"example\": \"white-cup\",\n            \"description\": \"Slug of the product.\"\n          },\n          \"variantId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"5eb9fcace279761d8199790c\",\n            \"description\": \"String Variant Id. (SKU)\"\n          },\n          \"variantName\": {\n            \"type\": \"string\",\n            \"example\": \"white-cup_default_sku\",\n            \"description\": \"Name of the variant. (SKU)\"\n          },\n          \"variantSlug\": {\n            \"type\": \"string\",\n            \"example\": \"white-cup-default-sku\",\n            \"description\": \"Slug of the variant. (SKU)\"\n          },\n          \"variantImage\": {\n            \"example\": {\n              \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n            },\n            \"properties\": {\n              \"fileId\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"example\": \"5bfedb42bab0ad90fa7dad2e\"\n              },\n              \"url\": {\n                \"type\": \"string\",\n                \"format\": \"uri\",\n                \"example\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n              }\n            }\n          },\n          \"variantPrice\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          },\n          \"height\": {\n            \"type\": \"number\",\n            \"example\": 7,\n            \"description\": \"The height of the variant if provided, 0 otherwise.\"\n          },\n          \"length\": {\n            \"type\": \"number\",\n            \"example\": 2,\n            \"description\": \"The length of the variant if provided, 0 otherwise.\"\n          },\n          \"width\": {\n            \"type\": \"number\",\n            \"example\": 4,\n            \"description\": \"The width of the variant if provided, 0 otherwise\"\n          },\n          \"weight\": {\n            \"type\": \"number\",\n            \"example\": 5,\n            \"description\": \"The weight of the variant if provided, 0 otherwise.\"\n          },\n          \"purchasedItemsCount\": {\n            \"type\": \"number\",\n            \"example\": 1,\n            \"description\": \"The sum of all 'count' fields in 'purchasedItems'.\"\n          }\n        }\n      },\n      \"OrderExtra\": {\n        \"description\": \"Extra order items, includes discounts, shipping, and taxes.\",\n        \"example\": {\n          \"type\": \"tax\",\n          \"name\": \"State Taxes\",\n          \"description\": \"CA Taxes (6.25%)\",\n          \"price\": {\n            \"unit\": \"USD\",\n            \"value\": 344,\n            \"string\": \"$3.44\"\n          }\n        },\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"example\": \"tax\",\n            \"description\": \"The type of extra item this is.\",\n            \"enum\": [\n              \"discount\",\n              \"discount-shipping\",\n              \"shipping\",\n              \"tax\"\n            ]\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"shipping\",\n            \"description\": \"A human-readable (but English) name for this extra charge.\"\n          },\n          \"description\": {\n            \"type\": \"string\",\n            \"example\": \"Flat Rate\",\n            \"description\": \"A human-readable (but English) description of this extra charge.\"\n          },\n          \"price\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          }\n        }\n      },\n      \"OrderTotals\": {\n        \"description\": \"An object describing various pricing totals.\",\n        \"example\": {\n          \"subtotal\": {\n            \"unit\": \"USD\",\n            \"value\": 5500,\n            \"string\": \"$55.00\"\n          }\n        },\n        \"properties\": {\n          \"subtotal\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          },\n          \"extras\": {\n            \"type\": \"array\",\n            \"description\": \"An array of extra items, includes discounts, shipping, and taxes.\",\n            \"items\": {\n              \"description\": \"Extra order items, includes discounts, shipping, and taxes.\",\n              \"example\": {\n                \"type\": \"tax\",\n                \"name\": \"State Taxes\",\n                \"description\": \"CA Taxes (6.25%)\",\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 344,\n                  \"string\": \"$3.44\"\n                }\n              },\n              \"properties\": {\n                \"type\": {\n                  \"type\": \"string\",\n                  \"example\": \"tax\",\n                  \"description\": \"The type of extra item this is.\",\n                  \"enum\": [\n                    \"discount\",\n                    \"discount-shipping\",\n                    \"shipping\",\n                    \"tax\"\n                  ]\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"example\": \"shipping\",\n                  \"description\": \"A human-readable (but English) name for this extra charge.\"\n                },\n                \"description\": {\n                  \"type\": \"string\",\n                  \"example\": \"Flat Rate\",\n                  \"description\": \"A human-readable (but English) description of this extra charge.\"\n                },\n                \"price\": {\n                  \"example\": {\n                    \"unit\": \"USD\",\n                    \"value\": 5892,\n                    \"string\": \"$58.92\"\n                  },\n                  \"description\": \"The sum of all line items.\",\n                  \"properties\": {\n                    \"unit\": {\n                      \"type\": \"string\",\n                      \"example\": \"USD\"\n                    },\n                    \"value\": {\n                      \"type\": \"string\",\n                      \"example\": \"6099\"\n                    },\n                    \"string\": {\n                      \"type\": \"string\",\n                      \"example\": \"$60.99\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"total\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          }\n        }\n      },\n      \"Order\": {\n        \"example\": {\n          \"value\": {\n            \"orderId\": \"dfa-3f1\",\n            \"status\": \"unfulfilled\",\n            \"comment\": \"\",\n            \"orderComment\": \"\",\n            \"acceptedOn\": \"2018-12-03T22:06:15.761Z\",\n            \"disputedOn\": null,\n            \"disputeUpdatedOn\": null,\n            \"disputeLastStatus\": null,\n            \"fulfilledOn\": null,\n            \"refundedOn\": null,\n            \"customerPaid\": {\n              \"unit\": \"USD\",\n              \"value\": 6099,\n              \"string\": \"$60.99\"\n            },\n            \"netAmount\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"requiresShipping\": true,\n            \"shippingProvider\": null,\n            \"shippingTracking\": null,\n            \"customerInfo\": {\n              \"fullName\": \"Customerio Namen\",\n              \"email\": \"renning+customer@webflow.com\"\n            },\n            \"allAddresses\": [\n              {\n                \"type\": \"billing\",\n                \"addressee\": \"Customerio Namen\",\n                \"line1\": \"123 Example Rd\",\n                \"line2\": \"\",\n                \"city\": \"Examplesville\",\n                \"state\": \"CA\",\n                \"country\": \"US\",\n                \"postalCode\": \"90012\"\n              },\n              {\n                \"type\": \"shipping\",\n                \"addressee\": \"Customerio Namen\",\n                \"line1\": \"123 Example Rd\",\n                \"line2\": \"\",\n                \"city\": \"Examplesville\",\n                \"state\": \"CA\",\n                \"country\": \"US\",\n                \"postalCode\": \"90012\"\n              }\n            ],\n            \"shippingAddress\": {\n              \"type\": \"shipping\",\n              \"addressee\": \"Customerio Namen\",\n              \"line1\": \"123 Example Rd\",\n              \"line2\": \"\",\n              \"city\": \"Examplesville\",\n              \"state\": \"CA\",\n              \"country\": \"US\",\n              \"postalCode\": \"90012\"\n            },\n            \"billingAddress\": {\n              \"type\": \"billing\",\n              \"addressee\": \"Customerio Namen\",\n              \"line1\": \"123 Example Rd\",\n              \"line2\": \"\",\n              \"city\": \"Examplesville\",\n              \"state\": \"CA\",\n              \"country\": \"US\",\n              \"postalCode\": \"90012\"\n            },\n            \"purchasedItems\": [\n              {\n                \"count\": 1,\n                \"rowTotal\": {\n                  \"unit\": \"USD\",\n                  \"value\": 5500,\n                  \"string\": \"$55.00\"\n                },\n                \"productId\": \"5eb9fd05caef491eb9757183\",\n                \"productName\": \"White Cup\",\n                \"productSlug\": \"white-cup\",\n                \"variantId\": \"5eb9fcace279761d8199790c\",\n                \"variantName\": \"white-cup_default_sku\",\n                \"variantSlug\": \"white-cup-default-sku\",\n                \"variantImage\": {\n                  \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                },\n                \"variantPrice\": {\n                  \"unit\": \"USD\",\n                  \"value\": 5500,\n                  \"string\": \"$55.00\"\n                },\n                \"height\": 7,\n                \"length\": 2,\n                \"weight\": 5,\n                \"width\": 4\n              }\n            ],\n            \"purchasedItemsCount\": 1,\n            \"stripeDetails\": {\n              \"refundReason\": null,\n              \"refundId\": null,\n              \"disputeId\": null,\n              \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n              \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n            },\n            \"stripeCard\": {\n              \"last4\": \"4242\",\n              \"brand\": \"Visa\",\n              \"ownerName\": \"Customerio Namen\",\n              \"expires\": {\n                \"year\": 2023,\n                \"month\": 12\n              }\n            },\n            \"totals\": {\n              \"subtotal\": {\n                \"unit\": \"USD\",\n                \"value\": 5500,\n                \"string\": \"$55.00\"\n              },\n              \"extras\": [\n                {\n                  \"type\": \"tax\",\n                  \"name\": \"State Taxes\",\n                  \"description\": \"CA Taxes (6.25%)\",\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": 344,\n                    \"string\": \"$3.44\"\n                  }\n                },\n                {\n                  \"type\": \"tax\",\n                  \"name\": \"County Taxes\",\n                  \"description\": \"LOS ANGELES Taxes (1.00%)\",\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": 55,\n                    \"string\": \"$0.55\"\n                  }\n                },\n                {\n                  \"type\": \"tax\",\n                  \"name\": \"Special District Taxes\",\n                  \"description\": \"Special District Taxes (2.25%)\",\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": 124,\n                    \"string\": \"$1.24\"\n                  }\n                },\n                {\n                  \"type\": \"shipping\",\n                  \"name\": \"Flat Rate\",\n                  \"description\": \"\",\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": 599,\n                    \"string\": \"$5.99\"\n                  }\n                },\n                {\n                  \"type\": \"discount\",\n                  \"name\": \"Discount (SAVE5)\",\n                  \"description\": \"\",\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": -500,\n                    \"string\": \"-$ 5.00 USD\"\n                  }\n                }\n              ],\n              \"total\": {\n                \"unit\": \"USD\",\n                \"value\": 6122,\n                \"string\": \"$61.22\"\n              }\n            },\n            \"customData\": [\n              {\n                \"textInput\": \"(415) 123-4567\",\n                \"name\": \"Telephone\"\n              },\n              {\n                \"textArea\": \"Happy birthday Mom!\",\n                \"name\": \"Gift note\"\n              },\n              {\n                \"checkbox\": true,\n                \"name\": \"Send as gift\"\n              }\n            ],\n            \"downloadFiles\": [\n              {\n                \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n                \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n              },\n              {\n                \"id\": \"5e9a5eba75e0ac242e1b6f63\",\n                \"name\": \"The freelance web designers guide - Webflow Ebook.pdf\",\n                \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5dd44c493543b37d5449b3cd;5e9a5eba75e0ac242e1b6f63:ka2nehxy:6af5adf7c6fff7a3b0f54404fac1be492ac6f1ed5340416f1fe27c5fd4dd8079\"\n              }\n            ]\n          }\n        },\n        \"properties\": {\n          \"orderId\": {\n            \"type\": \"string\",\n            \"example\": \"dfa-3f1\",\n            \"description\": \"The order id. Will usually be 6 hex characters, but can also be 9 hex characters if the site has a very large number of orders. Randomly assigned.\\n\"\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"example\": \"unfulfilled\",\n            \"description\": \"One of `pending`, `unfulfilled`, `fulfilled`, `disputed`, `dispute-lost`, or `refunded`\\n\",\n            \"enum\": [\n              \"pending\",\n              \"unfulfilled\",\n              \"fulfilled\",\n              \"disputed\",\n              \"dispute-lost\",\n              \"refunded\"\n            ]\n          },\n          \"comment\": {\n            \"type\": \"string\",\n            \"description\": \"A comment string for this order editable by API user (not used by Webflow).\"\n          },\n          \"orderComment\": {\n            \"type\": \"string\",\n            \"description\": \"A comment that the customer left when making their order\"\n          },\n          \"acceptedOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2018-12-03T22:06:15.761Z\",\n            \"description\": \"The ISO8601 timestamp that an order was placed.\"\n          },\n          \"disputedOn\": {\n            \"type\": \"string\",\n            \"example\": \"2018-12-03T22:06:15.761Z\",\n            \"format\": \"date-time\",\n            \"description\": \"If an order was disputed by the customer, then this key will be set with the ISO8601 timestamp that Stripe notifies Webflow. Null if not disputed.\\n\"\n          },\n          \"disputeUpdatedOn\": {\n            \"type\": \"string\",\n            \"example\": \"2018-12-03T22:06:15.761Z\",\n            \"description\": \"If an order was disputed by the customer, then this key will be set with the ISO8601 timestamp of the last time that we got an update. Null if not disputed.\\n\"\n          },\n          \"disputeLastStatus\": {\n            \"type\": \"string\",\n            \"example\": null,\n            \"description\": \"If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).\\n\"\n          },\n          \"fulfilledOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2018-12-03T22:06:15.761Z\",\n            \"description\": \"If an order was marked as 'fulfilled', then this is the ISO8601 timestamp when that happened.\\n\"\n          },\n          \"refundedOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": \"2018-12-03T22:06:15.761Z\",\n            \"description\": \"If an order was refunded, this is the ISO8601 of when that happened.\"\n          },\n          \"customerPaid\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          },\n          \"netAmount\": {\n            \"example\": {\n              \"unit\": \"USD\",\n              \"value\": 5892,\n              \"string\": \"$58.92\"\n            },\n            \"description\": \"The sum of all line items.\",\n            \"properties\": {\n              \"unit\": {\n                \"type\": \"string\",\n                \"example\": \"USD\"\n              },\n              \"value\": {\n                \"type\": \"string\",\n                \"example\": \"6099\"\n              },\n              \"string\": {\n                \"type\": \"string\",\n                \"example\": \"$60.99\"\n              }\n            }\n          },\n          \"requiresShipping\": {\n            \"type\": \"boolean\",\n            \"description\": \"A boolean indicating whether the order contains one or more purchased items that require shipping.\\n\"\n          },\n          \"shippingProvider\": {\n            \"type\": \"string\",\n            \"example\": null,\n            \"description\": \"A string editable by the API user to note the shipping provider used (not used by Webflow).\\n\"\n          },\n          \"shippingTracking\": {\n            \"type\": \"string\",\n            \"description\": \"A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).\\n\"\n          },\n          \"customerInfo\": {\n            \"example\": {\n              \"fullName\": \"Customerio Namen\",\n              \"email\": \"renning+customer@webflow.com\"\n            },\n            \"description\": \"An object with the keys `fullName` and `email`.\",\n            \"properties\": {\n              \"fullName\": {\n                \"type\": \"string\",\n                \"example\": \"Customerio Namen\"\n              },\n              \"email\": {\n                \"type\": \"string\",\n                \"format\": \"email\",\n                \"example\": \"renning+customer@webflow.com\"\n              }\n            }\n          },\n          \"allAddresses\": {\n            \"description\": \"All addresses provided by the customer during the ordering flow.\",\n            \"type\": \"array\",\n            \"items\": {\n              \"description\": \"A customer address\",\n              \"example\": {\n                \"type\": \"billing\",\n                \"addressee\": \"Customerio Namen\",\n                \"line1\": \"123 Example Rd\",\n                \"line2\": \"\",\n                \"city\": \"Examplesville\",\n                \"state\": \"CA\",\n                \"country\": \"US\",\n                \"postalCode\": \"90012\"\n              },\n              \"properties\": {\n                \"type\": {\n                  \"type\": \"string\",\n                  \"example\": \"shipping\",\n                  \"enum\": [\n                    \"shipping\",\n                    \"billing\"\n                  ]\n                },\n                \"addressee\": {\n                  \"type\": \"string\",\n                  \"example\": \"Customerio Namen\"\n                },\n                \"line1\": {\n                  \"type\": \"string\",\n                  \"example\": \"123 Example Rd\"\n                },\n                \"line2\": {\n                  \"type\": \"string\",\n                  \"example\": null\n                },\n                \"city\": {\n                  \"type\": \"string\",\n                  \"example\": \"Examplesville\"\n                },\n                \"state\": {\n                  \"type\": \"string\",\n                  \"example\": \"CA\"\n                },\n                \"country\": {\n                  \"type\": \"string\",\n                  \"example\": \"US\"\n                },\n                \"postalCode\": {\n                  \"type\": \"string\",\n                  \"example\": \"90012\"\n                }\n              }\n            }\n          },\n          \"shippingAddress\": {\n            \"description\": \"A customer address\",\n            \"example\": {\n              \"type\": \"billing\",\n              \"addressee\": \"Customerio Namen\",\n              \"line1\": \"123 Example Rd\",\n              \"line2\": \"\",\n              \"city\": \"Examplesville\",\n              \"state\": \"CA\",\n              \"country\": \"US\",\n              \"postalCode\": \"90012\"\n            },\n            \"properties\": {\n              \"type\": {\n                \"type\": \"string\",\n                \"example\": \"shipping\",\n                \"enum\": [\n                  \"shipping\",\n                  \"billing\"\n                ]\n              },\n              \"addressee\": {\n                \"type\": \"string\",\n                \"example\": \"Customerio Namen\"\n              },\n              \"line1\": {\n                \"type\": \"string\",\n                \"example\": \"123 Example Rd\"\n              },\n              \"line2\": {\n                \"type\": \"string\",\n                \"example\": null\n              },\n              \"city\": {\n                \"type\": \"string\",\n                \"example\": \"Examplesville\"\n              },\n              \"state\": {\n                \"type\": \"string\",\n                \"example\": \"CA\"\n              },\n              \"country\": {\n                \"type\": \"string\",\n                \"example\": \"US\"\n              },\n              \"postalCode\": {\n                \"type\": \"string\",\n                \"example\": \"90012\"\n              }\n            }\n          },\n          \"billingAddress\": {\n            \"description\": \"A customer address\",\n            \"example\": {\n              \"type\": \"billing\",\n              \"addressee\": \"Customerio Namen\",\n              \"line1\": \"123 Example Rd\",\n              \"line2\": \"\",\n              \"city\": \"Examplesville\",\n              \"state\": \"CA\",\n              \"country\": \"US\",\n              \"postalCode\": \"90012\"\n            },\n            \"properties\": {\n              \"type\": {\n                \"type\": \"string\",\n                \"example\": \"shipping\",\n                \"enum\": [\n                  \"shipping\",\n                  \"billing\"\n                ]\n              },\n              \"addressee\": {\n                \"type\": \"string\",\n                \"example\": \"Customerio Namen\"\n              },\n              \"line1\": {\n                \"type\": \"string\",\n                \"example\": \"123 Example Rd\"\n              },\n              \"line2\": {\n                \"type\": \"string\",\n                \"example\": null\n              },\n              \"city\": {\n                \"type\": \"string\",\n                \"example\": \"Examplesville\"\n              },\n              \"state\": {\n                \"type\": \"string\",\n                \"example\": \"CA\"\n              },\n              \"country\": {\n                \"type\": \"string\",\n                \"example\": \"US\"\n              },\n              \"postalCode\": {\n                \"type\": \"string\",\n                \"example\": \"90012\"\n              }\n            }\n          },\n          \"purchasedItems\": {\n            \"type\": \"array\",\n            \"description\": \"An array of all things that the customer purchased.\",\n            \"items\": {\n              \"example\": {\n                \"count\": 1,\n                \"rowTotal\": {\n                  \"unit\": \"USD\",\n                  \"value\": 5500,\n                  \"string\": \"$55.00\"\n                },\n                \"productId\": \"5eb9fd05caef491eb9757183\",\n                \"productName\": \"White Cup\",\n                \"productSlug\": \"white-cup\",\n                \"variantId\": \"5eb9fcace279761d8199790c\",\n                \"variantName\": \"white-cup_default_sku\",\n                \"variantSlug\": \"white-cup-default-sku\",\n                \"variantImage\": {\n                  \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                  \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                },\n                \"variantPrice\": {\n                  \"unit\": \"USD\",\n                  \"value\": 5500,\n                  \"string\": \"$55.00\"\n                },\n                \"height\": 7,\n                \"length\": 2,\n                \"weight\": 5,\n                \"width\": 4\n              },\n              \"description\": \"An item that was purchased\",\n              \"properties\": {\n                \"count\": {\n                  \"type\": \"number\",\n                  \"example\": 1,\n                  \"description\": \"Number of item purchased.\"\n                },\n                \"rowTotal\": {\n                  \"example\": {\n                    \"unit\": \"USD\",\n                    \"value\": 5892,\n                    \"string\": \"$58.92\"\n                  },\n                  \"description\": \"The sum of all line items.\",\n                  \"properties\": {\n                    \"unit\": {\n                      \"type\": \"string\",\n                      \"example\": \"USD\"\n                    },\n                    \"value\": {\n                      \"type\": \"string\",\n                      \"example\": \"6099\"\n                    },\n                    \"string\": {\n                      \"type\": \"string\",\n                      \"example\": \"$60.99\"\n                    }\n                  }\n                },\n                \"productId\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"5eb9fd05caef491eb9757183\",\n                  \"description\": \"String Product Id.\"\n                },\n                \"productName\": {\n                  \"type\": \"string\",\n                  \"example\": \"White Cup\",\n                  \"description\": \"Name of the product.\"\n                },\n                \"productSlug\": {\n                  \"type\": \"string\",\n                  \"example\": \"white-cup\",\n                  \"description\": \"Slug of the product.\"\n                },\n                \"variantId\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"5eb9fcace279761d8199790c\",\n                  \"description\": \"String Variant Id. (SKU)\"\n                },\n                \"variantName\": {\n                  \"type\": \"string\",\n                  \"example\": \"white-cup_default_sku\",\n                  \"description\": \"Name of the variant. (SKU)\"\n                },\n                \"variantSlug\": {\n                  \"type\": \"string\",\n                  \"example\": \"white-cup-default-sku\",\n                  \"description\": \"Slug of the variant. (SKU)\"\n                },\n                \"variantImage\": {\n                  \"example\": {\n                    \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                    \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                  },\n                  \"properties\": {\n                    \"fileId\": {\n                      \"type\": \"string\",\n                      \"format\": \"uuid\",\n                      \"example\": \"5bfedb42bab0ad90fa7dad2e\"\n                    },\n                    \"url\": {\n                      \"type\": \"string\",\n                      \"format\": \"uri\",\n                      \"example\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                    }\n                  }\n                },\n                \"variantPrice\": {\n                  \"example\": {\n                    \"unit\": \"USD\",\n                    \"value\": 5892,\n                    \"string\": \"$58.92\"\n                  },\n                  \"description\": \"The sum of all line items.\",\n                  \"properties\": {\n                    \"unit\": {\n                      \"type\": \"string\",\n                      \"example\": \"USD\"\n                    },\n                    \"value\": {\n                      \"type\": \"string\",\n                      \"example\": \"6099\"\n                    },\n                    \"string\": {\n                      \"type\": \"string\",\n                      \"example\": \"$60.99\"\n                    }\n                  }\n                },\n                \"height\": {\n                  \"type\": \"number\",\n                  \"example\": 7,\n                  \"description\": \"The height of the variant if provided, 0 otherwise.\"\n                },\n                \"length\": {\n                  \"type\": \"number\",\n                  \"example\": 2,\n                  \"description\": \"The length of the variant if provided, 0 otherwise.\"\n                },\n                \"width\": {\n                  \"type\": \"number\",\n                  \"example\": 4,\n                  \"description\": \"The width of the variant if provided, 0 otherwise\"\n                },\n                \"weight\": {\n                  \"type\": \"number\",\n                  \"example\": 5,\n                  \"description\": \"The weight of the variant if provided, 0 otherwise.\"\n                },\n                \"purchasedItemsCount\": {\n                  \"type\": \"number\",\n                  \"example\": 1,\n                  \"description\": \"The sum of all 'count' fields in 'purchasedItems'.\"\n                }\n              }\n            }\n          },\n          \"stripeDetails\": {\n            \"description\": \"An object with various Stripe IDs, useful for linking into the stripe dashboard.\",\n            \"example\": {\n              \"refundReason\": null,\n              \"refundId\": null,\n              \"disputeId\": null,\n              \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n              \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n            },\n            \"properties\": {\n              \"refundReason\": {\n                \"type\": \"string\",\n                \"description\": \"Stripe customer ID, or null.\",\n                \"example\": null\n              },\n              \"refundId\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"description\": \"Stripe charge ID, or null.\",\n                \"example\": null\n              },\n              \"disputeId\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"description\": \"Stripe dispute ID, or null.\",\n                \"example\": null\n              },\n              \"chargeId\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"description\": \"Stripe refund ID, or null.\",\n                \"example\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\"\n              },\n              \"customerId\": {\n                \"type\": \"string\",\n                \"format\": \"uuid\",\n                \"example\": \"cus_E5ajeiWNHEtcAW\"\n              }\n            }\n          },\n          \"stripeCard\": {\n            \"description\": \"Details on the card used to fulfill this order, if this order was finalized with Stripe.\\n\",\n            \"example\": {\n              \"last4\": \"4242\",\n              \"brand\": \"Visa\",\n              \"ownerName\": \"Customerio Namen\",\n              \"expires\": {\n                \"year\": 2023,\n                \"month\": 12\n              }\n            },\n            \"properties\": {\n              \"last4\": {\n                \"type\": \"string\",\n                \"description\": \"The last 4 digits on the card.\",\n                \"example\": \"4242\"\n              },\n              \"brand\": {\n                \"type\": \"string\",\n                \"description\": \"The card’s brand.\",\n                \"example\": \"Visa\",\n                \"enum\": [\n                  \"Visa\",\n                  \"American Express\",\n                  \"MasterCard\",\n                  \"Discover\",\n                  \"JCB\",\n                  \"Diners Club\",\n                  \"Unknown\"\n                ]\n              },\n              \"ownerName\": {\n                \"type\": \"string\",\n                \"description\": \"The name on the card.\",\n                \"example\": \"Customerio Namen\"\n              },\n              \"expires\": {\n                \"type\": \"object\",\n                \"description\": \"The card’s expiration date.\",\n                \"properties\": {\n                  \"year\": {\n                    \"type\": \"number\",\n                    \"example\": 2023\n                  },\n                  \"month\": {\n                    \"type\": \"number\",\n                    \"example\": 12\n                  }\n                }\n              }\n            }\n          },\n          \"totals\": {\n            \"description\": \"An object describing various pricing totals.\",\n            \"example\": {\n              \"subtotal\": {\n                \"unit\": \"USD\",\n                \"value\": 5500,\n                \"string\": \"$55.00\"\n              }\n            },\n            \"properties\": {\n              \"subtotal\": {\n                \"example\": {\n                  \"unit\": \"USD\",\n                  \"value\": 5892,\n                  \"string\": \"$58.92\"\n                },\n                \"description\": \"The sum of all line items.\",\n                \"properties\": {\n                  \"unit\": {\n                    \"type\": \"string\",\n                    \"example\": \"USD\"\n                  },\n                  \"value\": {\n                    \"type\": \"string\",\n                    \"example\": \"6099\"\n                  },\n                  \"string\": {\n                    \"type\": \"string\",\n                    \"example\": \"$60.99\"\n                  }\n                }\n              },\n              \"extras\": {\n                \"type\": \"array\",\n                \"description\": \"An array of extra items, includes discounts, shipping, and taxes.\",\n                \"items\": {\n                  \"description\": \"Extra order items, includes discounts, shipping, and taxes.\",\n                  \"example\": {\n                    \"type\": \"tax\",\n                    \"name\": \"State Taxes\",\n                    \"description\": \"CA Taxes (6.25%)\",\n                    \"price\": {\n                      \"unit\": \"USD\",\n                      \"value\": 344,\n                      \"string\": \"$3.44\"\n                    }\n                  },\n                  \"properties\": {\n                    \"type\": {\n                      \"type\": \"string\",\n                      \"example\": \"tax\",\n                      \"description\": \"The type of extra item this is.\",\n                      \"enum\": [\n                        \"discount\",\n                        \"discount-shipping\",\n                        \"shipping\",\n                        \"tax\"\n                      ]\n                    },\n                    \"name\": {\n                      \"type\": \"string\",\n                      \"example\": \"shipping\",\n                      \"description\": \"A human-readable (but English) name for this extra charge.\"\n                    },\n                    \"description\": {\n                      \"type\": \"string\",\n                      \"example\": \"Flat Rate\",\n                      \"description\": \"A human-readable (but English) description of this extra charge.\"\n                    },\n                    \"price\": {\n                      \"example\": {\n                        \"unit\": \"USD\",\n                        \"value\": 5892,\n                        \"string\": \"$58.92\"\n                      },\n                      \"description\": \"The sum of all line items.\",\n                      \"properties\": {\n                        \"unit\": {\n                          \"type\": \"string\",\n                          \"example\": \"USD\"\n                        },\n                        \"value\": {\n                          \"type\": \"string\",\n                          \"example\": \"6099\"\n                        },\n                        \"string\": {\n                          \"type\": \"string\",\n                          \"example\": \"$60.99\"\n                        }\n                      }\n                    }\n                  }\n                }\n              },\n              \"total\": {\n                \"example\": {\n                  \"unit\": \"USD\",\n                  \"value\": 5892,\n                  \"string\": \"$58.92\"\n                },\n                \"description\": \"The sum of all line items.\",\n                \"properties\": {\n                  \"unit\": {\n                    \"type\": \"string\",\n                    \"example\": \"USD\"\n                  },\n                  \"value\": {\n                    \"type\": \"string\",\n                    \"example\": \"6099\"\n                  },\n                  \"string\": {\n                    \"type\": \"string\",\n                    \"example\": \"$60.99\"\n                  }\n                }\n              }\n            }\n          },\n          \"customData\": {\n            \"type\": \"array\",\n            \"description\": \"An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.\\n\",\n            \"items\": {\n              \"type\": \"object\"\n            }\n          },\n          \"downloadFiles\": {\n            \"description\": \"An array of downloadable file objects.\",\n            \"type\": \"array\",\n            \"items\": {\n              \"example\": {\n                \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n                \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n              },\n              \"properties\": {\n                \"id\": {\n                  \"type\": \"string\",\n                  \"format\": \"uuid\",\n                  \"example\": \"5e9a5eba75e0ac242e1b6f64\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"example\": \"The modern web design process - Webflow Ebook.pdf\"\n                },\n                \"url\": {\n                  \"type\": \"string\",\n                  \"format\": \"uri\",\n                  \"example\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"InventoryItem\": {\n        \"description\": \"The availabile inventory for an item\",\n        \"example\": {\n          \"_id\": \"5bfedb42bab0ad90fa7dad39\",\n          \"quantity\": 83,\n          \"inventoryType\": \"finite\"\n        },\n        \"properties\": {\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"5bfedb42bab0ad90fa7dad39\",\n            \"description\": \"Unique identifier for a SKU item\"\n          },\n          \"quantity\": {\n            \"type\": \"number\",\n            \"example\": 100,\n            \"description\": \"Total quantity of items remaining in inventory (if finite)\"\n          },\n          \"inventoryType\": {\n            \"type\": \"string\",\n            \"example\": \"finite\",\n            \"description\": \"infinite or finite\",\n            \"enum\": [\n              \"infinite\",\n              \"finite\"\n            ]\n          }\n        }\n      },\n      \"EcommerceSettings\": {\n        \"description\": \"Ecommerce settings for a site.\",\n        \"example\": {\n          \"value\": {\n            \"createdOn\": \"2019-02-21T18:41:47.312Z\",\n            \"site\": \"62f3b1f7eafbc45d0c64ef93\",\n            \"defaultCurrency\": \"USD\"\n          }\n        },\n        \"properties\": {\n          \"createdOn\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"description\": \"Date that the site was created on\",\n            \"example\": \"2018-10-04T15:21:02.042Z\"\n          },\n          \"site\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"The id of the site being queried\",\n            \"example\": \"5eb0b5583bf24e2d3a488969\"\n          },\n          \"defaultCurrency\": {\n            \"type\": \"string\",\n            \"description\": \"The three-letter currency code of the site\",\n            \"example\": \"USD\"\n          }\n        }\n      },\n      \"TriggerType\": {\n        \"type\": \"string\",\n        \"example\": \"form_submission\",\n        \"description\": \"* `form_submission` - Sends the [form_submission](#form_submission) event\\n* `site_publish` - Sends a [site_publish](#site_publish) event\\n* `page_created` - Send the [page_created](#page_created) event\\n* `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event\\n  \\n* `page_deleted` - Sends the [page_deleted](#page_deleted) event\\n* `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event\\n* `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event\\n* `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event\\n* `memberships_user_account_added` - Sends the [memberships_user_account_added](#memberships_user_account_added) event\\n* `memberships_user_account_updated` - Sends the [memberships_user_account_updated](#memberships_user_account_updated) event\\n* `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event\\n* `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event\\n* `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event\\n* `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event\\n\",\n        \"enum\": [\n          \"form_submission\",\n          \"site_publish\",\n          \"page_created\",\n          \"page_metadata_updated\",\n          \"page_deleted\",\n          \"ecomm_new_order\",\n          \"ecomm_order_changed\",\n          \"ecomm_inventory_changed\",\n          \"memberships_user_account_added\",\n          \"memberships_user_account_updated\",\n          \"collection_item_created\",\n          \"collection_item_changed\",\n          \"collection_item_deleted\",\n          \"collection_item_unpublished\"\n        ]\n      },\n      \"SitePublish\": {\n        \"properties\": {\n          \"site\": {\n            \"description\": \"The site id that was published\",\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"example\": \"62749158efef318abc8d5a0f\"\n          },\n          \"publishTime\": {\n            \"description\": \"The timestamp of the publish event\",\n            \"type\": \"string\",\n            \"format\": \"date-time\",\n            \"example\": 1653619272801\n          },\n          \"domains\": {\n            \"description\": \"The domains that were published\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"example\": [\n              \"my-website.webflow.io\"\n            ]\n          },\n          \"publishedBy\": {\n            \"type\": \"object\",\n            \"description\": \"The name and id of the user who published the site\"\n          }\n        },\n        \"example\": {\n          \"site\": \"62749158efef318abc8d5a0f\",\n          \"publishTime\": 1653619272801,\n          \"domains\": [\n            \"my-website.webflow.io\"\n          ],\n          \"publishedBy\": {\n            \"name\": \"Some One\",\n            \"id\": \"123460a7b6c16def4527122d\"\n          }\n        }\n      },\n      \"FormSubmission\": {\n        \"properties\": {\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The name of the form\",\n            \"example\": \"Sample Form\"\n          },\n          \"site\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"The id of the site that the form was submitted from\",\n            \"example\": \"62749158efef318abc8d5a0f\"\n          },\n          \"data\": {\n            \"type\": \"object\",\n            \"description\": \"The data submitted in the form\",\n            \"example\": {\n              \"name\": \"Some One\",\n              \"email\": \"some.one@home.com\"\n            }\n          },\n          \"d\": {\n            \"type\": \"string\",\n            \"description\": \"The timestamp the form was submitted\",\n            \"example\": \"2022-09-14T12:35:16.117Z\"\n          },\n          \"_id\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"The id of the form submission\",\n            \"example\": \"6321ca84df3949bfc6752327\"\n          }\n        },\n        \"example\": {\n          \"name\": \"Sample Form\",\n          \"site\": \"62749158efef318abc8d5a0f\",\n          \"data\": {\n            \"name\": \"Some One\",\n            \"email\": \"some.one@home.com\"\n          },\n          \"d\": \"2022-09-14T12:35:16.117Z\",\n          \"_id\": \"6321ca84df3949bfc6752327\"\n        }\n      },\n      \"CollectionItemRemoved\": {\n        \"properties\": {\n          \"deleted\": {\n            \"type\": \"number\",\n            \"description\": \"The number of items deleted\",\n            \"example\": 1\n          },\n          \"itemId\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n            \"description\": \"The id of the collection item that was deleted\",\n            \"example\": \"6321ca84df3949bfc6752327\"\n          }\n        },\n        \"example\": {\n          \"deleted\": 1,\n          \"itemId\": \"6321ca84df3949bfc6752327\"\n        }\n      },\n      \"Error\": {\n        \"example\": {\n          \"msg\": \"Cannot access resource\",\n          \"code\": 401,\n          \"name\": \"Unauthorized\",\n          \"path\": \"/sites/invalid_site\",\n          \"err\": \"Unauthorized: Cannot access resource\"\n        },\n        \"properties\": {\n          \"code\": {\n            \"type\": \"number\",\n            \"description\": \"HTTP error code\",\n            \"example\": 401\n          },\n          \"msg\": {\n            \"type\": \"string\",\n            \"description\": \"Error message\",\n            \"example\": \"Cannot access resource\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"Name of error\",\n            \"example\": \"Unauthorized\"\n          },\n          \"path\": {\n            \"type\": \"string\",\n            \"description\": \"Path of request resulting in error\",\n            \"example\": \"/sites/invalid_site\"\n          },\n          \"err\": {\n            \"type\": \"string\",\n            \"description\": \"Full error string\",\n            \"example\": \"Unauthorized: Cannot access resource\"\n          },\n          \"problems\": {\n            \"type\": \"array\",\n            \"description\": \"Array of errors (commonly on ValidationErrors)\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          }\n        }\n      }\n    },\n    \"examples\": {\n      \"CustomCode\": {\n        \"value\": {\n          \"code\": \"<script src=\\\"https://cdnjs.com/webflow-app\\\"></script>\",\n          \"createdOn\": \"2022-12-07T16:51:37.571Z\",\n          \"lastUpdated\": \"2022-12-07T16:51:37.571Z\"\n        }\n      },\n      \"PageList\": {\n        \"value\": {\n          \"pagination\": {\n            \"limit\": 20,\n            \"offset\": 0,\n            \"total\": 2\n          },\n          \"pages\": [\n            {\n              \"id\": \"6390c49774a71f0e3c1a08ee\",\n              \"siteId\": \"6390c49674a71f84b51a08d8\",\n              \"title\": \"Blog Categories Template\",\n              \"slug\": \"detail_blog-category\",\n              \"pageType\": \"dynamic\",\n              \"collectionId\": \"6390c49774a71f12831a08e3\",\n              \"createdOn\": \"2018-10-14T21:55:49.063Z\",\n              \"lastUpdated\": \"2022-12-07T16:51:37.571Z\",\n              \"archived\": false,\n              \"draft\": false,\n              \"canBranch\": true,\n              \"isMembersOnly\": false,\n              \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n              \"seoDesc\": \"This Webflow template offers a quick start into an ecommerce / memberships site\",\n              \"openGraph\": {\n                \"title\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n                \"titleCopied\": true,\n                \"description\": \"This Webflow template offers a quick start into an ecommerce / memberships site\",\n                \"descriptionCopied\": true\n              }\n            },\n            {\n              \"id\": \"6390c49774a71f99f21a08eb\",\n              \"siteId\": \"6390c49674a71f84b51a08d8\",\n              \"title\": \"Blog\",\n              \"slug\": \"blog\",\n              \"pageType\": \"static\",\n              \"collectionId\": null,\n              \"createdOn\": \"2018-10-12T17:56:16.411Z\",\n              \"lastUpdated\": \"2022-12-07T16:57:16.406Z\",\n              \"archived\": false,\n              \"draft\": false,\n              \"canBranch\": true,\n              \"isMembersOnly\": false,\n              \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n              \"seoDesc\": null,\n              \"openGraph\": {\n                \"title\": \"null,\",\n                \"titleCopied\": \"true,\",\n                \"description\": \"null,\",\n                \"descriptionCopied\": true\n              }\n            }\n          ]\n        }\n      },\n      \"Page\": {\n        \"value\": {\n          \"id\": \"6390c49774a71f0e3c1a08ee\",\n          \"siteId\": \"6390c49674a71f84b51a08d8\",\n          \"title\": \"Blog Categories Template\",\n          \"slug\": \"detail_blog-category\",\n          \"pageType\": \"dynamic\",\n          \"collectionId\": \"6390c49774a71f12831a08e3\",\n          \"createdOn\": \"2018-10-14T21:55:49.063Z\",\n          \"lastUpdated\": \"2022-12-07T16:51:37.571Z\",\n          \"archived\": false,\n          \"draft\": false,\n          \"canBranch\": true,\n          \"isMembersOnly\": false,\n          \"seoTitle\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n          \"seoDesc\": \"This Webflow template offers a quick start into an e-commerce / memberships site\",\n          \"openGraph\": {\n            \"title\": \"CoffeeStyle eCommerce - Webflow HTML website template\",\n            \"titleCopied\": true,\n            \"description\": \"This Webflow template offers a quick start into an e-commerce / memberships site\",\n            \"descriptionCopied\": true\n          }\n        }\n      },\n      \"Webhook\": {\n        \"value\": {\n          \"id\": \"582266e0cd48de0f0e3c6d8b\",\n          \"triggerType\": \"form_submission\",\n          \"siteId\": \"562ac0395358780a1f5e6fbd\",\n          \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n          \"createdOn\": \"2022-11-08T23:59:28.572Z\",\n          \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n          \"filter\": null,\n          \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n        }\n      },\n      \"WebhookList\": {\n        \"value\": {\n          \"pagination\": {\n            \"limit\": 20,\n            \"offset\": 0,\n            \"total\": 3\n          },\n          \"webhooks\": [\n            {\n              \"id\": \"57ca0a9e418c504a6e1acbb6\",\n              \"triggerType\": \"form_submission\",\n              \"siteId\": \"562ac0395358780a1f5e6fbd\",\n              \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n              \"filter\": {\n                \"name\": \"Email Form\"\n              },\n              \"createdOn\": \"2016-09-02T23:26:22.241Z\",\n              \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n              \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n            },\n            {\n              \"id\": \"578d85cce0c47cd2865f4cf2\",\n              \"triggerType\": \"form_submission\",\n              \"siteId\": \"562ac0395358780a1f5e6fbd\",\n              \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n              \"filter\": {\n                \"name\": \"Email Form\"\n              },\n              \"createdOn\": \"2016-07-19T01:43:40.585Z\",\n              \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n              \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n            },\n            {\n              \"id\": \"578d85cce0c47cd2865f4cf3\",\n              \"triggerType\": \"form_submission\",\n              \"siteId\": \"562ac0395358780a1f5e6fbd\",\n              \"workspaceId\": \"4f4e46fd476ea8c507000001\",\n              \"filter\": {\n                \"name\": \"Email Form\"\n              },\n              \"createdOn\": \"2016-07-19T01:43:40.605Z\",\n              \"lastTriggered\": \"2023-02-08T23:59:28.572Z\",\n              \"url\": \"https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f\"\n            }\n          ]\n        }\n      },\n      \"Site\": {\n        \"value\": {\n          \"id\": \"580e63e98c9a982ac9b8b741\",\n          \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n          \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n          \"displayName\": \"api_docs_sample_json\",\n          \"shortName\": \"api-docs-sample-json\",\n          \"lastPublished\": \"2016-10-24T19:43:17.271Z\",\n          \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png\",\n          \"timeZone\": \"America/Los_Angeles\"\n        }\n      },\n      \"Sites\": {\n        \"value\": [\n          {\n            \"id\": \"580e63e98c9a982ac9b8b741\",\n            \"workspaceId\": \"580e63fc8c9a982ac9b8b744\",\n            \"createdOn\": \"2016-10-24T19:41:29.156Z\",\n            \"displayName\": \"api_docs_sample_json\",\n            \"shortName\": \"api-docs-sample-json\",\n            \"lastPublished\": \"2016-10-24T23:06:51.251Z\",\n            \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241603.png\",\n            \"timeZone\": \"America/Los_Angeles\"\n          },\n          {\n            \"id\": \"580ff8c3ba3e45ba9fe588bb\",\n            \"workspaceId\": \"580ff8c3ba3e45ba9fe588bf\",\n            \"createdOn\": \"2016-10-26T00:28:54.191Z\",\n            \"displayName\": \"Copy of api_docs_sample_json\",\n            \"shortName\": \"api-docs-sample-json-086c6538f9b0583762\",\n            \"lastPublished\": \"2022-10-26T00:28:54.191Z\",\n            \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241603.png\",\n            \"timeZone\": \"America/Los_Angeles\"\n          },\n          {\n            \"id\": \"580ff8d7ba3e45ba9fe588e9\",\n            \"workspaceId\": \"580ff8d7ba3e45ba9fe588ed\",\n            \"createdOn\": \"2016-10-26T00:29:13.634Z\",\n            \"displayName\": \"Copy of api_docs_sample_json\",\n            \"shortName\": \"api-docs-sample-json-ce077aa6c5cd3e0177\",\n            \"lastPublished\": \"2022-10-26T00:28:54.191Z\",\n            \"previewUrl\": \"https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241603.png\",\n            \"timeZone\": \"America/Los_Angeles\"\n          }\n        ]\n      },\n      \"AuthorizedUser\": {\n        \"value\": {\n          \"user\": {\n            \"_id\": \"545bbecb7bdd6769632504a7\",\n            \"email\": \"some@email.com\",\n            \"firstName\": \"Some\",\n            \"lastName\": \"One\"\n          }\n        }\n      },\n      \"Authorization\": {\n        \"value\": {\n          \"_id\": \"55818d58616600637b9a5786\",\n          \"createdOn\": \"2016-10-03T23:12:00.755Z\",\n          \"grantType\": \"authorization_code\",\n          \"lastUsed\": \"2016-10-10T21:41:12.736Z\",\n          \"sites\": [\n            \"62f3b1f7eafac55d0c64ef91\"\n          ],\n          \"orgs\": [\n            \"551ad253f0a9c0686f71ed08\"\n          ],\n          \"workspaces\": [],\n          \"users\": [\n            \"545bbecb7bdd6769632504a7\"\n          ],\n          \"rateLimit\": 60,\n          \"status\": \"confirmed\",\n          \"application\": {\n            \"_id\": \"55131cd036c09f7d07883dfc\",\n            \"description\": \"OAuth Testing Application\",\n            \"homepage\": \"https://webflow.com\",\n            \"name\": \"Test App\",\n            \"owner\": \"545bbecb7bdd6769632504a7\",\n            \"ownerType\": \"Person\"\n          }\n        }\n      },\n      \"Domains\": {\n        \"value\": [\n          {\n            \"_id\": \"589a331aa51e760df7ccb89d\",\n            \"name\": \"test-api-domain.com\"\n          },\n          {\n            \"_id\": \"589a331aa51e760df7ccb89e\",\n            \"name\": \"www.test-api-domain.com\"\n          }\n        ]\n      },\n      \"Collections\": {\n        \"value\": [\n          {\n            \"_id\": \"580e63fc8c9a982ac9b8b745\",\n            \"lastUpdated\": \"2016-10-24T19:42:38.929Z\",\n            \"createdOn\": \"2016-10-24T19:41:48.349Z\",\n            \"name\": \"Blog Posts\",\n            \"slug\": \"post\",\n            \"singularName\": \"Blog Post\"\n          },\n          {\n            \"_id\": \"580e64088c9a982ac9b8b766\",\n            \"lastUpdated\": \"2016-10-24T19:42:00.799Z\",\n            \"createdOn\": \"2016-10-24T19:42:00.777Z\",\n            \"name\": \"Authors\",\n            \"slug\": \"author\",\n            \"singularName\": \"Author\"\n          }\n        ]\n      },\n      \"Collection\": {\n        \"value\": {\n          \"_id\": \"580e63fc8c9a982ac9b8b745\",\n          \"lastUpdated\": \"2016-10-24T19:42:38.929Z\",\n          \"createdOn\": \"2016-10-24T19:41:48.349Z\",\n          \"name\": \"Blog Posts\",\n          \"slug\": \"post\",\n          \"singularName\": \"Blog Post\",\n          \"fields\": [\n            {\n              \"id\": \"7f62a9781291109b9e428fb47239fd35\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"RichText\",\n              \"slug\": \"post-body\",\n              \"name\": \"Post Body\"\n            },\n            {\n              \"validations\": {\n                \"singleLine\": false\n              },\n              \"id\": \"ac4ffead755a78c710c44042f528b073\",\n              \"helpText\": \"A summary of the blog post that appears on blog post grid\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"PlainText\",\n              \"slug\": \"post-summary\",\n              \"name\": \"Post Summary\"\n            },\n            {\n              \"id\": \"ba1cfbdaa6b38b8e95e9b5063da8a5bd\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"ImageRef\",\n              \"slug\": \"main-image\",\n              \"name\": \"Main Image\"\n            },\n            {\n              \"id\": \"a8c6ea29b08cc5b5ef966908fa1deae2\",\n              \"helpText\": \"Smaller version of main image that is used on blog post grid\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"ImageRef\",\n              \"slug\": \"thumbnail-image\",\n              \"name\": \"Thumbnail image\"\n            },\n            {\n              \"id\": \"87e79a644a6fb5729940ec24e0012f01\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"Set\",\n              \"innerType\": \"ImageRef\",\n              \"slug\": \"picture-gallery\",\n              \"name\": \"Picture Gallery\"\n            },\n            {\n              \"id\": \"1e54974d97181032d3206ea021668e5f\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"Bool\",\n              \"slug\": \"featured\",\n              \"name\": \"Featured?\"\n            },\n            {\n              \"id\": \"648463cbc042ab079c2b99430a398ae5\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"Color\",\n              \"slug\": \"color\",\n              \"name\": \"Color\"\n            },\n            {\n              \"validations\": {\n                \"collectionId\": \"580e64088c9a982ac9b8b766\"\n              },\n              \"id\": \"ea9067c48edee510de71fe503fa2fb51\",\n              \"editable\": true,\n              \"required\": false,\n              \"type\": \"ItemRef\",\n              \"slug\": \"author\",\n              \"name\": \"Author\"\n            },\n            {\n              \"validations\": {\n                \"maxLength\": 256\n              },\n              \"id\": \"60c0667e27b6d5a6daedec3a641265f6\",\n              \"editable\": true,\n              \"required\": true,\n              \"type\": \"PlainText\",\n              \"slug\": \"name\",\n              \"name\": \"Name\"\n            },\n            {\n              \"validations\": {\n                \"messages\": {\n                  \"maxLength\": \"Must be less than 256 characters\",\n                  \"pattern\": \"Must be alphanumerical and not contain any spaces or special characters\"\n                },\n                \"pattern\": {},\n                \"maxLength\": 256\n              },\n              \"id\": \"8f0c953df91d10b767d66e1d7d00d631\",\n              \"unique\": true,\n              \"editable\": true,\n              \"required\": true,\n              \"type\": \"PlainText\",\n              \"slug\": \"slug\",\n              \"name\": \"Slug\"\n            },\n            {\n              \"default\": false,\n              \"id\": \"e4e92e700d70faffac6fa82ff2bfaece\",\n              \"editable\": true,\n              \"required\": true,\n              \"type\": \"Bool\",\n              \"slug\": \"_archived\",\n              \"name\": \"Archived\"\n            },\n            {\n              \"default\": false,\n              \"id\": \"f2675b2ac4fcef746b24d4a320887ef8\",\n              \"editable\": true,\n              \"required\": true,\n              \"type\": \"Bool\",\n              \"slug\": \"_draft\",\n              \"name\": \"Draft\"\n            },\n            {\n              \"id\": \"0913a35d92208bdf8fbf3ed1e39b771e\",\n              \"editable\": false,\n              \"required\": false,\n              \"type\": \"Date\",\n              \"slug\": \"created-on\",\n              \"name\": \"Created On\"\n            },\n            {\n              \"id\": \"3de04889465fe6d718e47b152ef5bb4d\",\n              \"editable\": false,\n              \"required\": false,\n              \"type\": \"Date\",\n              \"slug\": \"updated-on\",\n              \"name\": \"Updated On\"\n            },\n            {\n              \"id\": \"2a3cd866d5dbb294896130b233218626\",\n              \"editable\": false,\n              \"required\": false,\n              \"type\": \"Date\",\n              \"slug\": \"published-on\",\n              \"name\": \"Published On\"\n            },\n            {\n              \"id\": \"62c18561b9e89517751c6d8712d48f91\",\n              \"editable\": false,\n              \"required\": false,\n              \"type\": \"User\",\n              \"slug\": \"created-by\",\n              \"name\": \"Created By\"\n            },\n            {\n              \"id\": \"50918093b4e4d4eca1e83c25bcdc06a4\",\n              \"editable\": false,\n              \"required\": false,\n              \"type\": \"User\",\n              \"slug\": \"updated-by\",\n              \"name\": \"Updated By\"\n            },\n            {\n              \"id\": \"5c4587f18b32ef245daeaadfcba7860b\",\n              \"editable\": false,\n              \"required\": false,\n              \"type\": \"User\",\n              \"slug\": \"published-by\",\n              \"name\": \"Published By\"\n            }\n          ]\n        }\n      },\n      \"CollectionItemList\": {\n        \"value\": {\n          \"items\": [\n            {\n              \"_archived\": false,\n              \"_draft\": false,\n              \"color\": \"#a98080\",\n              \"name\": \"Exciting blog post title\",\n              \"post-body\": \"<p>Blog post contents...</p>\",\n              \"post-summary\": \"Summary of exciting blog post\",\n              \"main-image\": {\n                \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n              },\n              \"slug\": \"exciting-post\",\n              \"author\": \"580e640c8c9a982ac9b8b778\",\n              \"updated-on\": \"2016-11-15T22:45:32.647Z\",\n              \"updated-by\": \"Person_5660c5338e9d3b0bee3b86aa\",\n              \"created-on\": \"2016-11-15T22:45:32.647Z\",\n              \"created-by\": \"Person_5660c5338e9d3b0bee3b86aa\",\n              \"published-on\": null,\n              \"published-by\": null,\n              \"_cid\": \"580e63fc8c9a982ac9b8b745\",\n              \"_id\": \"582b900cba19143b2bb8a759\"\n            }\n          ],\n          \"count\": 1,\n          \"limit\": 1,\n          \"offset\": 0,\n          \"total\": 5\n        }\n      },\n      \"CollectionItem\": {\n        \"value\": {\n          \"_archived\": false,\n          \"_draft\": false,\n          \"color\": \"#a98080\",\n          \"name\": \"Exciting blog post title\",\n          \"post-body\": \"<p>Blog post contents...</p>\",\n          \"post-summary\": \"Summary of exciting blog post\",\n          \"main-image\": {\n            \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n            \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n          },\n          \"slug\": \"exciting-post\",\n          \"author\": \"580e640c8c9a982ac9b8b778\"\n        }\n      },\n      \"PublishedItems\": {\n        \"value\": {\n          \"publishedItemIds\": [\n            \"62aa37923cf7a9de1ca4469c\",\n            \"62aa37923cf7a9de1ca44697\",\n            \"62aa37923cf7a9de1ca44696\"\n          ],\n          \"errors\": []\n        }\n      },\n      \"RemovedItems\": {\n        \"value\": {\n          \"deletedItemIds\": [\n            \"62aa37923cf7a9de1ca4469c\",\n            \"62aa37923cf7a9de1ca44697\",\n            \"62aa37923cf7a9de1ca44696\"\n          ],\n          \"errors\": []\n        }\n      },\n      \"User\": {\n        \"value\": {\n          \"_id\": \"6287ec36a841b25637c663df\",\n          \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n          \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n          \"emailVerified\": true,\n          \"status\": \"verified\",\n          \"data\": {\n            \"accept-privacy\": false,\n            \"accept-communications\": false,\n            \"email\": \"Some.One@home.com\",\n            \"name\": \"Some One\"\n          }\n        }\n      },\n      \"UserList\": {\n        \"value\": {\n          \"users\": [\n            {\n              \"_id\": \"6287ec36a841b25637c663df\",\n              \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n              \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n              \"emailVerified\": false,\n              \"status\": \"unverified\",\n              \"data\": {\n                \"accept-privacy\": false,\n                \"accept-communications\": false,\n                \"email\": \"Person.One@home.com\",\n                \"name\": \"Person One\"\n              }\n            },\n            {\n              \"_id\": \"6287ec36a841b25637c663f0\",\n              \"createdOn\": \"2022-05-19T05:32:04.581Z\",\n              \"updatedOn\": \"2022-05-19T05:32:04.581Z\",\n              \"emailVerified\": false,\n              \"status\": \"unverified\",\n              \"data\": {\n                \"accept-privacy\": false,\n                \"accept-communications\": false,\n                \"email\": \"Person.Two@home.com\",\n                \"name\": \"Person Two\"\n              }\n            },\n            {\n              \"_id\": \"6287ec36a841b25637c663d9\",\n              \"createdOn\": \"2022-05-17T03:34:06.720Z\",\n              \"updatedOn\": \"2022-05-17T03:34:06.720Z\",\n              \"emailVerified\": true,\n              \"status\": \"verified\",\n              \"data\": {\n                \"accept-privacy\": false,\n                \"accept-communications\": false,\n                \"email\": \"Person.Three@home.com\",\n                \"name\": \"Person Three\"\n              }\n            },\n            {\n              \"_id\": \"6287ec37a841b25637c6641b\",\n              \"createdOn\": \"2022-05-15T03:46:09.748Z\",\n              \"updatedOn\": \"2022-05-15T03:46:09.748Z\",\n              \"emailVerified\": false,\n              \"status\": \"unverified\",\n              \"data\": {\n                \"accept-privacy\": false,\n                \"accept-communications\": false,\n                \"email\": \"Person.Four@home.com\",\n                \"name\": \"Person Four\"\n              }\n            },\n            {\n              \"_id\": \"6287ec37a841b25637c66449\",\n              \"createdOn\": \"2022-05-15T02:55:38.786Z\",\n              \"updatedOn\": \"2022-05-15T02:55:38.786Z\",\n              \"emailVerified\": true,\n              \"status\": \"verified\",\n              \"data\": {\n                \"accept-privacy\": false,\n                \"accept-communications\": false,\n                \"email\": \"Person.Five@home.com\",\n                \"name\": \"Person Five\"\n              }\n            }\n          ],\n          \"count\": 5,\n          \"limit\": 5,\n          \"offset\": 0,\n          \"total\": 201\n        }\n      },\n      \"AccessGroupList\": {\n        \"value\": {\n          \"accessGroups\": [\n            {\n              \"_id\": \"62be58d404be8a6cc900c081\",\n              \"name\": \"Webflowers\",\n              \"shortId\": \"jo\",\n              \"slug\": \"webflowers\",\n              \"createdOn\": \"2022-08-01T19:41:48.349Z\"\n            }\n          ],\n          \"count\": 1,\n          \"limit\": 10,\n          \"offset\": 0,\n          \"total\": 1\n        }\n      },\n      \"Product\": {\n        \"value\": {\n          \"fields\": {\n            \"shippable\": true,\n            \"_archived\": false,\n            \"_draft\": false,\n            \"name\": \"Cloak Of Invisibility\",\n            \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n            \"sku-properties\": [\n              {\n                \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                \"name\": \"Color\",\n                \"enum\": [\n                  {\n                    \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                    \"name\": \"Obsidian Black\",\n                    \"slug\": \"obsidian-black\"\n                  },\n                  {\n                    \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                    \"name\": \"Smoke Grey\",\n                    \"slug\": \"smoke-grey\"\n                  },\n                  {\n                    \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                    \"name\": \"Forest Green\",\n                    \"slug\": \"forest-green\"\n                  }\n                ]\n              }\n            ],\n            \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n            \"slug\": \"cloak-of-invisibility-1\",\n            \"published-on\": null,\n            \"published-by\": null,\n            \"default-sku\": \"5e8518536e147040726cc416\"\n          }\n        }\n      },\n      \"ProductList\": {\n        \"value\": {\n          \"items\": [\n            {\n              \"product\": {\n                \"shippable\": true,\n                \"_archived\": false,\n                \"_draft\": false,\n                \"name\": \"Cloak Of Invisibility\",\n                \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                \"sku-properties\": [\n                  {\n                    \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                    \"name\": \"Color\",\n                    \"enum\": [\n                      {\n                        \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                        \"name\": \"Obsidian Black\",\n                        \"slug\": \"obsidian-black\"\n                      },\n                      {\n                        \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                        \"name\": \"Smoke Grey\",\n                        \"slug\": \"smoke-grey\"\n                      },\n                      {\n                        \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                        \"name\": \"Forest Green\",\n                        \"slug\": \"forest-green\"\n                      }\n                    ]\n                  }\n                ],\n                \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                \"slug\": \"cloak-of-invisibility-1\",\n                \"updated-on\": \"2020-04-01T22:40:19.329Z\",\n                \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"created-on\": \"2020-04-01T22:40:17.602Z\",\n                \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"published-on\": null,\n                \"published-by\": null,\n                \"default-sku\": \"5e8518536e147040726cc416\",\n                \"_cid\": \"5dd44c493543b37d5449b3a5\",\n                \"_id\": \"5e8518516e147040726cc415\"\n              },\n              \"skus\": [\n                {\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": 120000\n                  },\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"sku-values\": {},\n                  \"width\": 56,\n                  \"length\": 0.3,\n                  \"height\": 72,\n                  \"weight\": 24,\n                  \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n                  \"main-image\": {\n                    \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                    \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                    \"alt\": null\n                  },\n                  \"more-images\": [\n                    {\n                      \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                      \"alt\": null\n                    },\n                    {\n                      \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                      \"alt\": null\n                    }\n                  ],\n                  \"download-files\": [\n                    {\n                      \"id\": \"5ebb1676c3244c2c6ae18814\",\n                      \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                      \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                    }\n                  ],\n                  \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n                  \"product\": \"5e8518516e147040726cc415\",\n                  \"updated-on\": \"2020-04-01T22:40:19.287Z\",\n                  \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"created-on\": \"2020-04-01T22:40:19.287Z\",\n                  \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"published-on\": null,\n                  \"published-by\": null,\n                  \"_cid\": \"5dd44c493543b37d5449b383\",\n                  \"_id\": \"5e8518536e147040726cc416\"\n                }\n              ]\n            }\n          ],\n          \"count\": 1,\n          \"limit\": 100,\n          \"offset\": 0,\n          \"total\": 12\n        }\n      },\n      \"ProductSKU\": {\n        \"value\": {\n          \"product\": {\n            \"shippable\": true,\n            \"_archived\": false,\n            \"_draft\": false,\n            \"name\": \"Cloak Of Invisibility\",\n            \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n            \"sku-properties\": [\n              {\n                \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                \"name\": \"Color\",\n                \"enum\": [\n                  {\n                    \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                    \"name\": \"Obsidian Black\",\n                    \"slug\": \"obsidian-black\"\n                  },\n                  {\n                    \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                    \"name\": \"Smoke Grey\",\n                    \"slug\": \"smoke-grey\"\n                  },\n                  {\n                    \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                    \"name\": \"Forest Green\",\n                    \"slug\": \"forest-green\"\n                  }\n                ]\n              }\n            ],\n            \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n            \"slug\": \"cloak-of-invisibility-1\",\n            \"default-sku\": \"5e8518536e147040726cc416\"\n          },\n          \"sku\": {\n            \"price\": {\n              \"unit\": \"USD\",\n              \"value\": 120000\n            },\n            \"_archived\": false,\n            \"_draft\": false,\n            \"sku-values\": {},\n            \"width\": 56,\n            \"length\": 0.3,\n            \"height\": 72,\n            \"weight\": 24,\n            \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n            \"main-image\": {\n              \"fileId\": \"5e85161dabd9ea4072cf1414\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n              \"alt\": null\n            },\n            \"more-images\": [\n              {\n                \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                \"alt\": null\n              },\n              {\n                \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                \"alt\": null\n              }\n            ],\n            \"download-files\": [\n              {\n                \"id\": \"5ebb1676c3244c2c6ae18814\",\n                \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n              }\n            ],\n            \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n            \"product\": \"5e8518516e147040726cc415\",\n            \"updated-on\": \"2020-04-01T22:40:19.287Z\",\n            \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n            \"created-on\": \"2020-04-01T22:40:19.287Z\",\n            \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n            \"published-on\": null,\n            \"published-by\": null,\n            \"_cid\": \"5dd44c493543b37d5449b383\",\n            \"_id\": \"5e8518536e147040726cc416\"\n          }\n        }\n      },\n      \"ProductSKUList\": {\n        \"value\": {\n          \"items\": [\n            {\n              \"product\": {\n                \"shippable\": true,\n                \"_archived\": false,\n                \"_draft\": false,\n                \"name\": \"Cloak Of Invisibility\",\n                \"ec-product-type\": \"ff42fee0113744f693a764e3431a9cc2\",\n                \"sku-properties\": [\n                  {\n                    \"id\": \"a37a7991f7ca1be0d349a805a2bddb5b\",\n                    \"name\": \"Color\",\n                    \"enum\": [\n                      {\n                        \"id\": \"a9506da8e70a8b087f35a4094ec34a53\",\n                        \"name\": \"Obsidian Black\",\n                        \"slug\": \"obsidian-black\"\n                      },\n                      {\n                        \"id\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\",\n                        \"name\": \"Smoke Grey\",\n                        \"slug\": \"smoke-grey\"\n                      },\n                      {\n                        \"id\": \"ef9511c0b56cc11ff47c5669f65030b4\",\n                        \"name\": \"Forest Green\",\n                        \"slug\": \"forest-green\"\n                      }\n                    ]\n                  }\n                ],\n                \"description\": \"A cloak that renders the wearer invisible to the eye.\",\n                \"slug\": \"cloak-of-invisibility-1\",\n                \"updated-on\": \"2020-04-01T22:40:19.329Z\",\n                \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"created-on\": \"2020-04-01T22:40:17.602Z\",\n                \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                \"published-on\": null,\n                \"published-by\": null,\n                \"default-sku\": \"5e8518536e147040726cc416\",\n                \"_cid\": \"5dd44c493543b37d5449b3a5\",\n                \"_id\": \"5e8518516e147040726cc415\"\n              },\n              \"skus\": [\n                {\n                  \"price\": {\n                    \"unit\": \"USD\",\n                    \"value\": 120000\n                  },\n                  \"_archived\": false,\n                  \"_draft\": false,\n                  \"sku-values\": {},\n                  \"width\": 56,\n                  \"length\": 0.3,\n                  \"height\": 72,\n                  \"weight\": 24,\n                  \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n                  \"main-image\": {\n                    \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                    \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                    \"alt\": null\n                  },\n                  \"more-images\": [\n                    {\n                      \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                      \"alt\": null\n                    },\n                    {\n                      \"fileId\": \"5e85161dabd9ea4072cf1414\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n                      \"alt\": null\n                    }\n                  ],\n                  \"download-files\": [\n                    {\n                      \"id\": \"5ebb1676c3244c2c6ae18814\",\n                      \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                      \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                    }\n                  ],\n                  \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n                  \"product\": \"5e8518516e147040726cc415\",\n                  \"updated-on\": \"2020-04-01T22:40:19.287Z\",\n                  \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"created-on\": \"2020-04-01T22:40:19.287Z\",\n                  \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n                  \"published-on\": null,\n                  \"published-by\": null,\n                  \"_cid\": \"5dd44c493543b37d5449b383\",\n                  \"_id\": \"5e8518536e147040726cc416\"\n                }\n              ]\n            }\n          ],\n          \"count\": 1,\n          \"limit\": 100,\n          \"offset\": 0,\n          \"total\": 12\n        }\n      },\n      \"SKU\": {\n        \"value\": {\n          \"price\": {\n            \"unit\": \"USD\",\n            \"value\": 120000\n          },\n          \"_archived\": false,\n          \"_draft\": false,\n          \"sku-values\": {},\n          \"width\": 56,\n          \"length\": 0.3,\n          \"height\": 72,\n          \"weight\": 24,\n          \"name\": \"Cloak Of Invisibility Color: Obsidian Black\",\n          \"main-image\": {\n            \"fileId\": \"5e85161dabd9ea4072cf1414\",\n            \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n            \"alt\": null\n          },\n          \"more-images\": [\n            {\n              \"fileId\": \"5e85161dabd9ea4072cf1414\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n              \"alt\": null\n            },\n            {\n              \"fileId\": \"5e85161dabd9ea4072cf1414\",\n              \"url\": \"https://d1otoma47x30pg.cloudfront.net/5d93ba5e38c6b0160ab711d6/5e85161dabd9ea4072cf1414_5e8512181ae993035b15f315_external-content.duckduckgo.com.jpeg\",\n              \"alt\": null\n            }\n          ],\n          \"download-files\": [\n            {\n              \"id\": \"5ebb1676c3244c2c6ae18814\",\n              \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n              \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n            }\n          ],\n          \"slug\": \"cloak-of-invisibility-color-obsidian-black-7\",\n          \"product\": \"5e8518516e147040726cc415\"\n        }\n      },\n      \"SKUList\": {\n        \"value\": {\n          \"skus\": [\n            {\n              \"slug\": \"cloak-of-invisibility-color-smoke-grey\",\n              \"_archived\": false,\n              \"_draft\": false,\n              \"price\": {\n                \"unit\": \"USD\",\n                \"value\": 120000\n              },\n              \"more-images\": [],\n              \"download-files\": [\n                {\n                  \"id\": \"5ebb1945c3244c2c6ae18822\",\n                  \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                  \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                }\n              ],\n              \"sku-values\": {\n                \"a37a7991f7ca1be0d349a805a2bddb5b\": \"c92a465a1298c95fd1cd7f4c1c96c2ba\"\n              },\n              \"width\": 56,\n              \"length\": 0.3,\n              \"height\": 72,\n              \"weight\": 24,\n              \"name\": \"Cloak Of Invisibility Color: Smoke Grey\",\n              \"main-image\": {\n                \"fileId\": \"5e8512181ae993035b15f315\",\n                \"file\": {\n                  \"_id\": \"5e8512181ae993035b15f315\",\n                  \"variants\": [\n                    {\n                      \"_id\": \"5e85121b1ae993035b15f316\",\n                      \"origFileName\": \"external-content.duckduckgo.com-p-500.jpeg\",\n                      \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\",\n                      \"format\": \"jpeg\",\n                      \"size\": 54068,\n                      \"width\": 500,\n                      \"quality\": 100,\n                      \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\"\n                    }\n                  ],\n                  \"origFileName\": \"invisibility_cloak.jpg\",\n                  \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                  \"fileHash\": \"860b1b99ce90aa6c175bfcd9fd59fd42\",\n                  \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                  \"mimeType\": \"image/jpeg\",\n                  \"size\": 192263,\n                  \"width\": 550,\n                  \"height\": 550,\n                  \"database\": \"5e8402eb8a402e354bd469bb\",\n                  \"createdOn\": \"2020-04-01T22:13:44.889Z\",\n                  \"__v\": 1,\n                  \"updatedOn\": \"2020-04-01T22:13:59.777Z\"\n                },\n                \"fileSize\": 192263,\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                \"alt\": null\n              },\n              \"product\": \"5e8518516e147040726cc415\",\n              \"updated-on\": \"2020-04-03T18:50:45.947Z\",\n              \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n              \"created-on\": \"2020-04-03T18:50:45.947Z\",\n              \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n              \"published-on\": null,\n              \"published-by\": null,\n              \"_cid\": \"5e8402eb8a402e354bd469be\",\n              \"_id\": \"5e8785855617d73f34627a93\"\n            },\n            {\n              \"_archived\": false,\n              \"_draft\": false,\n              \"price\": {\n                \"unit\": \"USD\",\n                \"value\": 120000\n              },\n              \"more-images\": [],\n              \"download-files\": [\n                {\n                  \"id\": \"5ebb1945c3244c2c6ae18823\",\n                  \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                  \"url\": \"https://dropbox.com/files/modern-web-design-process.pdf\"\n                }\n              ],\n              \"sku-values\": {\n                \"a37a7991f7ca1be0d349a805a2bddb5b\": \"ef9511c0b56cc11ff47c5669f65030b4\"\n              },\n              \"width\": 56,\n              \"length\": 0.3,\n              \"height\": 72,\n              \"weight\": 24,\n              \"name\": \"Cloak Of Invisibility Color: Forest Green\",\n              \"main-image\": {\n                \"fileId\": \"5e8512181ae993035b15f315\",\n                \"file\": {\n                  \"_id\": \"5e8512181ae993035b15f315\",\n                  \"variants\": [\n                    {\n                      \"_id\": \"5e85121b1ae993035b15f316\",\n                      \"origFileName\": \"external-content.duckduckgo.com-p-500.jpeg\",\n                      \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\",\n                      \"format\": \"jpeg\",\n                      \"size\": 54068,\n                      \"width\": 500,\n                      \"quality\": 100,\n                      \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com-p-500.jpeg\"\n                    }\n                  ],\n                  \"origFileName\": \"invisibility_cloak.jpg\",\n                  \"fileName\": \"5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                  \"fileHash\": \"860b1b99ce90aa6c175bfcd9fd59fd42\",\n                  \"s3Url\": \"https://s3.amazonaws.com/webflow-dev-assets/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                  \"mimeType\": \"image/jpeg\",\n                  \"size\": 192263,\n                  \"width\": 550,\n                  \"height\": 550,\n                  \"database\": \"5e8402eb8a402e354bd469bb\",\n                  \"createdOn\": \"2020-04-01T22:13:44.889Z\",\n                  \"__v\": 1,\n                  \"updatedOn\": \"2020-04-01T22:13:59.777Z\"\n                },\n                \"fileSize\": 192263,\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/5e8402eb8a402e354bd469bb/5e8512181ae993035b15f315_external-content.duckduckgo.com.jpg\",\n                \"alt\": null\n              },\n              \"slug\": \"cloak-of-invisibility-color-forest-green\",\n              \"product\": \"5e8518516e147040726cc415\",\n              \"updated-on\": \"2020-04-03T18:50:45.949Z\",\n              \"updated-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n              \"created-on\": \"2020-04-03T18:50:45.949Z\",\n              \"created-by\": \"Person_5d8fcb6d94dd1853060fb3b3\",\n              \"published-on\": null,\n              \"published-by\": null,\n              \"_cid\": \"5e8402eb8a402e354bd469be\",\n              \"_id\": \"5e8785855617d73f34627a94\"\n            }\n          ]\n        }\n      },\n      \"EcommerceSettings\": {\n        \"value\": {\n          \"createdOn\": \"2019-02-21T18:41:47.312Z\",\n          \"site\": \"62f3b1f7eafbc45d0c64ef93\",\n          \"defaultCurrency\": \"USD\"\n        }\n      },\n      \"Field\": {\n        \"value\": {\n          \"name\": \"Exciting blog post title\",\n          \"slug\": \"exciting-post\",\n          \"_archived\": false,\n          \"_draft\": false,\n          \"color\": \"#a98080\",\n          \"author\": \"580e640c8c9a982ac9b8b778\",\n          \"post-body\": \"<p>Blog post contents...</p>\",\n          \"post-summary\": \"Summary of exciting blog post\",\n          \"main-image\": \"580e63fe8c9a982ac9b8b749\"\n        }\n      },\n      \"Validation\": {\n        \"value\": {\n          \"singleLine\": false,\n          \"maxLength\": 256,\n          \"messages\": {\n            \"maxLength\": \"Must be less than 256 characters\",\n            \"pattern\": \"Must be alphanumerical and not contain any spaces or special characters\"\n          },\n          \"pattern\": {}\n        }\n      },\n      \"Order\": {\n        \"value\": {\n          \"orderId\": \"dfa-3f1\",\n          \"status\": \"unfulfilled\",\n          \"comment\": \"\",\n          \"orderComment\": \"\",\n          \"acceptedOn\": \"2018-12-03T22:06:15.761Z\",\n          \"disputedOn\": null,\n          \"disputeUpdatedOn\": null,\n          \"disputeLastStatus\": null,\n          \"fulfilledOn\": null,\n          \"refundedOn\": null,\n          \"customerPaid\": {\n            \"unit\": \"USD\",\n            \"value\": 6099,\n            \"string\": \"$60.99\"\n          },\n          \"netAmount\": {\n            \"unit\": \"USD\",\n            \"value\": 5892,\n            \"string\": \"$58.92\"\n          },\n          \"requiresShipping\": true,\n          \"shippingProvider\": null,\n          \"shippingTracking\": null,\n          \"customerInfo\": {\n            \"fullName\": \"Customerio Namen\",\n            \"email\": \"renning+customer@webflow.com\"\n          },\n          \"allAddresses\": [\n            {\n              \"type\": \"billing\",\n              \"addressee\": \"Customerio Namen\",\n              \"line1\": \"123 Example Rd\",\n              \"line2\": \"\",\n              \"city\": \"Examplesville\",\n              \"state\": \"CA\",\n              \"country\": \"US\",\n              \"postalCode\": \"90012\"\n            },\n            {\n              \"type\": \"shipping\",\n              \"addressee\": \"Customerio Namen\",\n              \"line1\": \"123 Example Rd\",\n              \"line2\": \"\",\n              \"city\": \"Examplesville\",\n              \"state\": \"CA\",\n              \"country\": \"US\",\n              \"postalCode\": \"90012\"\n            }\n          ],\n          \"shippingAddress\": {\n            \"type\": \"shipping\",\n            \"addressee\": \"Customerio Namen\",\n            \"line1\": \"123 Example Rd\",\n            \"line2\": \"\",\n            \"city\": \"Examplesville\",\n            \"state\": \"CA\",\n            \"country\": \"US\",\n            \"postalCode\": \"90012\"\n          },\n          \"billingAddress\": {\n            \"type\": \"billing\",\n            \"addressee\": \"Customerio Namen\",\n            \"line1\": \"123 Example Rd\",\n            \"line2\": \"\",\n            \"city\": \"Examplesville\",\n            \"state\": \"CA\",\n            \"country\": \"US\",\n            \"postalCode\": \"90012\"\n          },\n          \"purchasedItems\": [\n            {\n              \"count\": 1,\n              \"rowTotal\": {\n                \"unit\": \"USD\",\n                \"value\": 5500,\n                \"string\": \"$55.00\"\n              },\n              \"productId\": \"5eb9fd05caef491eb9757183\",\n              \"productName\": \"White Cup\",\n              \"productSlug\": \"white-cup\",\n              \"variantId\": \"5eb9fcace279761d8199790c\",\n              \"variantName\": \"white-cup_default_sku\",\n              \"variantSlug\": \"white-cup-default-sku\",\n              \"variantImage\": {\n                \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n              },\n              \"variantPrice\": {\n                \"unit\": \"USD\",\n                \"value\": 5500,\n                \"string\": \"$55.00\"\n              },\n              \"height\": 7,\n              \"length\": 2,\n              \"weight\": 5,\n              \"width\": 4\n            }\n          ],\n          \"purchasedItemsCount\": 1,\n          \"stripeDetails\": {\n            \"refundReason\": null,\n            \"refundId\": null,\n            \"disputeId\": null,\n            \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n            \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n          },\n          \"stripeCard\": {\n            \"last4\": \"4242\",\n            \"brand\": \"Visa\",\n            \"ownerName\": \"Customerio Namen\",\n            \"expires\": {\n              \"year\": 2023,\n              \"month\": 12\n            }\n          },\n          \"totals\": {\n            \"subtotal\": {\n              \"unit\": \"USD\",\n              \"value\": 5500,\n              \"string\": \"$55.00\"\n            },\n            \"extras\": [\n              {\n                \"type\": \"tax\",\n                \"name\": \"State Taxes\",\n                \"description\": \"CA Taxes (6.25%)\",\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 344,\n                  \"string\": \"$3.44\"\n                }\n              },\n              {\n                \"type\": \"tax\",\n                \"name\": \"County Taxes\",\n                \"description\": \"LOS ANGELES Taxes (1.00%)\",\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 55,\n                  \"string\": \"$0.55\"\n                }\n              },\n              {\n                \"type\": \"tax\",\n                \"name\": \"Special District Taxes\",\n                \"description\": \"Special District Taxes (2.25%)\",\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 124,\n                  \"string\": \"$1.24\"\n                }\n              },\n              {\n                \"type\": \"shipping\",\n                \"name\": \"Flat Rate\",\n                \"description\": \"\",\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": 599,\n                  \"string\": \"$5.99\"\n                }\n              },\n              {\n                \"type\": \"discount\",\n                \"name\": \"Discount (SAVE5)\",\n                \"description\": \"\",\n                \"price\": {\n                  \"unit\": \"USD\",\n                  \"value\": -500,\n                  \"string\": \"-$ 5.00 USD\"\n                }\n              }\n            ],\n            \"total\": {\n              \"unit\": \"USD\",\n              \"value\": 6122,\n              \"string\": \"$61.22\"\n            }\n          },\n          \"customData\": [\n            {\n              \"textInput\": \"(415) 123-4567\",\n              \"name\": \"Telephone\"\n            },\n            {\n              \"textArea\": \"Happy birthday Mom!\",\n              \"name\": \"Gift note\"\n            },\n            {\n              \"checkbox\": true,\n              \"name\": \"Send as gift\"\n            }\n          ],\n          \"downloadFiles\": [\n            {\n              \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n              \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n              \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n            },\n            {\n              \"id\": \"5e9a5eba75e0ac242e1b6f63\",\n              \"name\": \"The freelance web designers guide - Webflow Ebook.pdf\",\n              \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5dd44c493543b37d5449b3cd;5e9a5eba75e0ac242e1b6f63:ka2nehxy:6af5adf7c6fff7a3b0f54404fac1be492ac6f1ed5340416f1fe27c5fd4dd8079\"\n            }\n          ]\n        }\n      }\n    }\n  },\n  \"webhooks\": {\n    \"form_submission\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The form data submitted\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"name\": {\n                    \"type\": \"string\",\n                    \"description\": \"The name of the form\",\n                    \"example\": \"Sample Form\"\n                  },\n                  \"site\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"description\": \"The id of the site that the form was submitted from\",\n                    \"example\": \"62749158efef318abc8d5a0f\"\n                  },\n                  \"data\": {\n                    \"type\": \"object\",\n                    \"description\": \"The data submitted in the form\",\n                    \"example\": {\n                      \"name\": \"Some One\",\n                      \"email\": \"some.one@home.com\"\n                    }\n                  },\n                  \"d\": {\n                    \"type\": \"string\",\n                    \"description\": \"The timestamp the form was submitted\",\n                    \"example\": \"2022-09-14T12:35:16.117Z\"\n                  },\n                  \"_id\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"description\": \"The id of the form submission\",\n                    \"example\": \"6321ca84df3949bfc6752327\"\n                  }\n                },\n                \"example\": {\n                  \"name\": \"Sample Form\",\n                  \"site\": \"62749158efef318abc8d5a0f\",\n                  \"data\": {\n                    \"name\": \"Some One\",\n                    \"email\": \"some.one@home.com\"\n                  },\n                  \"d\": \"2022-09-14T12:35:16.117Z\",\n                  \"_id\": \"6321ca84df3949bfc6752327\"\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"site_publish\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the site(s) published\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"site\": {\n                    \"description\": \"The site id that was published\",\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"62749158efef318abc8d5a0f\"\n                  },\n                  \"publishTime\": {\n                    \"description\": \"The timestamp of the publish event\",\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": 1653619272801\n                  },\n                  \"domains\": {\n                    \"description\": \"The domains that were published\",\n                    \"type\": \"array\",\n                    \"items\": {\n                      \"type\": \"string\"\n                    },\n                    \"example\": [\n                      \"my-website.webflow.io\"\n                    ]\n                  },\n                  \"publishedBy\": {\n                    \"type\": \"object\",\n                    \"description\": \"The name and id of the user who published the site\"\n                  }\n                },\n                \"example\": {\n                  \"site\": \"62749158efef318abc8d5a0f\",\n                  \"publishTime\": 1653619272801,\n                  \"domains\": [\n                    \"my-website.webflow.io\"\n                  ],\n                  \"publishedBy\": {\n                    \"name\": \"Some One\",\n                    \"id\": \"123460a7b6c16def4527122d\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"ecomm_new_order\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the new order\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"example\": {\n                  \"value\": {\n                    \"orderId\": \"dfa-3f1\",\n                    \"status\": \"unfulfilled\",\n                    \"comment\": \"\",\n                    \"orderComment\": \"\",\n                    \"acceptedOn\": \"2018-12-03T22:06:15.761Z\",\n                    \"disputedOn\": null,\n                    \"disputeUpdatedOn\": null,\n                    \"disputeLastStatus\": null,\n                    \"fulfilledOn\": null,\n                    \"refundedOn\": null,\n                    \"customerPaid\": {\n                      \"unit\": \"USD\",\n                      \"value\": 6099,\n                      \"string\": \"$60.99\"\n                    },\n                    \"netAmount\": {\n                      \"unit\": \"USD\",\n                      \"value\": 5892,\n                      \"string\": \"$58.92\"\n                    },\n                    \"requiresShipping\": true,\n                    \"shippingProvider\": null,\n                    \"shippingTracking\": null,\n                    \"customerInfo\": {\n                      \"fullName\": \"Customerio Namen\",\n                      \"email\": \"renning+customer@webflow.com\"\n                    },\n                    \"allAddresses\": [\n                      {\n                        \"type\": \"billing\",\n                        \"addressee\": \"Customerio Namen\",\n                        \"line1\": \"123 Example Rd\",\n                        \"line2\": \"\",\n                        \"city\": \"Examplesville\",\n                        \"state\": \"CA\",\n                        \"country\": \"US\",\n                        \"postalCode\": \"90012\"\n                      },\n                      {\n                        \"type\": \"shipping\",\n                        \"addressee\": \"Customerio Namen\",\n                        \"line1\": \"123 Example Rd\",\n                        \"line2\": \"\",\n                        \"city\": \"Examplesville\",\n                        \"state\": \"CA\",\n                        \"country\": \"US\",\n                        \"postalCode\": \"90012\"\n                      }\n                    ],\n                    \"shippingAddress\": {\n                      \"type\": \"shipping\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"billingAddress\": {\n                      \"type\": \"billing\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"purchasedItems\": [\n                      {\n                        \"count\": 1,\n                        \"rowTotal\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"productId\": \"5eb9fd05caef491eb9757183\",\n                        \"productName\": \"White Cup\",\n                        \"productSlug\": \"white-cup\",\n                        \"variantId\": \"5eb9fcace279761d8199790c\",\n                        \"variantName\": \"white-cup_default_sku\",\n                        \"variantSlug\": \"white-cup-default-sku\",\n                        \"variantImage\": {\n                          \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                          \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                        },\n                        \"variantPrice\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"height\": 7,\n                        \"length\": 2,\n                        \"weight\": 5,\n                        \"width\": 4\n                      }\n                    ],\n                    \"purchasedItemsCount\": 1,\n                    \"stripeDetails\": {\n                      \"refundReason\": null,\n                      \"refundId\": null,\n                      \"disputeId\": null,\n                      \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n                      \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n                    },\n                    \"stripeCard\": {\n                      \"last4\": \"4242\",\n                      \"brand\": \"Visa\",\n                      \"ownerName\": \"Customerio Namen\",\n                      \"expires\": {\n                        \"year\": 2023,\n                        \"month\": 12\n                      }\n                    },\n                    \"totals\": {\n                      \"subtotal\": {\n                        \"unit\": \"USD\",\n                        \"value\": 5500,\n                        \"string\": \"$55.00\"\n                      },\n                      \"extras\": [\n                        {\n                          \"type\": \"tax\",\n                          \"name\": \"State Taxes\",\n                          \"description\": \"CA Taxes (6.25%)\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 344,\n                            \"string\": \"$3.44\"\n                          }\n                        },\n                        {\n                          \"type\": \"tax\",\n                          \"name\": \"County Taxes\",\n                          \"description\": \"LOS ANGELES Taxes (1.00%)\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 55,\n                            \"string\": \"$0.55\"\n                          }\n                        },\n                        {\n                          \"type\": \"tax\",\n                          \"name\": \"Special District Taxes\",\n                          \"description\": \"Special District Taxes (2.25%)\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 124,\n                            \"string\": \"$1.24\"\n                          }\n                        },\n                        {\n                          \"type\": \"shipping\",\n                          \"name\": \"Flat Rate\",\n                          \"description\": \"\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 599,\n                            \"string\": \"$5.99\"\n                          }\n                        },\n                        {\n                          \"type\": \"discount\",\n                          \"name\": \"Discount (SAVE5)\",\n                          \"description\": \"\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": -500,\n                            \"string\": \"-$ 5.00 USD\"\n                          }\n                        }\n                      ],\n                      \"total\": {\n                        \"unit\": \"USD\",\n                        \"value\": 6122,\n                        \"string\": \"$61.22\"\n                      }\n                    },\n                    \"customData\": [\n                      {\n                        \"textInput\": \"(415) 123-4567\",\n                        \"name\": \"Telephone\"\n                      },\n                      {\n                        \"textArea\": \"Happy birthday Mom!\",\n                        \"name\": \"Gift note\"\n                      },\n                      {\n                        \"checkbox\": true,\n                        \"name\": \"Send as gift\"\n                      }\n                    ],\n                    \"downloadFiles\": [\n                      {\n                        \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n                        \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                        \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                      },\n                      {\n                        \"id\": \"5e9a5eba75e0ac242e1b6f63\",\n                        \"name\": \"The freelance web designers guide - Webflow Ebook.pdf\",\n                        \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5dd44c493543b37d5449b3cd;5e9a5eba75e0ac242e1b6f63:ka2nehxy:6af5adf7c6fff7a3b0f54404fac1be492ac6f1ed5340416f1fe27c5fd4dd8079\"\n                      }\n                    ]\n                  }\n                },\n                \"properties\": {\n                  \"orderId\": {\n                    \"type\": \"string\",\n                    \"example\": \"dfa-3f1\",\n                    \"description\": \"The order id. Will usually be 6 hex characters, but can also be 9 hex characters if the site has a very large number of orders. Randomly assigned.\\n\"\n                  },\n                  \"status\": {\n                    \"type\": \"string\",\n                    \"example\": \"unfulfilled\",\n                    \"description\": \"One of `pending`, `unfulfilled`, `fulfilled`, `disputed`, `dispute-lost`, or `refunded`\\n\",\n                    \"enum\": [\n                      \"pending\",\n                      \"unfulfilled\",\n                      \"fulfilled\",\n                      \"disputed\",\n                      \"dispute-lost\",\n                      \"refunded\"\n                    ]\n                  },\n                  \"comment\": {\n                    \"type\": \"string\",\n                    \"description\": \"A comment string for this order editable by API user (not used by Webflow).\"\n                  },\n                  \"orderComment\": {\n                    \"type\": \"string\",\n                    \"description\": \"A comment that the customer left when making their order\"\n                  },\n                  \"acceptedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"The ISO8601 timestamp that an order was placed.\"\n                  },\n                  \"disputedOn\": {\n                    \"type\": \"string\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"format\": \"date-time\",\n                    \"description\": \"If an order was disputed by the customer, then this key will be set with the ISO8601 timestamp that Stripe notifies Webflow. Null if not disputed.\\n\"\n                  },\n                  \"disputeUpdatedOn\": {\n                    \"type\": \"string\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"If an order was disputed by the customer, then this key will be set with the ISO8601 timestamp of the last time that we got an update. Null if not disputed.\\n\"\n                  },\n                  \"disputeLastStatus\": {\n                    \"type\": \"string\",\n                    \"example\": null,\n                    \"description\": \"If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).\\n\"\n                  },\n                  \"fulfilledOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"If an order was marked as 'fulfilled', then this is the ISO8601 timestamp when that happened.\\n\"\n                  },\n                  \"refundedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"If an order was refunded, this is the ISO8601 of when that happened.\"\n                  },\n                  \"customerPaid\": {\n                    \"example\": {\n                      \"unit\": \"USD\",\n                      \"value\": 5892,\n                      \"string\": \"$58.92\"\n                    },\n                    \"description\": \"The sum of all line items.\",\n                    \"properties\": {\n                      \"unit\": {\n                        \"type\": \"string\",\n                        \"example\": \"USD\"\n                      },\n                      \"value\": {\n                        \"type\": \"string\",\n                        \"example\": \"6099\"\n                      },\n                      \"string\": {\n                        \"type\": \"string\",\n                        \"example\": \"$60.99\"\n                      }\n                    }\n                  },\n                  \"netAmount\": {\n                    \"example\": {\n                      \"unit\": \"USD\",\n                      \"value\": 5892,\n                      \"string\": \"$58.92\"\n                    },\n                    \"description\": \"The sum of all line items.\",\n                    \"properties\": {\n                      \"unit\": {\n                        \"type\": \"string\",\n                        \"example\": \"USD\"\n                      },\n                      \"value\": {\n                        \"type\": \"string\",\n                        \"example\": \"6099\"\n                      },\n                      \"string\": {\n                        \"type\": \"string\",\n                        \"example\": \"$60.99\"\n                      }\n                    }\n                  },\n                  \"requiresShipping\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"A boolean indicating whether the order contains one or more purchased items that require shipping.\\n\"\n                  },\n                  \"shippingProvider\": {\n                    \"type\": \"string\",\n                    \"example\": null,\n                    \"description\": \"A string editable by the API user to note the shipping provider used (not used by Webflow).\\n\"\n                  },\n                  \"shippingTracking\": {\n                    \"type\": \"string\",\n                    \"description\": \"A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).\\n\"\n                  },\n                  \"customerInfo\": {\n                    \"example\": {\n                      \"fullName\": \"Customerio Namen\",\n                      \"email\": \"renning+customer@webflow.com\"\n                    },\n                    \"description\": \"An object with the keys `fullName` and `email`.\",\n                    \"properties\": {\n                      \"fullName\": {\n                        \"type\": \"string\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"email\": {\n                        \"type\": \"string\",\n                        \"format\": \"email\",\n                        \"example\": \"renning+customer@webflow.com\"\n                      }\n                    }\n                  },\n                  \"allAddresses\": {\n                    \"description\": \"All addresses provided by the customer during the ordering flow.\",\n                    \"type\": \"array\",\n                    \"items\": {\n                      \"description\": \"A customer address\",\n                      \"example\": {\n                        \"type\": \"billing\",\n                        \"addressee\": \"Customerio Namen\",\n                        \"line1\": \"123 Example Rd\",\n                        \"line2\": \"\",\n                        \"city\": \"Examplesville\",\n                        \"state\": \"CA\",\n                        \"country\": \"US\",\n                        \"postalCode\": \"90012\"\n                      },\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"shipping\",\n                          \"enum\": [\n                            \"shipping\",\n                            \"billing\"\n                          ]\n                        },\n                        \"addressee\": {\n                          \"type\": \"string\",\n                          \"example\": \"Customerio Namen\"\n                        },\n                        \"line1\": {\n                          \"type\": \"string\",\n                          \"example\": \"123 Example Rd\"\n                        },\n                        \"line2\": {\n                          \"type\": \"string\",\n                          \"example\": null\n                        },\n                        \"city\": {\n                          \"type\": \"string\",\n                          \"example\": \"Examplesville\"\n                        },\n                        \"state\": {\n                          \"type\": \"string\",\n                          \"example\": \"CA\"\n                        },\n                        \"country\": {\n                          \"type\": \"string\",\n                          \"example\": \"US\"\n                        },\n                        \"postalCode\": {\n                          \"type\": \"string\",\n                          \"example\": \"90012\"\n                        }\n                      }\n                    }\n                  },\n                  \"shippingAddress\": {\n                    \"description\": \"A customer address\",\n                    \"example\": {\n                      \"type\": \"billing\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"properties\": {\n                      \"type\": {\n                        \"type\": \"string\",\n                        \"example\": \"shipping\",\n                        \"enum\": [\n                          \"shipping\",\n                          \"billing\"\n                        ]\n                      },\n                      \"addressee\": {\n                        \"type\": \"string\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"line1\": {\n                        \"type\": \"string\",\n                        \"example\": \"123 Example Rd\"\n                      },\n                      \"line2\": {\n                        \"type\": \"string\",\n                        \"example\": null\n                      },\n                      \"city\": {\n                        \"type\": \"string\",\n                        \"example\": \"Examplesville\"\n                      },\n                      \"state\": {\n                        \"type\": \"string\",\n                        \"example\": \"CA\"\n                      },\n                      \"country\": {\n                        \"type\": \"string\",\n                        \"example\": \"US\"\n                      },\n                      \"postalCode\": {\n                        \"type\": \"string\",\n                        \"example\": \"90012\"\n                      }\n                    }\n                  },\n                  \"billingAddress\": {\n                    \"description\": \"A customer address\",\n                    \"example\": {\n                      \"type\": \"billing\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"properties\": {\n                      \"type\": {\n                        \"type\": \"string\",\n                        \"example\": \"shipping\",\n                        \"enum\": [\n                          \"shipping\",\n                          \"billing\"\n                        ]\n                      },\n                      \"addressee\": {\n                        \"type\": \"string\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"line1\": {\n                        \"type\": \"string\",\n                        \"example\": \"123 Example Rd\"\n                      },\n                      \"line2\": {\n                        \"type\": \"string\",\n                        \"example\": null\n                      },\n                      \"city\": {\n                        \"type\": \"string\",\n                        \"example\": \"Examplesville\"\n                      },\n                      \"state\": {\n                        \"type\": \"string\",\n                        \"example\": \"CA\"\n                      },\n                      \"country\": {\n                        \"type\": \"string\",\n                        \"example\": \"US\"\n                      },\n                      \"postalCode\": {\n                        \"type\": \"string\",\n                        \"example\": \"90012\"\n                      }\n                    }\n                  },\n                  \"purchasedItems\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of all things that the customer purchased.\",\n                    \"items\": {\n                      \"example\": {\n                        \"count\": 1,\n                        \"rowTotal\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"productId\": \"5eb9fd05caef491eb9757183\",\n                        \"productName\": \"White Cup\",\n                        \"productSlug\": \"white-cup\",\n                        \"variantId\": \"5eb9fcace279761d8199790c\",\n                        \"variantName\": \"white-cup_default_sku\",\n                        \"variantSlug\": \"white-cup-default-sku\",\n                        \"variantImage\": {\n                          \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                          \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                        },\n                        \"variantPrice\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"height\": 7,\n                        \"length\": 2,\n                        \"weight\": 5,\n                        \"width\": 4\n                      },\n                      \"description\": \"An item that was purchased\",\n                      \"properties\": {\n                        \"count\": {\n                          \"type\": \"number\",\n                          \"example\": 1,\n                          \"description\": \"Number of item purchased.\"\n                        },\n                        \"rowTotal\": {\n                          \"example\": {\n                            \"unit\": \"USD\",\n                            \"value\": 5892,\n                            \"string\": \"$58.92\"\n                          },\n                          \"description\": \"The sum of all line items.\",\n                          \"properties\": {\n                            \"unit\": {\n                              \"type\": \"string\",\n                              \"example\": \"USD\"\n                            },\n                            \"value\": {\n                              \"type\": \"string\",\n                              \"example\": \"6099\"\n                            },\n                            \"string\": {\n                              \"type\": \"string\",\n                              \"example\": \"$60.99\"\n                            }\n                          }\n                        },\n                        \"productId\": {\n                          \"type\": \"string\",\n                          \"format\": \"uuid\",\n                          \"example\": \"5eb9fd05caef491eb9757183\",\n                          \"description\": \"String Product Id.\"\n                        },\n                        \"productName\": {\n                          \"type\": \"string\",\n                          \"example\": \"White Cup\",\n                          \"description\": \"Name of the product.\"\n                        },\n                        \"productSlug\": {\n                          \"type\": \"string\",\n                          \"example\": \"white-cup\",\n                          \"description\": \"Slug of the product.\"\n                        },\n                        \"variantId\": {\n                          \"type\": \"string\",\n                          \"format\": \"uuid\",\n                          \"example\": \"5eb9fcace279761d8199790c\",\n                          \"description\": \"String Variant Id. (SKU)\"\n                        },\n                        \"variantName\": {\n                          \"type\": \"string\",\n                          \"example\": \"white-cup_default_sku\",\n                          \"description\": \"Name of the variant. (SKU)\"\n                        },\n                        \"variantSlug\": {\n                          \"type\": \"string\",\n                          \"example\": \"white-cup-default-sku\",\n                          \"description\": \"Slug of the variant. (SKU)\"\n                        },\n                        \"variantImage\": {\n                          \"example\": {\n                            \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                            \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                          },\n                          \"properties\": {\n                            \"fileId\": {\n                              \"type\": \"string\",\n                              \"format\": \"uuid\",\n                              \"example\": \"5bfedb42bab0ad90fa7dad2e\"\n                            },\n                            \"url\": {\n                              \"type\": \"string\",\n                              \"format\": \"uri\",\n                              \"example\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                            }\n                          }\n                        },\n                        \"variantPrice\": {\n                          \"example\": {\n                            \"unit\": \"USD\",\n                            \"value\": 5892,\n                            \"string\": \"$58.92\"\n                          },\n                          \"description\": \"The sum of all line items.\",\n                          \"properties\": {\n                            \"unit\": {\n                              \"type\": \"string\",\n                              \"example\": \"USD\"\n                            },\n                            \"value\": {\n                              \"type\": \"string\",\n                              \"example\": \"6099\"\n                            },\n                            \"string\": {\n                              \"type\": \"string\",\n                              \"example\": \"$60.99\"\n                            }\n                          }\n                        },\n                        \"height\": {\n                          \"type\": \"number\",\n                          \"example\": 7,\n                          \"description\": \"The height of the variant if provided, 0 otherwise.\"\n                        },\n                        \"length\": {\n                          \"type\": \"number\",\n                          \"example\": 2,\n                          \"description\": \"The length of the variant if provided, 0 otherwise.\"\n                        },\n                        \"width\": {\n                          \"type\": \"number\",\n                          \"example\": 4,\n                          \"description\": \"The width of the variant if provided, 0 otherwise\"\n                        },\n                        \"weight\": {\n                          \"type\": \"number\",\n                          \"example\": 5,\n                          \"description\": \"The weight of the variant if provided, 0 otherwise.\"\n                        },\n                        \"purchasedItemsCount\": {\n                          \"type\": \"number\",\n                          \"example\": 1,\n                          \"description\": \"The sum of all 'count' fields in 'purchasedItems'.\"\n                        }\n                      }\n                    }\n                  },\n                  \"stripeDetails\": {\n                    \"description\": \"An object with various Stripe IDs, useful for linking into the stripe dashboard.\",\n                    \"example\": {\n                      \"refundReason\": null,\n                      \"refundId\": null,\n                      \"disputeId\": null,\n                      \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n                      \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n                    },\n                    \"properties\": {\n                      \"refundReason\": {\n                        \"type\": \"string\",\n                        \"description\": \"Stripe customer ID, or null.\",\n                        \"example\": null\n                      },\n                      \"refundId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Stripe charge ID, or null.\",\n                        \"example\": null\n                      },\n                      \"disputeId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Stripe dispute ID, or null.\",\n                        \"example\": null\n                      },\n                      \"chargeId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Stripe refund ID, or null.\",\n                        \"example\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\"\n                      },\n                      \"customerId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"example\": \"cus_E5ajeiWNHEtcAW\"\n                      }\n                    }\n                  },\n                  \"stripeCard\": {\n                    \"description\": \"Details on the card used to fulfill this order, if this order was finalized with Stripe.\\n\",\n                    \"example\": {\n                      \"last4\": \"4242\",\n                      \"brand\": \"Visa\",\n                      \"ownerName\": \"Customerio Namen\",\n                      \"expires\": {\n                        \"year\": 2023,\n                        \"month\": 12\n                      }\n                    },\n                    \"properties\": {\n                      \"last4\": {\n                        \"type\": \"string\",\n                        \"description\": \"The last 4 digits on the card.\",\n                        \"example\": \"4242\"\n                      },\n                      \"brand\": {\n                        \"type\": \"string\",\n                        \"description\": \"The card’s brand.\",\n                        \"example\": \"Visa\",\n                        \"enum\": [\n                          \"Visa\",\n                          \"American Express\",\n                          \"MasterCard\",\n                          \"Discover\",\n                          \"JCB\",\n                          \"Diners Club\",\n                          \"Unknown\"\n                        ]\n                      },\n                      \"ownerName\": {\n                        \"type\": \"string\",\n                        \"description\": \"The name on the card.\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"expires\": {\n                        \"type\": \"object\",\n                        \"description\": \"The card’s expiration date.\",\n                        \"properties\": {\n                          \"year\": {\n                            \"type\": \"number\",\n                            \"example\": 2023\n                          },\n                          \"month\": {\n                            \"type\": \"number\",\n                            \"example\": 12\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"totals\": {\n                    \"description\": \"An object describing various pricing totals.\",\n                    \"example\": {\n                      \"subtotal\": {\n                        \"unit\": \"USD\",\n                        \"value\": 5500,\n                        \"string\": \"$55.00\"\n                      }\n                    },\n                    \"properties\": {\n                      \"subtotal\": {\n                        \"example\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5892,\n                          \"string\": \"$58.92\"\n                        },\n                        \"description\": \"The sum of all line items.\",\n                        \"properties\": {\n                          \"unit\": {\n                            \"type\": \"string\",\n                            \"example\": \"USD\"\n                          },\n                          \"value\": {\n                            \"type\": \"string\",\n                            \"example\": \"6099\"\n                          },\n                          \"string\": {\n                            \"type\": \"string\",\n                            \"example\": \"$60.99\"\n                          }\n                        }\n                      },\n                      \"extras\": {\n                        \"type\": \"array\",\n                        \"description\": \"An array of extra items, includes discounts, shipping, and taxes.\",\n                        \"items\": {\n                          \"description\": \"Extra order items, includes discounts, shipping, and taxes.\",\n                          \"example\": {\n                            \"type\": \"tax\",\n                            \"name\": \"State Taxes\",\n                            \"description\": \"CA Taxes (6.25%)\",\n                            \"price\": {\n                              \"unit\": \"USD\",\n                              \"value\": 344,\n                              \"string\": \"$3.44\"\n                            }\n                          },\n                          \"properties\": {\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"tax\",\n                              \"description\": \"The type of extra item this is.\",\n                              \"enum\": [\n                                \"discount\",\n                                \"discount-shipping\",\n                                \"shipping\",\n                                \"tax\"\n                              ]\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"shipping\",\n                              \"description\": \"A human-readable (but English) name for this extra charge.\"\n                            },\n                            \"description\": {\n                              \"type\": \"string\",\n                              \"example\": \"Flat Rate\",\n                              \"description\": \"A human-readable (but English) description of this extra charge.\"\n                            },\n                            \"price\": {\n                              \"example\": {\n                                \"unit\": \"USD\",\n                                \"value\": 5892,\n                                \"string\": \"$58.92\"\n                              },\n                              \"description\": \"The sum of all line items.\",\n                              \"properties\": {\n                                \"unit\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"USD\"\n                                },\n                                \"value\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"6099\"\n                                },\n                                \"string\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"$60.99\"\n                                }\n                              }\n                            }\n                          }\n                        }\n                      },\n                      \"total\": {\n                        \"example\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5892,\n                          \"string\": \"$58.92\"\n                        },\n                        \"description\": \"The sum of all line items.\",\n                        \"properties\": {\n                          \"unit\": {\n                            \"type\": \"string\",\n                            \"example\": \"USD\"\n                          },\n                          \"value\": {\n                            \"type\": \"string\",\n                            \"example\": \"6099\"\n                          },\n                          \"string\": {\n                            \"type\": \"string\",\n                            \"example\": \"$60.99\"\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"customData\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.\\n\",\n                    \"items\": {\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"downloadFiles\": {\n                    \"description\": \"An array of downloadable file objects.\",\n                    \"type\": \"array\",\n                    \"items\": {\n                      \"example\": {\n                        \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n                        \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                        \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                      },\n                      \"properties\": {\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"format\": \"uuid\",\n                          \"example\": \"5e9a5eba75e0ac242e1b6f64\"\n                        },\n                        \"name\": {\n                          \"type\": \"string\",\n                          \"example\": \"The modern web design process - Webflow Ebook.pdf\"\n                        },\n                        \"url\": {\n                          \"type\": \"string\",\n                          \"format\": \"uri\",\n                          \"example\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"ecomm_order_changed\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the order that changed\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"example\": {\n                  \"value\": {\n                    \"orderId\": \"dfa-3f1\",\n                    \"status\": \"unfulfilled\",\n                    \"comment\": \"\",\n                    \"orderComment\": \"\",\n                    \"acceptedOn\": \"2018-12-03T22:06:15.761Z\",\n                    \"disputedOn\": null,\n                    \"disputeUpdatedOn\": null,\n                    \"disputeLastStatus\": null,\n                    \"fulfilledOn\": null,\n                    \"refundedOn\": null,\n                    \"customerPaid\": {\n                      \"unit\": \"USD\",\n                      \"value\": 6099,\n                      \"string\": \"$60.99\"\n                    },\n                    \"netAmount\": {\n                      \"unit\": \"USD\",\n                      \"value\": 5892,\n                      \"string\": \"$58.92\"\n                    },\n                    \"requiresShipping\": true,\n                    \"shippingProvider\": null,\n                    \"shippingTracking\": null,\n                    \"customerInfo\": {\n                      \"fullName\": \"Customerio Namen\",\n                      \"email\": \"renning+customer@webflow.com\"\n                    },\n                    \"allAddresses\": [\n                      {\n                        \"type\": \"billing\",\n                        \"addressee\": \"Customerio Namen\",\n                        \"line1\": \"123 Example Rd\",\n                        \"line2\": \"\",\n                        \"city\": \"Examplesville\",\n                        \"state\": \"CA\",\n                        \"country\": \"US\",\n                        \"postalCode\": \"90012\"\n                      },\n                      {\n                        \"type\": \"shipping\",\n                        \"addressee\": \"Customerio Namen\",\n                        \"line1\": \"123 Example Rd\",\n                        \"line2\": \"\",\n                        \"city\": \"Examplesville\",\n                        \"state\": \"CA\",\n                        \"country\": \"US\",\n                        \"postalCode\": \"90012\"\n                      }\n                    ],\n                    \"shippingAddress\": {\n                      \"type\": \"shipping\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"billingAddress\": {\n                      \"type\": \"billing\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"purchasedItems\": [\n                      {\n                        \"count\": 1,\n                        \"rowTotal\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"productId\": \"5eb9fd05caef491eb9757183\",\n                        \"productName\": \"White Cup\",\n                        \"productSlug\": \"white-cup\",\n                        \"variantId\": \"5eb9fcace279761d8199790c\",\n                        \"variantName\": \"white-cup_default_sku\",\n                        \"variantSlug\": \"white-cup-default-sku\",\n                        \"variantImage\": {\n                          \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                          \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                        },\n                        \"variantPrice\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"height\": 7,\n                        \"length\": 2,\n                        \"weight\": 5,\n                        \"width\": 4\n                      }\n                    ],\n                    \"purchasedItemsCount\": 1,\n                    \"stripeDetails\": {\n                      \"refundReason\": null,\n                      \"refundId\": null,\n                      \"disputeId\": null,\n                      \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n                      \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n                    },\n                    \"stripeCard\": {\n                      \"last4\": \"4242\",\n                      \"brand\": \"Visa\",\n                      \"ownerName\": \"Customerio Namen\",\n                      \"expires\": {\n                        \"year\": 2023,\n                        \"month\": 12\n                      }\n                    },\n                    \"totals\": {\n                      \"subtotal\": {\n                        \"unit\": \"USD\",\n                        \"value\": 5500,\n                        \"string\": \"$55.00\"\n                      },\n                      \"extras\": [\n                        {\n                          \"type\": \"tax\",\n                          \"name\": \"State Taxes\",\n                          \"description\": \"CA Taxes (6.25%)\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 344,\n                            \"string\": \"$3.44\"\n                          }\n                        },\n                        {\n                          \"type\": \"tax\",\n                          \"name\": \"County Taxes\",\n                          \"description\": \"LOS ANGELES Taxes (1.00%)\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 55,\n                            \"string\": \"$0.55\"\n                          }\n                        },\n                        {\n                          \"type\": \"tax\",\n                          \"name\": \"Special District Taxes\",\n                          \"description\": \"Special District Taxes (2.25%)\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 124,\n                            \"string\": \"$1.24\"\n                          }\n                        },\n                        {\n                          \"type\": \"shipping\",\n                          \"name\": \"Flat Rate\",\n                          \"description\": \"\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": 599,\n                            \"string\": \"$5.99\"\n                          }\n                        },\n                        {\n                          \"type\": \"discount\",\n                          \"name\": \"Discount (SAVE5)\",\n                          \"description\": \"\",\n                          \"price\": {\n                            \"unit\": \"USD\",\n                            \"value\": -500,\n                            \"string\": \"-$ 5.00 USD\"\n                          }\n                        }\n                      ],\n                      \"total\": {\n                        \"unit\": \"USD\",\n                        \"value\": 6122,\n                        \"string\": \"$61.22\"\n                      }\n                    },\n                    \"customData\": [\n                      {\n                        \"textInput\": \"(415) 123-4567\",\n                        \"name\": \"Telephone\"\n                      },\n                      {\n                        \"textArea\": \"Happy birthday Mom!\",\n                        \"name\": \"Gift note\"\n                      },\n                      {\n                        \"checkbox\": true,\n                        \"name\": \"Send as gift\"\n                      }\n                    ],\n                    \"downloadFiles\": [\n                      {\n                        \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n                        \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                        \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                      },\n                      {\n                        \"id\": \"5e9a5eba75e0ac242e1b6f63\",\n                        \"name\": \"The freelance web designers guide - Webflow Ebook.pdf\",\n                        \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5dd44c493543b37d5449b3cd;5e9a5eba75e0ac242e1b6f63:ka2nehxy:6af5adf7c6fff7a3b0f54404fac1be492ac6f1ed5340416f1fe27c5fd4dd8079\"\n                      }\n                    ]\n                  }\n                },\n                \"properties\": {\n                  \"orderId\": {\n                    \"type\": \"string\",\n                    \"example\": \"dfa-3f1\",\n                    \"description\": \"The order id. Will usually be 6 hex characters, but can also be 9 hex characters if the site has a very large number of orders. Randomly assigned.\\n\"\n                  },\n                  \"status\": {\n                    \"type\": \"string\",\n                    \"example\": \"unfulfilled\",\n                    \"description\": \"One of `pending`, `unfulfilled`, `fulfilled`, `disputed`, `dispute-lost`, or `refunded`\\n\",\n                    \"enum\": [\n                      \"pending\",\n                      \"unfulfilled\",\n                      \"fulfilled\",\n                      \"disputed\",\n                      \"dispute-lost\",\n                      \"refunded\"\n                    ]\n                  },\n                  \"comment\": {\n                    \"type\": \"string\",\n                    \"description\": \"A comment string for this order editable by API user (not used by Webflow).\"\n                  },\n                  \"orderComment\": {\n                    \"type\": \"string\",\n                    \"description\": \"A comment that the customer left when making their order\"\n                  },\n                  \"acceptedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"The ISO8601 timestamp that an order was placed.\"\n                  },\n                  \"disputedOn\": {\n                    \"type\": \"string\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"format\": \"date-time\",\n                    \"description\": \"If an order was disputed by the customer, then this key will be set with the ISO8601 timestamp that Stripe notifies Webflow. Null if not disputed.\\n\"\n                  },\n                  \"disputeUpdatedOn\": {\n                    \"type\": \"string\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"If an order was disputed by the customer, then this key will be set with the ISO8601 timestamp of the last time that we got an update. Null if not disputed.\\n\"\n                  },\n                  \"disputeLastStatus\": {\n                    \"type\": \"string\",\n                    \"example\": null,\n                    \"description\": \"If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).\\n\"\n                  },\n                  \"fulfilledOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"If an order was marked as 'fulfilled', then this is the ISO8601 timestamp when that happened.\\n\"\n                  },\n                  \"refundedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2018-12-03T22:06:15.761Z\",\n                    \"description\": \"If an order was refunded, this is the ISO8601 of when that happened.\"\n                  },\n                  \"customerPaid\": {\n                    \"example\": {\n                      \"unit\": \"USD\",\n                      \"value\": 5892,\n                      \"string\": \"$58.92\"\n                    },\n                    \"description\": \"The sum of all line items.\",\n                    \"properties\": {\n                      \"unit\": {\n                        \"type\": \"string\",\n                        \"example\": \"USD\"\n                      },\n                      \"value\": {\n                        \"type\": \"string\",\n                        \"example\": \"6099\"\n                      },\n                      \"string\": {\n                        \"type\": \"string\",\n                        \"example\": \"$60.99\"\n                      }\n                    }\n                  },\n                  \"netAmount\": {\n                    \"example\": {\n                      \"unit\": \"USD\",\n                      \"value\": 5892,\n                      \"string\": \"$58.92\"\n                    },\n                    \"description\": \"The sum of all line items.\",\n                    \"properties\": {\n                      \"unit\": {\n                        \"type\": \"string\",\n                        \"example\": \"USD\"\n                      },\n                      \"value\": {\n                        \"type\": \"string\",\n                        \"example\": \"6099\"\n                      },\n                      \"string\": {\n                        \"type\": \"string\",\n                        \"example\": \"$60.99\"\n                      }\n                    }\n                  },\n                  \"requiresShipping\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"A boolean indicating whether the order contains one or more purchased items that require shipping.\\n\"\n                  },\n                  \"shippingProvider\": {\n                    \"type\": \"string\",\n                    \"example\": null,\n                    \"description\": \"A string editable by the API user to note the shipping provider used (not used by Webflow).\\n\"\n                  },\n                  \"shippingTracking\": {\n                    \"type\": \"string\",\n                    \"description\": \"A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).\\n\"\n                  },\n                  \"customerInfo\": {\n                    \"example\": {\n                      \"fullName\": \"Customerio Namen\",\n                      \"email\": \"renning+customer@webflow.com\"\n                    },\n                    \"description\": \"An object with the keys `fullName` and `email`.\",\n                    \"properties\": {\n                      \"fullName\": {\n                        \"type\": \"string\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"email\": {\n                        \"type\": \"string\",\n                        \"format\": \"email\",\n                        \"example\": \"renning+customer@webflow.com\"\n                      }\n                    }\n                  },\n                  \"allAddresses\": {\n                    \"description\": \"All addresses provided by the customer during the ordering flow.\",\n                    \"type\": \"array\",\n                    \"items\": {\n                      \"description\": \"A customer address\",\n                      \"example\": {\n                        \"type\": \"billing\",\n                        \"addressee\": \"Customerio Namen\",\n                        \"line1\": \"123 Example Rd\",\n                        \"line2\": \"\",\n                        \"city\": \"Examplesville\",\n                        \"state\": \"CA\",\n                        \"country\": \"US\",\n                        \"postalCode\": \"90012\"\n                      },\n                      \"properties\": {\n                        \"type\": {\n                          \"type\": \"string\",\n                          \"example\": \"shipping\",\n                          \"enum\": [\n                            \"shipping\",\n                            \"billing\"\n                          ]\n                        },\n                        \"addressee\": {\n                          \"type\": \"string\",\n                          \"example\": \"Customerio Namen\"\n                        },\n                        \"line1\": {\n                          \"type\": \"string\",\n                          \"example\": \"123 Example Rd\"\n                        },\n                        \"line2\": {\n                          \"type\": \"string\",\n                          \"example\": null\n                        },\n                        \"city\": {\n                          \"type\": \"string\",\n                          \"example\": \"Examplesville\"\n                        },\n                        \"state\": {\n                          \"type\": \"string\",\n                          \"example\": \"CA\"\n                        },\n                        \"country\": {\n                          \"type\": \"string\",\n                          \"example\": \"US\"\n                        },\n                        \"postalCode\": {\n                          \"type\": \"string\",\n                          \"example\": \"90012\"\n                        }\n                      }\n                    }\n                  },\n                  \"shippingAddress\": {\n                    \"description\": \"A customer address\",\n                    \"example\": {\n                      \"type\": \"billing\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"properties\": {\n                      \"type\": {\n                        \"type\": \"string\",\n                        \"example\": \"shipping\",\n                        \"enum\": [\n                          \"shipping\",\n                          \"billing\"\n                        ]\n                      },\n                      \"addressee\": {\n                        \"type\": \"string\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"line1\": {\n                        \"type\": \"string\",\n                        \"example\": \"123 Example Rd\"\n                      },\n                      \"line2\": {\n                        \"type\": \"string\",\n                        \"example\": null\n                      },\n                      \"city\": {\n                        \"type\": \"string\",\n                        \"example\": \"Examplesville\"\n                      },\n                      \"state\": {\n                        \"type\": \"string\",\n                        \"example\": \"CA\"\n                      },\n                      \"country\": {\n                        \"type\": \"string\",\n                        \"example\": \"US\"\n                      },\n                      \"postalCode\": {\n                        \"type\": \"string\",\n                        \"example\": \"90012\"\n                      }\n                    }\n                  },\n                  \"billingAddress\": {\n                    \"description\": \"A customer address\",\n                    \"example\": {\n                      \"type\": \"billing\",\n                      \"addressee\": \"Customerio Namen\",\n                      \"line1\": \"123 Example Rd\",\n                      \"line2\": \"\",\n                      \"city\": \"Examplesville\",\n                      \"state\": \"CA\",\n                      \"country\": \"US\",\n                      \"postalCode\": \"90012\"\n                    },\n                    \"properties\": {\n                      \"type\": {\n                        \"type\": \"string\",\n                        \"example\": \"shipping\",\n                        \"enum\": [\n                          \"shipping\",\n                          \"billing\"\n                        ]\n                      },\n                      \"addressee\": {\n                        \"type\": \"string\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"line1\": {\n                        \"type\": \"string\",\n                        \"example\": \"123 Example Rd\"\n                      },\n                      \"line2\": {\n                        \"type\": \"string\",\n                        \"example\": null\n                      },\n                      \"city\": {\n                        \"type\": \"string\",\n                        \"example\": \"Examplesville\"\n                      },\n                      \"state\": {\n                        \"type\": \"string\",\n                        \"example\": \"CA\"\n                      },\n                      \"country\": {\n                        \"type\": \"string\",\n                        \"example\": \"US\"\n                      },\n                      \"postalCode\": {\n                        \"type\": \"string\",\n                        \"example\": \"90012\"\n                      }\n                    }\n                  },\n                  \"purchasedItems\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of all things that the customer purchased.\",\n                    \"items\": {\n                      \"example\": {\n                        \"count\": 1,\n                        \"rowTotal\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"productId\": \"5eb9fd05caef491eb9757183\",\n                        \"productName\": \"White Cup\",\n                        \"productSlug\": \"white-cup\",\n                        \"variantId\": \"5eb9fcace279761d8199790c\",\n                        \"variantName\": \"white-cup_default_sku\",\n                        \"variantSlug\": \"white-cup-default-sku\",\n                        \"variantImage\": {\n                          \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                          \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                        },\n                        \"variantPrice\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5500,\n                          \"string\": \"$55.00\"\n                        },\n                        \"height\": 7,\n                        \"length\": 2,\n                        \"weight\": 5,\n                        \"width\": 4\n                      },\n                      \"description\": \"An item that was purchased\",\n                      \"properties\": {\n                        \"count\": {\n                          \"type\": \"number\",\n                          \"example\": 1,\n                          \"description\": \"Number of item purchased.\"\n                        },\n                        \"rowTotal\": {\n                          \"example\": {\n                            \"unit\": \"USD\",\n                            \"value\": 5892,\n                            \"string\": \"$58.92\"\n                          },\n                          \"description\": \"The sum of all line items.\",\n                          \"properties\": {\n                            \"unit\": {\n                              \"type\": \"string\",\n                              \"example\": \"USD\"\n                            },\n                            \"value\": {\n                              \"type\": \"string\",\n                              \"example\": \"6099\"\n                            },\n                            \"string\": {\n                              \"type\": \"string\",\n                              \"example\": \"$60.99\"\n                            }\n                          }\n                        },\n                        \"productId\": {\n                          \"type\": \"string\",\n                          \"format\": \"uuid\",\n                          \"example\": \"5eb9fd05caef491eb9757183\",\n                          \"description\": \"String Product Id.\"\n                        },\n                        \"productName\": {\n                          \"type\": \"string\",\n                          \"example\": \"White Cup\",\n                          \"description\": \"Name of the product.\"\n                        },\n                        \"productSlug\": {\n                          \"type\": \"string\",\n                          \"example\": \"white-cup\",\n                          \"description\": \"Slug of the product.\"\n                        },\n                        \"variantId\": {\n                          \"type\": \"string\",\n                          \"format\": \"uuid\",\n                          \"example\": \"5eb9fcace279761d8199790c\",\n                          \"description\": \"String Variant Id. (SKU)\"\n                        },\n                        \"variantName\": {\n                          \"type\": \"string\",\n                          \"example\": \"white-cup_default_sku\",\n                          \"description\": \"Name of the variant. (SKU)\"\n                        },\n                        \"variantSlug\": {\n                          \"type\": \"string\",\n                          \"example\": \"white-cup-default-sku\",\n                          \"description\": \"Slug of the variant. (SKU)\"\n                        },\n                        \"variantImage\": {\n                          \"example\": {\n                            \"fileId\": \"5bfedb42bab0ad90fa7dad2e\",\n                            \"url\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                          },\n                          \"properties\": {\n                            \"fileId\": {\n                              \"type\": \"string\",\n                              \"format\": \"uuid\",\n                              \"example\": \"5bfedb42bab0ad90fa7dad2e\"\n                            },\n                            \"url\": {\n                              \"type\": \"string\",\n                              \"format\": \"uri\",\n                              \"example\": \"https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png\"\n                            }\n                          }\n                        },\n                        \"variantPrice\": {\n                          \"example\": {\n                            \"unit\": \"USD\",\n                            \"value\": 5892,\n                            \"string\": \"$58.92\"\n                          },\n                          \"description\": \"The sum of all line items.\",\n                          \"properties\": {\n                            \"unit\": {\n                              \"type\": \"string\",\n                              \"example\": \"USD\"\n                            },\n                            \"value\": {\n                              \"type\": \"string\",\n                              \"example\": \"6099\"\n                            },\n                            \"string\": {\n                              \"type\": \"string\",\n                              \"example\": \"$60.99\"\n                            }\n                          }\n                        },\n                        \"height\": {\n                          \"type\": \"number\",\n                          \"example\": 7,\n                          \"description\": \"The height of the variant if provided, 0 otherwise.\"\n                        },\n                        \"length\": {\n                          \"type\": \"number\",\n                          \"example\": 2,\n                          \"description\": \"The length of the variant if provided, 0 otherwise.\"\n                        },\n                        \"width\": {\n                          \"type\": \"number\",\n                          \"example\": 4,\n                          \"description\": \"The width of the variant if provided, 0 otherwise\"\n                        },\n                        \"weight\": {\n                          \"type\": \"number\",\n                          \"example\": 5,\n                          \"description\": \"The weight of the variant if provided, 0 otherwise.\"\n                        },\n                        \"purchasedItemsCount\": {\n                          \"type\": \"number\",\n                          \"example\": 1,\n                          \"description\": \"The sum of all 'count' fields in 'purchasedItems'.\"\n                        }\n                      }\n                    }\n                  },\n                  \"stripeDetails\": {\n                    \"description\": \"An object with various Stripe IDs, useful for linking into the stripe dashboard.\",\n                    \"example\": {\n                      \"refundReason\": null,\n                      \"refundId\": null,\n                      \"disputeId\": null,\n                      \"chargeId\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\",\n                      \"customerId\": \"cus_E5ajeiWNHEtcAW\"\n                    },\n                    \"properties\": {\n                      \"refundReason\": {\n                        \"type\": \"string\",\n                        \"description\": \"Stripe customer ID, or null.\",\n                        \"example\": null\n                      },\n                      \"refundId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Stripe charge ID, or null.\",\n                        \"example\": null\n                      },\n                      \"disputeId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Stripe dispute ID, or null.\",\n                        \"example\": null\n                      },\n                      \"chargeId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"description\": \"Stripe refund ID, or null.\",\n                        \"example\": \"ch_1DdPYQKMjGA7k9mI2AKiBY6u\"\n                      },\n                      \"customerId\": {\n                        \"type\": \"string\",\n                        \"format\": \"uuid\",\n                        \"example\": \"cus_E5ajeiWNHEtcAW\"\n                      }\n                    }\n                  },\n                  \"stripeCard\": {\n                    \"description\": \"Details on the card used to fulfill this order, if this order was finalized with Stripe.\\n\",\n                    \"example\": {\n                      \"last4\": \"4242\",\n                      \"brand\": \"Visa\",\n                      \"ownerName\": \"Customerio Namen\",\n                      \"expires\": {\n                        \"year\": 2023,\n                        \"month\": 12\n                      }\n                    },\n                    \"properties\": {\n                      \"last4\": {\n                        \"type\": \"string\",\n                        \"description\": \"The last 4 digits on the card.\",\n                        \"example\": \"4242\"\n                      },\n                      \"brand\": {\n                        \"type\": \"string\",\n                        \"description\": \"The card’s brand.\",\n                        \"example\": \"Visa\",\n                        \"enum\": [\n                          \"Visa\",\n                          \"American Express\",\n                          \"MasterCard\",\n                          \"Discover\",\n                          \"JCB\",\n                          \"Diners Club\",\n                          \"Unknown\"\n                        ]\n                      },\n                      \"ownerName\": {\n                        \"type\": \"string\",\n                        \"description\": \"The name on the card.\",\n                        \"example\": \"Customerio Namen\"\n                      },\n                      \"expires\": {\n                        \"type\": \"object\",\n                        \"description\": \"The card’s expiration date.\",\n                        \"properties\": {\n                          \"year\": {\n                            \"type\": \"number\",\n                            \"example\": 2023\n                          },\n                          \"month\": {\n                            \"type\": \"number\",\n                            \"example\": 12\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"totals\": {\n                    \"description\": \"An object describing various pricing totals.\",\n                    \"example\": {\n                      \"subtotal\": {\n                        \"unit\": \"USD\",\n                        \"value\": 5500,\n                        \"string\": \"$55.00\"\n                      }\n                    },\n                    \"properties\": {\n                      \"subtotal\": {\n                        \"example\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5892,\n                          \"string\": \"$58.92\"\n                        },\n                        \"description\": \"The sum of all line items.\",\n                        \"properties\": {\n                          \"unit\": {\n                            \"type\": \"string\",\n                            \"example\": \"USD\"\n                          },\n                          \"value\": {\n                            \"type\": \"string\",\n                            \"example\": \"6099\"\n                          },\n                          \"string\": {\n                            \"type\": \"string\",\n                            \"example\": \"$60.99\"\n                          }\n                        }\n                      },\n                      \"extras\": {\n                        \"type\": \"array\",\n                        \"description\": \"An array of extra items, includes discounts, shipping, and taxes.\",\n                        \"items\": {\n                          \"description\": \"Extra order items, includes discounts, shipping, and taxes.\",\n                          \"example\": {\n                            \"type\": \"tax\",\n                            \"name\": \"State Taxes\",\n                            \"description\": \"CA Taxes (6.25%)\",\n                            \"price\": {\n                              \"unit\": \"USD\",\n                              \"value\": 344,\n                              \"string\": \"$3.44\"\n                            }\n                          },\n                          \"properties\": {\n                            \"type\": {\n                              \"type\": \"string\",\n                              \"example\": \"tax\",\n                              \"description\": \"The type of extra item this is.\",\n                              \"enum\": [\n                                \"discount\",\n                                \"discount-shipping\",\n                                \"shipping\",\n                                \"tax\"\n                              ]\n                            },\n                            \"name\": {\n                              \"type\": \"string\",\n                              \"example\": \"shipping\",\n                              \"description\": \"A human-readable (but English) name for this extra charge.\"\n                            },\n                            \"description\": {\n                              \"type\": \"string\",\n                              \"example\": \"Flat Rate\",\n                              \"description\": \"A human-readable (but English) description of this extra charge.\"\n                            },\n                            \"price\": {\n                              \"example\": {\n                                \"unit\": \"USD\",\n                                \"value\": 5892,\n                                \"string\": \"$58.92\"\n                              },\n                              \"description\": \"The sum of all line items.\",\n                              \"properties\": {\n                                \"unit\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"USD\"\n                                },\n                                \"value\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"6099\"\n                                },\n                                \"string\": {\n                                  \"type\": \"string\",\n                                  \"example\": \"$60.99\"\n                                }\n                              }\n                            }\n                          }\n                        }\n                      },\n                      \"total\": {\n                        \"example\": {\n                          \"unit\": \"USD\",\n                          \"value\": 5892,\n                          \"string\": \"$58.92\"\n                        },\n                        \"description\": \"The sum of all line items.\",\n                        \"properties\": {\n                          \"unit\": {\n                            \"type\": \"string\",\n                            \"example\": \"USD\"\n                          },\n                          \"value\": {\n                            \"type\": \"string\",\n                            \"example\": \"6099\"\n                          },\n                          \"string\": {\n                            \"type\": \"string\",\n                            \"example\": \"$60.99\"\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"customData\": {\n                    \"type\": \"array\",\n                    \"description\": \"An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.\\n\",\n                    \"items\": {\n                      \"type\": \"object\"\n                    }\n                  },\n                  \"downloadFiles\": {\n                    \"description\": \"An array of downloadable file objects.\",\n                    \"type\": \"array\",\n                    \"items\": {\n                      \"example\": {\n                        \"id\": \"5e9a5eba75e0ac242e1b6f64\",\n                        \"name\": \"The modern web design process - Webflow Ebook.pdf\",\n                        \"url\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                      },\n                      \"properties\": {\n                        \"id\": {\n                          \"type\": \"string\",\n                          \"format\": \"uuid\",\n                          \"example\": \"5e9a5eba75e0ac242e1b6f64\"\n                        },\n                        \"name\": {\n                          \"type\": \"string\",\n                          \"example\": \"The modern web design process - Webflow Ebook.pdf\"\n                        },\n                        \"url\": {\n                          \"type\": \"string\",\n                          \"format\": \"uri\",\n                          \"example\": \"https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa\"\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"ecomm_inventory_changed\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the inventory item that changed\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The availabile inventory for an item\",\n                \"example\": {\n                  \"_id\": \"5bfedb42bab0ad90fa7dad39\",\n                  \"quantity\": 83,\n                  \"inventoryType\": \"finite\"\n                },\n                \"properties\": {\n                  \"_id\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"5bfedb42bab0ad90fa7dad39\",\n                    \"description\": \"Unique identifier for a SKU item\"\n                  },\n                  \"quantity\": {\n                    \"type\": \"number\",\n                    \"example\": 100,\n                    \"description\": \"Total quantity of items remaining in inventory (if finite)\"\n                  },\n                  \"inventoryType\": {\n                    \"type\": \"string\",\n                    \"example\": \"finite\",\n                    \"description\": \"infinite or finite\",\n                    \"enum\": [\n                      \"infinite\",\n                      \"finite\"\n                    ]\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"memberships_user_account_added\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the user account that was added\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n                \"example\": {\n                  \"_id\": \"6287ec36a841b25637c663df\",\n                  \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n                  \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n                  \"emailVerified\": true,\n                  \"status\": \"verified\",\n                  \"data\": {\n                    \"accept-privacy\": false,\n                    \"accept-communications\": false,\n                    \"email\": \"Some.One@home.com\",\n                    \"name\": \"Some One\"\n                  }\n                },\n                \"properties\": {\n                  \"_id\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"6287ec36a841b25637c663df\",\n                    \"description\": \"Unique identifier for the User\"\n                  },\n                  \"createdOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was created\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"updatedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was updated\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"invitedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was invited\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"lastLogin\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was logged in\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"emailVerified\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"Shows whether the user has verified their email address\"\n                  },\n                  \"status\": {\n                    \"type\": \"string\",\n                    \"description\": \"The status of the user\",\n                    \"enum\": [\n                      \"invited\",\n                      \"verified\",\n                      \"unverified\"\n                    ]\n                  },\n                  \"data\": {\n                    \"type\": \"object\",\n                    \"description\": \"An object containing the User's basic info and custom fields\",\n                    \"example\": {\n                      \"accept-privacy\": false,\n                      \"accept-communications\": false,\n                      \"email\": \"some.one@home.com\",\n                      \"name\": \"Some One\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"memberships_user_account_updated\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the user account that was updated\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n                \"example\": {\n                  \"_id\": \"6287ec36a841b25637c663df\",\n                  \"createdOn\": \"2022-05-20T13:46:12.093Z\",\n                  \"updatedOn\": \"2022-05-20T13:46:12.093Z\",\n                  \"emailVerified\": true,\n                  \"status\": \"verified\",\n                  \"data\": {\n                    \"accept-privacy\": false,\n                    \"accept-communications\": false,\n                    \"email\": \"Some.One@home.com\",\n                    \"name\": \"Some One\"\n                  }\n                },\n                \"properties\": {\n                  \"_id\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"6287ec36a841b25637c663df\",\n                    \"description\": \"Unique identifier for the User\"\n                  },\n                  \"createdOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was created\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"updatedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was updated\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"invitedOn\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was invited\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"lastLogin\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"description\": \"The timestamp the user was logged in\",\n                    \"example\": \"2016-10-24T19:41:29.156Z\"\n                  },\n                  \"emailVerified\": {\n                    \"type\": \"boolean\",\n                    \"description\": \"Shows whether the user has verified their email address\"\n                  },\n                  \"status\": {\n                    \"type\": \"string\",\n                    \"description\": \"The status of the user\",\n                    \"enum\": [\n                      \"invited\",\n                      \"verified\",\n                      \"unverified\"\n                    ]\n                  },\n                  \"data\": {\n                    \"type\": \"object\",\n                    \"description\": \"An object containing the User's basic info and custom fields\",\n                    \"example\": {\n                      \"accept-privacy\": false,\n                      \"accept-communications\": false,\n                      \"email\": \"some.one@home.com\",\n                      \"name\": \"Some One\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"collection_item_created\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the collection item that was created\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n                \"properties\": {\n                  \"_archived\": {\n                    \"type\": \"boolean\",\n                    \"default\": false,\n                    \"description\": \"Boolean determining if the Item is set to archived\"\n                  },\n                  \"_draft\": {\n                    \"type\": \"boolean\",\n                    \"default\": false,\n                    \"description\": \"Boolean determining if the Item is set to draft\"\n                  },\n                  \"_id\": {\n                    \"type\": \"string\",\n                    \"readOnly\": true,\n                    \"example\": \"580e64008c9a982ac9b8b754\",\n                    \"description\": \"Unique identifier for the Item\"\n                  },\n                  \"_cid\": {\n                    \"type\": \"string\",\n                    \"readOnly\": true,\n                    \"example\": \"580e63fc8c9a982ac9b8b745\",\n                    \"description\": \"Unique identifier for the Collection the Item belongs within\"\n                  },\n                  \"name\": {\n                    \"type\": \"string\",\n                    \"example\": \"5 Principles Of Effective Web Design\",\n                    \"description\": \"Name given to the Item\"\n                  },\n                  \"slug\": {\n                    \"type\": \"string\",\n                    \"example\": \"5-principles-of-effective-web-design\",\n                    \"description\": \"URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.\"\n                  }\n                },\n                \"example\": {\n                  \"value\": {\n                    \"_archived\": false,\n                    \"_draft\": false,\n                    \"color\": \"#a98080\",\n                    \"name\": \"Exciting blog post title\",\n                    \"post-body\": \"<p>Blog post contents...</p>\",\n                    \"post-summary\": \"Summary of exciting blog post\",\n                    \"main-image\": {\n                      \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n                    },\n                    \"slug\": \"exciting-post\",\n                    \"author\": \"580e640c8c9a982ac9b8b778\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"collection_item_changed\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The information about the collection item that was changed\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items\\n\",\n                \"properties\": {\n                  \"_archived\": {\n                    \"type\": \"boolean\",\n                    \"default\": false,\n                    \"description\": \"Boolean determining if the Item is set to archived\"\n                  },\n                  \"_draft\": {\n                    \"type\": \"boolean\",\n                    \"default\": false,\n                    \"description\": \"Boolean determining if the Item is set to draft\"\n                  },\n                  \"_id\": {\n                    \"type\": \"string\",\n                    \"readOnly\": true,\n                    \"example\": \"580e64008c9a982ac9b8b754\",\n                    \"description\": \"Unique identifier for the Item\"\n                  },\n                  \"_cid\": {\n                    \"type\": \"string\",\n                    \"readOnly\": true,\n                    \"example\": \"580e63fc8c9a982ac9b8b745\",\n                    \"description\": \"Unique identifier for the Collection the Item belongs within\"\n                  },\n                  \"name\": {\n                    \"type\": \"string\",\n                    \"example\": \"5 Principles Of Effective Web Design\",\n                    \"description\": \"Name given to the Item\"\n                  },\n                  \"slug\": {\n                    \"type\": \"string\",\n                    \"example\": \"5-principles-of-effective-web-design\",\n                    \"description\": \"URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.\"\n                  }\n                },\n                \"example\": {\n                  \"value\": {\n                    \"_archived\": false,\n                    \"_draft\": false,\n                    \"color\": \"#a98080\",\n                    \"name\": \"Exciting blog post title\",\n                    \"post-body\": \"<p>Blog post contents...</p>\",\n                    \"post-summary\": \"Summary of exciting blog post\",\n                    \"main-image\": {\n                      \"fileId\": \"580e63fe8c9a982ac9b8b749\",\n                      \"url\": \"https://d1otoma47x30pg.cloudfront.net/580e63fc8c9a982ac9b8b744/580e63fe8c9a982ac9b8b749_1477338110257-image20.jpg\"\n                    },\n                    \"slug\": \"exciting-post\",\n                    \"author\": \"580e640c8c9a982ac9b8b778\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"collection_item_deleted\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The results from deleting the collection item\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"deleted\": {\n                    \"type\": \"number\",\n                    \"description\": \"The number of items deleted\",\n                    \"example\": 1\n                  },\n                  \"itemId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"description\": \"The id of the collection item that was deleted\",\n                    \"example\": \"6321ca84df3949bfc6752327\"\n                  }\n                },\n                \"example\": {\n                  \"deleted\": 1,\n                  \"itemId\": \"6321ca84df3949bfc6752327\"\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"collection_item_unpublished\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The results from unpublishing the collection item\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"properties\": {\n                  \"deleted\": {\n                    \"type\": \"number\",\n                    \"description\": \"The number of items deleted\",\n                    \"example\": 1\n                  },\n                  \"itemId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"description\": \"The id of the collection item that was deleted\",\n                    \"example\": \"6321ca84df3949bfc6752327\"\n                  }\n                },\n                \"example\": {\n                  \"deleted\": 1,\n                  \"itemId\": \"6321ca84df3949bfc6752327\"\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"page_created\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The meta data about the page that was created\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The Webhook payload for when a Page is created\",\n                \"type\": \"object\",\n                \"properties\": {\n                  \"siteId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"562ac0395358780a1f5e6fbd\"\n                  },\n                  \"pageId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6\"\n                  },\n                  \"pageTitle\": {\n                    \"type\": \"string\",\n                    \"example\": \"My New Page\"\n                  },\n                  \"createdAt\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2022-12-07T16:51:37.571Z\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"page_metadata_updated\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The meta data about the page that was updated\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The Webhook payload for when a Page's metadata is updated\",\n                \"type\": \"object\",\n                \"properties\": {\n                  \"siteId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"562ac0395358780a1f5e6fbd\"\n                  },\n                  \"pageId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6\"\n                  },\n                  \"pageTitle\": {\n                    \"type\": \"string\",\n                    \"example\": \"My New Page\"\n                  },\n                  \"lastUpdated\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2022-12-07T16:51:37.571Z\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    },\n    \"page_deleted\": {\n      \"post\": {\n        \"requestBody\": {\n          \"description\": \"The meta data about the page that was deleted\",\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"description\": \"The Webhook payload for when a Page is deleted\",\n                \"type\": \"object\",\n                \"properties\": {\n                  \"siteId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"562ac0395358780a1f5e6fbd\"\n                  },\n                  \"pageId\": {\n                    \"type\": \"string\",\n                    \"format\": \"uuid\",\n                    \"example\": \"1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6\"\n                  },\n                  \"pageTitle\": {\n                    \"type\": \"string\",\n                    \"example\": \"My New Page\"\n                  },\n                  \"deletedAt\": {\n                    \"type\": \"string\",\n                    \"format\": \"date-time\",\n                    \"example\": \"2022-12-07T16:51:37.571Z\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n          }\n        }\n      }\n    }\n  },\n  \"x-readme\": {\n    \"explorer-enabled\": true,\n    \"proxy-enabled\": true,\n    \"samples-enabled\": true\n  }\n}"},{"id":"wolframalpha","domain":"www.wolframalpha.com","openapi":"{\n  \"openapi\": \"3.1.0\",\n  \"info\": {\n    \"title\": \"Wolfram\",\n    \"version\": \"v0.1\"\n  },\n  \"servers\": [\n    {\n      \"url\": \"https://www.wolframalpha.com\",\n      \"description\": \"Wolfram Server for ChatGPT\"\n    }\n  ],\n  \"paths\": {\n    \"/api/v1/cloud-plugin\": {\n      \"get\": {\n        \"operationId\": \"getWolframCloudResults\",\n        \"summary\": \"Evaluate Wolfram Language code\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"The result of the Wolfram Language evaluation\",\n            \"content\": {\n              \"text/plain\": {}\n            }\n          },\n          \"400\": {\n            \"description\": \"The request is missing the 'input' parameter\"\n          },\n          \"403\": {\n            \"description\": \"Unauthorized\"\n          },\n          \"500\": {\n            \"description\": \"Wolfram Cloud was unable to generate a result\"\n          },\n          \"503\": {\n            \"description\": \"Service temporarily unavailable. This may be the result of too many requests.\"\n          }\n        },\n        \"parameters\": [\n          {\n            \"name\": \"input\",\n            \"in\": \"query\",\n            \"description\": \"the input expression\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ]\n      }\n    },\n    \"/api/v1/llm-api\": {\n      \"get\": {\n        \"operationId\": \"getWolframAlphaResults\",\n        \"summary\": \"Get Wolfram|Alpha results\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"The result of the Wolfram|Alpha query\",\n            \"content\": {\n              \"text/plain\": {}\n            }\n          },\n          \"400\": {\n            \"description\": \"The request is missing the 'input' parameter\"\n          },\n          \"403\": {\n            \"description\": \"Unauthorized\"\n          },\n          \"500\": {\n            \"description\": \"Wolfram|Alpha was unable to generate a result\"\n          },\n          \"501\": {\n            \"description\": \"Wolfram|Alpha was unable to generate a result\"\n          },\n          \"503\": {\n            \"description\": \"Service temporarily unavailable. This may be the result of too many requests.\"\n          }\n        },\n        \"parameters\": [\n          {\n            \"name\": \"input\",\n            \"in\": \"query\",\n            \"description\": \"the input\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ]\n      }\n    }\n  }\n}"},{"id":"zapier","domain":"nla.zapier.com","openapi":"{\"openapi\": \"3.0.2\", \"info\": {\"title\": \"Zapier Natural Language Actions (NLA) API (Dynamic) - Beta\", \"version\": \"1.0.0\", \"description\": \"<img src=\\\"https://cdn.zappy.app/945f9bf9e44126873952ec5113949c3f.png\\\" width=\\\"100\\\" />\\n\\n## Hello, friend!\\nWelcome to the **Zapier Natural Language Actions API docs**. You are currently viewing the **dynamic** API.\\n\\nThe endpoints below are dynamically generated based on your [current user session](/login/zapier/) and [enabled actions](/demo/).\\n\\nThese *dynamic* endpoints provide a playground below for understanding how the API works, its capabilities, and how they match up to the user-facing action setup screens.\\n\\nThe static docs can be [found here](/api/v1/docs), though generally the dynamic docs are much better, if you have at least one [enabled action](/demo/).\\n\\n\\n## Overview <a name=\\\"overview\\\"></a>\\n\\nZapier is an integration platform with over 5,000+ apps and 50,000+ actions. You can view the [full list here](https://zapier.com/apps). Zapier is used by millions of users, most of whom are non-technical builders -- but often savvy with software. Zapier offers several no code products to connect together the various apps on our platform. NLA exposes the same integrations Zapier uses to build our products, to you, to plug-in the capabilties of Zapier's platform into your own products. \\n\\nFor example, you can use the NLA API to:\\n* Send messages in [Slack](https://zapier.com/apps/slack/integrations)\\n* Add a row to a [Google Sheet](https://zapier.com/apps/google-sheets/integrations)\\n* Draft a new email in [Gmail](https://zapier.com/apps/gmail/integrations)\\n* ... and thousands more, with one universal natural language API\\n\\nThe typical use-case for NLA is to expose our ecosystem of thousands of apps/actions within your own product. NLA is optimized for products that receive user input in natural language (eg. chat, assistant, or other large language model based experience) -- that said, it can also be used to power _any_ product that needs integrations. In this case, think of NLA as a more friendly, human API.\\n\\nNLA contains a decade of experience with API shenanigans, so you don't have to. Common API complexity, automatically handled:\\n* **Every type of auth** (Basic, Session, API Key, OAuth v1, Oauth v2, Digest, ...), Zapier securely handles and signs requests for you\\n* **Support for create, update, and search actions**, endpoints optimized for natural language usage\\n* **Support for custom fields**, Spreadsheet, CRM, and Mailing List friendly!\\n* **Reference by name, not ID**, humans use natural language names, not IDs, to reference things in their apps, so NLA does too\\n* **Smart, human defaults**, APIs sometimes have 100 options. Zapier's platform data helps us make NLA simpler for users out of the box\\n\\n#### Two Usage Modes <a name=\\\"usage-modes\\\"></a>\\n\\nNLA handles all the underlying API auth and translation from natural language --> underlying API call --> return simplified output. The key idea is you (the developer), or your users, expose a set of actions via an oauth-like setup window, which you can then query and execute via a REST API. NLA offers both API Key and OAuth for signing NLA API requests.\\n\\n1. **Server-side only** (API Key): for quickly getting started, testing, and production scenarios where your app will only use actions exposed in the developer's Zapier account (and will use the developer's connected accounts on Zapier.com)\\n\\n2. **User-facing** (Oauth): for production scenarios where you are deploying an end-user facing application and your app needs access to end-user's exposed actions and connected accounts on Zapier.com\\n\\n#### Why Natural Language? \\n\\nSimply, it makes the API easier to use for both developers and users (and also for [large language models](https://en.wikipedia.org/wiki/Wikipedia:Large_language_models)!)\\n\\nWe designed NLA to expose the power of Zapier's platform without passing along the complexity. A few design choices:\\n* There is a [user-facing component](https://cdn.zappy.app/83728f684b91c0afe7d435445fe4ac90.png) to NLA, exposed via a popup window, users set up and enable basic actions which \\\"expose\\\" them to you, the `provider`.\\n* The default action setup for users is minimal and fast. [All required fields are guessed](https://cdn.zappy.app/20afede9be56bf4e30d31986bc5325f8.png). This guessing is accomplished using an lanuage model on the NLA side.\\n* Users can [choose to override any guessed field](https://cdn.zappy.app/e07f6eabfe7512e9decf01cba0c9e847.png) with a fixed value or choice, increasing trust to use the natural language interface.\\n* Custom fields (ex. spreadsheet columns) can also be [dynamically guessed at action run time](https://cdn.zappy.app/9061499b4b973200fc345f695b33e3c7.png), or fixed by the user.\\n\\nUsing the API is then simple:\\n\\n```\\ncurl -v \\\\\\n    -d '{\\\"instructions\\\": \\\"Add Bryan Helmig at Zapier to my NLA test sheet, oh and he loves guitars!\\\"}' \\\\\\n    -H \\\"Authorization: Bearer <ACCESS_TOKEN>\\\" \\\\\\n    -H \\\"Content-Type: application/json\\\" \\\\\\n    'https://nla.zapier.com/api/v1/dynamic/exposed/<ACTION_ID>/execute/'\\n```\\n\\nOr mix in some fixed values:\\n\\n```\\ncurl -v \\\\\\n    -d '{\\\"instructions\\\": \\\"Send a short poem about automation to slack\\\", \\\"channel\\\": \\\"#fun-zapier\\\"}' \\\\\\n    -H \\\"Authorization: Bearer <ACCESS_TOKEN>\\\" \\\\\\n    -H \\\"Content-Type: application/json\\\" \\\\\\n    'https://nla.zapier.com/api/v1/dynamic/exposed/<ACTION_ID>/execute/'\\n```\\n\\n## Auth <a name=\\\"auth\\\"></a>\\n\\n#### For Quickly Exploring <a name=\\\"exploring\\\"></a>\\n\\nIt's best to take advantage of session auth built into the OpenAPI docs.\\n\\n1. [Log in](/login/zapier/)\\n2. [Create and enable an action](/demo/) using our `demo` provider\\n\\nthen all your enabled (\\\"exposed\\\") actions will be available at the bottom of the the **[dynamic API](/api/v1/dynamic/docs)**.\\n\\n#### For Testing or Production (Server-side only mode) <a name=\\\"server-side\\\"></a>\\n\\nFor development purposes, or using NLA in a server-side only use case, you can get started quickly using the provider `dev`. You can generate an `API key` using this provider and make authenticated requests.\\n\\nPlease follow these steps:\\n\\n1. Go to the [Dev App provider](/dev/provider/debug/) debug page.\\n2. Look for \\\"User\\\" -> \\\"Information\\\" -> \\\"API Key\\\". If a key does not exist, follow the instructions to generate one.\\n3. Use this key in the header `x-api-key` to make authenticated requests.\\n\\nTest that the API key is working:\\n\\n```\\ncurl -v \\\\\\n    -H \\\"Content-Type: application/json\\\" \\\\\\n    -H \\\"x-api-key: <API_KEY>\\\" \\\\\\n    'https://nla.zapier.com/api/v1/check/'\\n```\\n\\n#### For Production (User-facing mode) <a name=\\\"production\\\"></a>\\n\\nThe API is authenticated via [standard OAuth v2](https://oauth.net/2/). Submit [this form](https://share.hsforms.com/1DWkLQ7SpSZCuZbTxcBB98gck10t) to get access and receive a `cliend_id`, `client_secret`, and your `provider` name (ex. 'acme'). You'll also need to share with us a `redirect_uri` to receive each `code`. This API uses both `access_token` and `refresh_token`.\\n\\nEach of your users will get a per-user access token which you'll use to sign requests. The access token both authenticates and authorizes a request to access or run (execute) a given user's actions.\\n\\nThe basic auth flow is:\\n\\n1. **Send user to our OAuth start URL, ideally in a popup window**\\n\\n```javascript\\nvar url = https://nla.zapier.com/oauth/authorize/?\\n    response_type=code&\\n    client_id=<YOUR_CLIENT_ID>&\\n    redirect_uri=<YOUR_REDIRECT_URI>&\\n    scope=nla%3Aexposed_actions%3Aexecute\\nvar nla = window.open(url, 'nla', 'width=650,height=700');\\n```\\n\\n2. **User approves request for access**\\n\\n3. **NLA will redirect user via `GET` to the `redirect_uri` you provided us with a `?code=` in the query string**\\n\\n4. **Snag the `code` and `POST` it to the NLA token endpoint `https://nla.zapier.com/oauth/token/`**\\n\\n```\\ncurl -v \\\\\\n    -d '{ \\\\\\n        \\\"code\\\": \\\"<CODE>\\\", \\\\\\n        \\\"grant_type\\\": \\\"authorization_code\\\", \\\\\\n        \\\"client_id\\\": \\\"<YOUR_CLIENT_ID>\\\", \\\\\\n        \\\"client_secret\\\": \\\"<YOUR_CLIENT_SECRET>\\\" \\\\\\n        }' \\\\\\n    -H \\\"Content-Type: application/json\\\" \\\\\\n    -X POST 'https://nla.zapier.com/oauth/token/'\\n```\\n\\n5. **Finally, receive `refresh_token` and `access_token` in response**\\n\\nSave the refresh token, you'll need to use it to request a new access tokehn when it expires.\\n\\nNow you can use the `access_token` to make authenticated requests:\\n\\n```\\ncurl -v -H \\\"Authorization: Bearer <ACCESS_TOKEN>\\\" https://nla.zapier.com/api/v1/dynamic/openapi.json\\n```\\n\\n6. **When the `access_token` expires, refresh it**\\n\\n```\\ncurl -v \\\\\\n    -d '{ \\\\\\n        \\\"refresh_token\\\": \\\"<REFRESH_TOKEN>\\\", \\\\\\n        \\\"grant_type\\\": \\\"refresh_token\\\", \\\\\\n        \\\"client_id\\\": \\\"<YOUR_CLIENT_ID>\\\", \\\\\\n        \\\"client_secret\\\": \\\"<YOUR_CLIENT_SECRET>\\\" \\\\\\n        }' \\\\\\n    -H \\\"Content-Type: application/json\\\" \\\\\\n    -X POST 'https://nla.zapier.com/oauth/token/'\\n```\\n\\n## Action Setup Window <a name=\\\"action-setup-window\\\"></a>\\n\\nUsers set up their actions inside a window popup, that looks and feels similar to an OAuth window. The setup URL is the same for all your users: `https://nla.zapier.com/<PROVIDER>/start/`\\n\\nYou can check the validity of an access/refresh token by checking against the `api/v1/check/` endpoint to determine if you should present the `oauth/authorize/` or `<PROVIDER>/start/` url.\\n\\nYou'd typically include a button or link somewhere inside your product to open the setup window.\\n\\n```javascript\\nvar nla = window.open('https://nla.zapier.com/<PROVIDER>/start', 'nla', 'width=650,height=700');\\n```\\n\\n_Note: the setup window is optimized for 650px width, 700px height_\\n\\n## Using the API <a name=\\\"using-the-api\\\"></a>\\n\\n#### Understanding the AI guessing flow <a name=\\\"ai-guessing\\\"></a>\\n\\nNLA is optimized for a chat/assistant style usage paradigm where you want to offload as much work to a large language model, as possible. For end users, the action setup flow that takes ~seconds (compared to minutes/hours with traditional, complex integration setup).\\n\\nAn action is then run (executed) via an API call with one single natural language parameter `instructions`. In the chat/assistant use case, these instructions are likely being generated by your own large language model. However NLA works just as well even in more traditional software paradigm where `instructions` are perhaps hard-coded into your codebase or supplied by the user directly.\\n\\nConsider the case where you've built a chat product and your end user wants to expose a \\\"Send Slack Message\\\" action to your product. Their action setup [might look like this](https://cdn.zappy.app/d19215e5a2fb3896f6cddf435dfcbe27.png).\\n\\nThe user only has to pick Slack and authorize their Slack account. By default, all required fields are set to \\\"Have AI guess\\\". In this example there are two required fields: Channel and Message Text.\\n\\nIf a field uses \\\"Have AI guess\\\", two things happen:\\n1. When the action is run via the API, NLA will interpret passed `instructions` (using a language model) to fill in the values for Channel and Message Text. NLA is smart about fields like Channel -- Slack's API requires a Channel ID, not a plain text Channel name. NLA handles all such cases automatically.\\n2. The field will be listed as an optional hint parameter in the OpenAPI spec (see \\\"hint parameters\\\" below) which allows you (the developer) to override any `instructions` guessing.\\n\\nSometimes language models hallucinate or guess wrong. And if this were a particuarly sensitive Slack message, the user may not want to leave the selection of \\\"Channel\\\" up to chance. NLA allows the user [to use a specific, fixed value like this](https://cdn.zappy.app/dc4976635259b4889f8412d231fb3be4.png).\\n\\nNow when the action executes, the Message Text will still be automatically guessed but Channel will be fixed to \\\"#testing\\\". This significantly increases user trust and unlocks use cases where the user may have partial but not full trust in an AI guessing.\\n\\nWe call the set of fields the user denoted \\\"Have AI guess\\\" as \\\"hint parameters\\\" -- Message Text above in the above example is one. They are *always* optional. When running actions via the API, you (the developer) can choose to supply none/any/all hint parameters. Any hint parameters provided are treated exactly like \\\"Use a specific value\\\" at the user layer -- as an override. \\n\\nOne aside: custom fields. Zapier supports custom fields throughout the platform. The degenerate case is a spreadsheet, where _every_ column is a custom field. This introduces complexity because sheet columns are unknowable at action setup time if the user picks \\\"Have AI guess\\\" for which spreadsheet. NLA handles such custom fields using the same pattern as above with one distinction: they are not listed as hint parameters because they are literally unknowable until run time. Also as you may expect, if the user picks a specific spreadsheet during action setup, custom fields act like regular fields and flow through normally.\\n\\nIn the typical chat/assistant product use case, you'll want to expose these hint parameters alongside the exposed action list to your own language model. Your language model is likely to have broader context about the user vs the narrowly constrained `instructions` string passed to the API and will result in a better guess.\\n\\nIn summary:\\n\\n```\\n[user supplied \\\"Use specific value\\\"] --overrides--> [API call supplied hint parameters] --overrides--> [API call supplied \\\"instructions\\\"]\\n```\\n\\n\\n#### Common API use cases <a name=\\\"common-api-uses\\\"></a>\\n\\nThere are three common usages:\\n1. Get a list of the current user's exposed actions\\n2. Get a list of an action's optional hint parameters\\n3. Execute an action\\n\\nLet's go through each, assuming you have a valid access token already.\\n\\n### 1. Get a list of the current user's exposed actions <a name=\\\"list-exposed-actions\\\"></a>\\n\\n```\\n# via the RESTful list endpoint:\\ncurl -v -H \\\"Authorization: Bearer <ACCESS_TOKEN>\\\" https://nla.zapier.com/api/v1/dynamic/exposed/\\n\\n# via the dynamic openapi.json schema:\\ncurl -v -H \\\"Authorization: Bearer <ACCESS_TOKEN>\\\" https://nla.zapier.com/api/v1/dynamic/openapi.json\\n```\\n\\nExample of [full list endpoint response here](https://nla.zapier.com/api/v1/dynamic/exposed/), snipped below:\\n\\n```\\n{\\n    \\\"results\\\": [\\n        {\\n            \\\"id\\\": \\\"01GTB1KMX72QTJEXXXXXXXXXX\\\",\\n            \\\"description\\\": \\\"Slack: Send Channel Message\\\",\\n            ...\\n```\\n\\nExample of [full openapi.json response here](https://nla.zapier.com/api/v1/dynamic/openapi.json), snipped below:\\n\\n```\\n{\\n    ...\\n    \\\"paths\\\": {\\n        ...\\n        \\\"/api/v1/dynamic/exposed/01GTB1KMX72QTJEXXXXXXXXXX/execute/\\\": {\\n            \\\"post\\\": {\\n                \\\"operationId\\\": \\\"exposed_01GTB1KMX72QTJEXXXXXXXXXX_execute\\\",\\n                \\\"summary\\\": \\\"Slack: Send Channel Message (execute)\\\",\\n                ...\\n\\n```\\n\\n### 2. Get a list of an action's optional hint parameters <a name=\\\"get-hints\\\"></a>\\n\\nAs a reminder, hint parameters are _always_ optional. By default, all parameters are filled in via guessing based on a provided `instructions` parameter. If a hint parameter is supplied in an API request along with instructions, the hint parameter will _override_ the guess.\\n\\n```\\n# via the RESTful list endpoint:\\ncurl -v -H \\\"Authorization: Bearer <ACCESS_TOKEN>\\\" https://nla.zapier.com/api/v1/dynamic/exposed/\\n\\n# via the dynamic openapi.json schema:\\ncurl -v -H \\\"Authorization: Bearer <ACCESS_TOKEN>\\\" https://nla.zapier.com/api/v1/dynamic/openapi.json\\n```\\n\\nExample of [full list endpoint response here](https://nla.zapier.com/api/v1/dynamic/exposed/), snipped below:\\n\\n```\\n{\\n    \\\"results\\\": [\\n        {\\n            \\\"id\\\": \\\"01GTB1KMX72QTJEXXXXXXXXXX\\\",\\n            \\\"description\\\": \\\"Slack: Send Channel Message\\\",\\n            \\\"input_params\\\": {\\n                \\\"instructions\\\": \\\"str\\\",\\n                \\\"Message_Text\\\": \\\"str\\\",\\n                \\\"Channel\\\": \\\"str\\\",\\n                ...\\n```\\n\\nExample of [full openapi.json response here](https://nla.zapier.com/api/v1/dynamic/openapi.json), snipped below:\\n\\n```\\n{\\n    ...\\n    \\\"components\\\": {\\n        \\\"schemas\\\": {\\n            ...\\n            \\\"PreviewExecuteRequest_01GTB1KMX72QTJEXXXXXXXXXX\\\": {\\n                \\\"title\\\": \\\"PreviewExecuteRequest_01GTB1KMX72QTJEXXXXXXXXXX\\\",\\n                \\\"type\\\": \\\"object\\\",\\n                \\\"properties\\\": {\\n                    \\\"instructions\\\": {\\n                        ...\\n                    },\\n                    \\\"Message_Text\\\": {\\n                        ...\\n                    },\\n                    \\\"Channel_Name\\\": {\\n                        ...\\n                    }\\n\\n```\\n\\n_Note: Every list of input_params will contain `instructions`, the only required parameter for execution._ \\n\\n### 3. Execute (or preview) an action <a name=\\\"execute-action\\\"></a>\\n\\nFinally, with an action ID and any desired, optional, hint parameters in hand, we can run (execute) an action. The parameter `instructions` is the only required parameter run an action.\\n\\n```\\ncurl -v \\\\\\n    -d '{\\\"instructions\\\": \\\"send a short poem about automation and robots to slack\\\", \\\"Channel_Name\\\": \\\"#fun-zapier\\\"}' \\\\\\n    -H \\\"Content-Type: application/json\\\" \\\\\\n    -X POST 'https://nla.zapier.com/api/v1/dynamic/exposed/01GTB1KMX72QTJEXXXXXXXXXX/execute/'\\n```\\n\\nAnother example, this time an action to retrieve data:\\n\\n```\\ncurl -v \\\\\\n    -d '{\\\"instructions\\\": \\\"grab the latest email from bryan helmig\\\"}' \\\\\\n    -H \\\"Content-Type: application/json\\\" \\\\\\n    -X POST 'https://nla.zapier.com/api/v1/dynamic/exposed/01GTA3G1WD49GN1XXXXXXXXX/execute/'\\n```\\n\\nOne more example, this time requesting a preview of the action:\\n\\n```\\ncurl -v \\\\\\n    -d '{\\\"instructions\\\": \\\"say Hello World to #fun-zapier\\\", \\\"preview_only\\\": true}' \\\\\\n    -H \\\"Content-Type: application/json\\\" \\\\\\n    -X POST 'https://nla.zapier.com/api/v1/dynamic/exposed/01GTB1KMX72QTJEXXXXXXXXXX/execute/'\\n```\\n\\n\\n#### Execution Return Data <a name=\\\"return-data\\\"></a>\\n\\n##### The Status Key <a name=\\\"status-key\\\"></a>\\n\\nAll actions will contain a `status`. The status can be one of four values:\\n\\n`success`\\n\\nThe action executed successfully and found results.\\n\\n`error`\\n\\nThe action failed to execute. An `error` key will have its value populated.\\n\\nExample:\\n\\n```\\n    {\\n        ...\\n        \\\"action_used\\\": \\\"Gmail: Send Email\\\",\\n        \\\"result\\\": null,\\n        \\\"status\\\": \\\"error\\\",\\n        \\\"error\\\": \\\"Error from app: Required field \\\"subject\\\" (subject) is missing. Required field \\\"Body\\\" (body) is missing.\\\"\\n    }\\n```\\n\\n`empty`\\n\\nThe action executed successfully, but no results were found. This status exists to be explicit that having an empty `result` is correct.\\n\\n`preview`\\n\\nThe action is a preview and not a real execution. A `review_url` key will contain a URL to optionally execute the action from a browser,\\nor just rerun without the `preview_only` input parameter.\\n\\nExample:\\n\\n```\\n    {\\n        ...\\n        \\\"action_used\\\": \\\"Slack: Send Channel Message\\\",\\n        \\\"input_params\\\": {\\n            \\\"Channel\\\": \\\"fun-zapier\\\",\\n            \\\"Message_Text\\\": \\\"Hello World\\\"\\n        },\\n        \\\"review_url\\\": \\\"https://nla.zapier.com/execution/01GW2E2ZNE5W07D32E41HFT5GJ/?needs_confirmation=true\\\",\\n        \\\"status\\\": \\\"preview\\\",\\n    }\\n```\\n\\n##### The Result Key <a name=\\\"result-key\\\"></a>\\n\\nAll actions will return trimmed `result` data. `result` is ideal for humans and language models alike! By default, `full_results` is not included but can be useful for machines (contact us if you'd like access to full results). The trimmed version is created using some AI and heuristics:\\n\\n* selects for data that is plain text and human readable\\n* discards machine data like IDs, headers, etc.\\n* prioritizes data that is very popular on Zapier\\n* reduces final result into about ~500 words\\n\\nTrimmed results are ideal for inserting directly back into the prompt context of a large language models without blowing up context token window limits.\\n\\nExample of a trimmed results payload from \\\"Gmail: Find Email\\\":\\n\\n```\\n    {\\n        \\\"result\\\": {\\n            \\\"from__email\\\": \\\"mike@zapier.com\\\",\\n            \\\"from__name\\\": \\\"Mike Knoop\\\",\\n            \\\"subject\\\": \\\"Re: Getting setup\\\",\\n            \\\"body_plain\\\": \\\"Hi Karla, thanks for following up. I can confirm I got access to everything! ... Thanks! Mike\\\",\\n            \\\"cc__emails\\\": \\\"bryan@zapier.com, wade@zapier.com\\\"\\n            \\\"to__email\\\": \\\"Mike Knoop\\\",\\n        }\\n    }\\n```\\n## Changelog <a name=\\\"changelog\\\"></a>\\n\\n**Mar 20, 2023**\\nShipped two minor but breaking changes, and one other minor change to the API's response data:\\n\\n* Route: `/api/v1/configuration-link/`\\n  * Key `url` is now `configuration_link` **(breaking change)**\\n* Route: `/api/v1/exposed/{exposed_app_action_id}/execute/`\\n  * Key `rating_url` is now `review_url` **(breaking change)**\\n* Route: `/api/v1/exposed/`\\n  * Added `configuration_link` key\"}, \"servers\": [{\"url\": \"https://nla.zapier.com\"}], \"paths\": {\"/api/v1/search/actions/\": {\"get\": {\"operationId\": \"search_all_actions\", \"summary\": \"List Directory Actions\", \"parameters\": [{\"in\": \"query\", \"name\": \"query\", \"schema\": {\"title\": \"Query\", \"type\": \"string\"}, \"required\": false}, {\"in\": \"query\", \"name\": \"include_exposed\", \"schema\": {\"title\": \"Include Exposed\", \"default\": false, \"type\": \"boolean\"}, \"required\": false}, {\"in\": \"query\", \"name\": \"count\", \"schema\": {\"title\": \"Count\", \"default\": 10, \"type\": \"integer\"}, \"required\": false}], \"responses\": {\"200\": {\"description\": \"OK\", \"content\": {\"application/json\": {\"schema\": {\"$ref\": \"#/components/schemas/GenericResults_ActionSchema_\"}}}}}, \"description\": \"Search through all actions Zapier supports, even if they are not exposed.\\n\\nBecause new actions may have been added by the user, you should call this\\nendpoint with `include_exposed=true` to get the latest list of exposed actions.\", \"security\": [{\"SessionAuth\": []}, {\"AccessPointApiKeyHeader\": []}, {\"AccessPointApiKeyQuery\": []}, {\"AccessPointOAuth\": []}]}}, \"/api/v1/preview-a-zap/\": {\"post\": {\"operationId\": \"preview_a_zap\", \"summary\": \"Preview A Zap\", \"parameters\": [], \"responses\": {\"200\": {\"description\": \"OK\", \"content\": {\"application/json\": {\"schema\": {\"$ref\": \"#/components/schemas/GenericResult_dict_\"}}}}}, \"description\": \"(Beta!) Given a natural language description of a multistep Zap, return a possible definition of the Zap.\", \"requestBody\": {\"content\": {\"application/json\": {\"schema\": {\"$ref\": \"#/components/schemas/PreviewAZapSchema\"}}}, \"required\": true}, \"security\": [{\"SessionAuth\": []}, {\"AccessPointApiKeyHeader\": []}, {\"AccessPointApiKeyQuery\": []}, {\"AccessPointOAuth\": []}]}}, \"/api/v1/configuration-link/\": {\"get\": {\"operationId\": \"get_configuration_link\", \"summary\": \"Get Configuration Link\", \"parameters\": [], \"responses\": {\"200\": {\"description\": \"OK\"}}, \"description\": \"Provides a link to configure more actions. Alternatively, searching through apps and actions will provide more specific configuration links.\", \"security\": [{\"SessionAuth\": []}, {\"AccessPointApiKeyHeader\": []}, {\"AccessPointApiKeyQuery\": []}, {\"AccessPointOAuth\": []}]}}, \"/api/v1/exposed/\": {\"get\": {\"operationId\": \"list_exposed_actions\", \"summary\": \"List Exposed Actions\", \"parameters\": [], \"responses\": {\"200\": {\"description\": \"OK\", \"content\": {\"application/json\": {\"schema\": {\"$ref\": \"#/components/schemas/ExposedActionResponseSchema\"}}}}}, \"description\": \"List all the currently exposed actions for the given account.\", \"security\": [{\"SessionAuth\": []}, {\"AccessPointApiKeyHeader\": []}, {\"AccessPointApiKeyQuery\": []}, {\"AccessPointOAuth\": []}]}}}, \"components\": {\"schemas\": {\"AppSchema\": {\"title\": \"AppSchema\", \"type\": \"object\", \"properties\": {\"selected_api\": {\"title\": \"Selected Api\", \"type\": \"string\"}, \"name\": {\"title\": \"Name\", \"type\": \"string\"}, \"logo_url\": {\"title\": \"Logo Url\", \"type\": \"string\"}}, \"required\": [\"selected_api\", \"name\", \"logo_url\"]}, \"ActionSchema\": {\"title\": \"ActionSchema\", \"type\": \"object\", \"properties\": {\"key\": {\"title\": \"Key\", \"type\": \"string\"}, \"type\": {\"title\": \"Type\", \"type\": \"string\"}, \"name\": {\"title\": \"Name\", \"type\": \"string\"}, \"app\": {\"$ref\": \"#/components/schemas/AppSchema\"}, \"configuration_link\": {\"title\": \"Configuration Link\", \"description\": \"URL to configure and expose this action.\", \"type\": \"string\"}}, \"required\": [\"key\", \"type\", \"name\", \"app\"]}, \"GenericResults_ActionSchema_\": {\"title\": \"GenericResults[ActionSchema]\", \"type\": \"object\", \"properties\": {\"results\": {\"title\": \"Results\", \"type\": \"array\", \"items\": {\"$ref\": \"#/components/schemas/ActionSchema\"}}}, \"required\": [\"results\"]}, \"GenericResult_dict_\": {\"title\": \"GenericResult[dict]\", \"type\": \"object\", \"properties\": {\"result\": {\"title\": \"Result\", \"type\": \"object\"}}, \"required\": [\"result\"]}, \"PreviewAZapSchema\": {\"title\": \"PreviewAZapSchema\", \"type\": \"object\", \"properties\": {\"description_of_zap\": {\"title\": \"Description Of Zap\", \"description\": \"A detailed description of the multi-step Zap the user wants to make. Eg: 'When I get a Typeform response for 'Support Form', create a new row in my 'Inbound Support' Google Sheet.'\", \"type\": \"string\"}}, \"required\": [\"description_of_zap\"]}, \"ExposedActionSchema\": {\"title\": \"ExposedActionSchema\", \"type\": \"object\", \"properties\": {\"id\": {\"title\": \"Id\", \"description\": \"The unique ID of the exposed action.\", \"type\": \"string\"}, \"operation_id\": {\"title\": \"Operation Id\", \"description\": \"The operation ID of the exposed action.\", \"type\": \"string\"}, \"description\": {\"title\": \"Description\", \"description\": \"Description of the action.\", \"type\": \"string\"}, \"params\": {\"title\": \"Params\", \"description\": \"Available hint fields for the action.\", \"type\": \"object\"}}, \"required\": [\"id\", \"operation_id\", \"description\", \"params\"]}, \"ExposedActionResponseSchema\": {\"title\": \"ExposedActionResponseSchema\", \"type\": \"object\", \"properties\": {\"results\": {\"title\": \"Results\", \"type\": \"array\", \"items\": {\"$ref\": \"#/components/schemas/ExposedActionSchema\"}}, \"configuration_link\": {\"title\": \"Configuration Link\", \"description\": \"URL to configure and expose more actions.\", \"type\": \"string\"}}, \"required\": [\"results\", \"configuration_link\"]}}, \"securitySchemes\": {\"SessionAuth\": {\"type\": \"apiKey\", \"in\": \"cookie\", \"name\": \"sessionid\"}, \"AccessPointApiKeyHeader\": {\"type\": \"apiKey\", \"in\": \"header\", \"name\": \"X-API-Key\"}, \"AccessPointApiKeyQuery\": {\"type\": \"apiKey\", \"in\": \"query\", \"name\": \"api_key\"}, \"AccessPointOAuth\": {\"type\": \"oauth2\", \"flows\": {\"authorizationCode\": {\"authorizationUrl\": \"/oauth/authorize/\", \"tokenUrl\": \"/oauth/token/\", \"scopes\": {\"nla:exposed_actions:execute\": \"Execute exposed actions\"}}}}}}}"},{"id":"openpm","domain":"openpm.ai","openapi":"{\"openapi\":\"3.1.0\",\"info\":{\"version\":\"0.0.8\",\"title\":\"openpm\",\"license\":{\"name\":\"MIT\",\"identifier\":\"MIT\"}},\"servers\":[{\"url\":\"https://openpm.ai/api\"}],\"paths\":{\"/packages\":{\"get\":{\"description\":\"Returns all packages\",\"parameters\":[{\"name\":\"limit\",\"in\":\"query\",\"description\":\"How many package to return per page (default 500)\",\"schema\":{\"type\":\"integer\",\"maximum\":500,\"format\":\"int32\"}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number (default 1)\",\"schema\":{\"type\":\"integer\",\"format\":\"int32\"}}],\"responses\":{\"200\":{\"description\":\"A paginated list of packages\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PackageLite\"}},\"total\":{\"type\":\"integer\",\"format\":\"int32\"},\"page\":{\"type\":\"integer\",\"format\":\"int32\"},\"limit\":{\"type\":\"integer\",\"format\":\"int32\"}}}}}}}},\"post\":{\"description\":\"Creates a package\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Package\"}}}},\"responses\":{\"200\":{\"description\":\"A package\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Package\"}}}}},\"security\":[{\"openpm\":[]}]}},\"/packages/search\":{\"get\":{\"description\":\"Searches packages\",\"parameters\":[{\"name\":\"limit\",\"in\":\"query\",\"description\":\"How many package to return per page (default 500)\",\"schema\":{\"type\":\"integer\",\"maximum\":500,\"format\":\"int32\"}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number (default 1)\",\"schema\":{\"type\":\"integer\",\"format\":\"int32\"}},{\"name\":\"query\",\"in\":\"query\",\"required\":true,\"description\":\"Search query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"A paginated list of packages\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PackageLite\"}},\"total\":{\"type\":\"integer\",\"format\":\"int32\"},\"page\":{\"type\":\"integer\",\"format\":\"int32\"},\"limit\":{\"type\":\"integer\",\"format\":\"int32\"}}}}}}}}},\"/packages/lookup\":{\"get\":{\"description\":\"Looks up packages by id\",\"parameters\":[{\"name\":\"ids\",\"in\":\"query\",\"description\":\"CSV list of package ids\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"A paginated list of packages\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Package\"}}}}}}}},\"/packages/connected\":{\"get\":{\"description\":\"Looks up packages that are connected to the current user\",\"responses\":{\"200\":{\"description\":\"A list of packages\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Package\"}}}}}},\"security\":[{\"openpm\":[]}]}},\"/packages/{packageId}\":{\"get\":{\"description\":\"Returns a package\",\"parameters\":[{\"name\":\"packageId\",\"required\":true,\"description\":\"Package id\",\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"A package\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Package\"}}}}}},\"post\":{\"description\":\"Updates a package\",\"parameters\":[{\"name\":\"packageId\",\"required\":true,\"description\":\"Package id\",\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Package\"}}}},\"responses\":{\"200\":{\"description\":\"A package\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Package\"}}}}},\"security\":[{\"openpm_auth\":[]}]}},\"/packages/{packageId}/openapi\":{\"get\":{\"description\":\"Returns an OpenAPI spec\",\"parameters\":[{\"name\":\"packageId\",\"in\":\"path\",\"required\":true,\"description\":\"Package id\",\"schema\":{\"type\":\"string\"}},{\"name\":\"format\",\"in\":\"query\",\"description\":\"Format of the OpenAPI spec (default json)\",\"schema\":{\"type\":\"string\",\"enum\":[\"json\",\"yaml\"]}}],\"responses\":{\"200\":{\"description\":\"An OpenAPI spec\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"openapi\":{\"type\":\"string\"},\"info\":{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"},\"version\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"}}}}}}}}}}},\"/packages/{packageId}/ai-plugin\":{\"get\":{\"description\":\"Returns an OpenAI plugin manifest\",\"parameters\":[{\"name\":\"packageId\",\"required\":true,\"description\":\"Package id\",\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"An OpenAPI spec\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/AiPlugin\"}}}}}}},\"/ai-plugins/search\":{\"get\":{\"description\":\"Searches packages and responds with the ai-plugin manifest\",\"parameters\":[{\"name\":\"limit\",\"in\":\"query\",\"description\":\"How many package to return per page (default 10)\",\"schema\":{\"type\":\"integer\",\"maximum\":100,\"format\":\"int32\"}},{\"name\":\"query\",\"in\":\"query\",\"required\":true,\"description\":\"Search query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"A list of ai-plugins (not paginated)\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/AiPlugin\"}}}}}}}},\"/ai-plugins/lookup\":{\"get\":{\"description\":\"Looks up ai-plugins by package ids\",\"parameters\":[{\"name\":\"ids\",\"in\":\"query\",\"description\":\"CSV list of package ids\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"A list of ai-plugins\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/AiPlugin\"}}}}}}}}},\"components\":{\"schemas\":{\"PaginatedPackage\":{\"required\":[\"items\",\"total\",\"page\",\"limit\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Package\"}},\"total\":{\"type\":\"integer\",\"format\":\"int32\",\"description\":\"Total number of items\"},\"page\":{\"type\":\"integer\",\"format\":\"int32\",\"description\":\"Current page\"},\"limit\":{\"type\":\"integer\",\"format\":\"int32\",\"description\":\"Items per page\"}}},\"Package\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Package id\"},\"name\":{\"type\":\"string\",\"description\":\"Package name\",\"example\":\"Acme\"},\"machine_name\":{\"type\":\"string\",\"description\":\"Package name (for machines)\",\"example\":\"acme\"},\"domain\":{\"type\":\"string\",\"description\":\"Package domain\",\"example\":\"acme.com\"},\"version\":{\"type\":\"string\",\"description\":\"Package version\",\"example\":\"1.0.0\"},\"created_at\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Package creation date\",\"example\":\"2019-01-01T00:00:00Z\"},\"updated_at\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Package last update date\",\"example\":\"2019-01-01T00:00:00Z\"},\"published_at\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Package publication date\",\"example\":\"2019-01-01T00:00:00Z\"},\"logo_url\":{\"type\":\"string\",\"description\":\"Package logo url\",\"example\":\"https://logo.clearbit.com/acme.com\"},\"contact_email\":{\"type\":\"string\",\"description\":\"Package contact email\",\"example\":\"support@acme.com\"},\"legal_info_url\":{\"type\":\"string\",\"description\":\"Package legal info url\",\"example\":\"https://acme.com/legal\"},\"description\":{\"type\":\"string\",\"description\":\"Package description\",\"example\":\"Acme is an API for searching and retrieving information about Acme's products.\"},\"machine_description\":{\"type\":\"string\",\"description\":\"Package description (for machines)\",\"example\":\"Acme is an API for searching and retrieving information about Acme's products.\"},\"user_id\":{\"type\":\"string\",\"description\":\"Package owner user id\"},\"openapi\":{\"type\":\"string\",\"description\":\"Package OpenAPI specification\",\"example\":\"{\\\"openapi\\\": \\\"3.1.0\\\", \\\"info\\\": {\\\"title\\\": \\\"Acme API\\\"}}\"}}},\"PackageLite\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Package id\"},\"name\":{\"type\":\"string\",\"description\":\"Package name\",\"example\":\"Acme\"},\"machine_name\":{\"type\":\"string\",\"description\":\"Package name (for machines)\",\"example\":\"acme\"},\"domain\":{\"type\":\"string\",\"description\":\"Package domain\",\"example\":\"acme.com\"},\"version\":{\"type\":\"string\",\"description\":\"Package version\",\"example\":\"1.0.0\"},\"created_at\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Package creation date\",\"example\":\"2019-01-01T00:00:00Z\"},\"updated_at\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Package last update date\",\"example\":\"2019-01-01T00:00:00Z\"},\"published_at\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Package publication date\",\"example\":\"2019-01-01T00:00:00Z\"},\"logo_url\":{\"type\":\"string\",\"description\":\"Package logo url\",\"example\":\"https://logo.clearbit.com/acme.com\"},\"contact_email\":{\"type\":\"string\",\"description\":\"Package contact email\",\"example\":\"support@acme.com\"},\"legal_info_url\":{\"type\":\"string\",\"description\":\"Package legal info url\",\"example\":\"https://acme.com/legal\"},\"description\":{\"type\":\"string\",\"description\":\"Package description\",\"example\":\"Acme is an API for searching and retrieving information about Acme's products.\"},\"machine_description\":{\"type\":\"string\",\"description\":\"Package description (for machines)\",\"example\":\"Acme is an API for searching and retrieving information about Acme's products.\"},\"user_id\":{\"type\":\"string\",\"description\":\"Package owner user id\"}}},\"AiPlugin\":{\"required\":[\"schema_version\",\"name_for_human\",\"name_for_model\",\"description_for_human\",\"description_for_model\",\"auth\",\"api\",\"logo_url\",\"contact_email\",\"legal_info_url\"],\"properties\":{\"schema_version\":{\"type\":\"string\"},\"name_for_human\":{\"type\":\"string\"},\"name_for_model\":{\"type\":\"string\"},\"description_for_human\":{\"type\":\"string\"},\"description_for_model\":{\"type\":\"string\"},\"auth\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\"}}},\"api\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"},\"is_user_authenticated\":{\"type\":\"boolean\"}}},\"logo_url\":{\"type\":\"string\"},\"contact_email\":{\"type\":\"string\"},\"legal_info_url\":{\"type\":\"string\"}}}},\"securitySchemes\":{\"openpm_auth\":{\"description\":\"Openpm API Key Authentication\",\"type\":\"http\",\"scheme\":\"bearer\"}}}}"},{"id":"reflect-chatgpt","domain":"reflect.app","openapi":"{\"openapi\":\"3.0.1\",\"info\":{\"version\":\"0.0.6\",\"title\":\"reflect\",\"license\":{\"name\":\"MIT\"}},\"servers\":[{\"url\":\"https://reflect.app/api\"}],\"paths\":{\"/graphs/{graphId}/daily-notes\":{\"put\":{\"description\":\"Appends to daily note\",\"parameters\":[{\"in\":\"path\",\"name\":\"graphId\",\"required\":true,\"description\":\"Your graph identifier\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"required\":[\"text\",\"transform_type\"],\"properties\":{\"date\":{\"description\":\"Date of the daily note. ISO 8601 format. Defaults to today.\",\"type\":\"string\",\"example\":\"2020-01-01\"},\"text\":{\"description\":\"Text to append to the daily note\",\"type\":\"string\"},\"transform_type\":{\"description\":\"Transform type to apply to the text. This will always be list-append for now.\",\"type\":\"string\",\"enum\":[\"list-append\"],\"example\":\"list-append\"},\"list_name\":{\"description\":\"Name of the list to append to\",\"type\":\"string\",\"example\":\"Updates\"}}}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"Success message\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"success\":{\"type\":\"boolean\"}}}}}}}}}}}"},{"id":"reflect","domain":"reflect.app","openapi":"{\"openapi\":\"3.0.0\",\"info\":{\"version\":\"0.0.7\",\"title\":\"reflect\",\"license\":{\"name\":\"MIT\"}},\"servers\":[{\"url\":\"https://reflect.app/api\"}],\"paths\":{\"/graphs/{graphId}/books\":{\"get\":{\"description\":\"Returns all books\",\"parameters\":[{\"in\":\"path\",\"name\":\"graphId\",\"required\":true,\"description\":\"Your graph identifier\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"A list of books\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Book\"}}}}}},\"security\":[{\"reflect_auth\":[\"write:graph\",\"read:graph\"]}]}},\"/graphs/{graphId}/books/sync\":{\"post\":{\"description\":\"Sync new books and highlights\",\"parameters\":[{\"in\":\"path\",\"name\":\"graphId\",\"required\":true,\"description\":\"Your graph identifier\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"$ref\":\"#/components/requestBodies/BookArray\"},\"responses\":{\"200\":{\"description\":\"Success message\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"success\":{\"type\":\"boolean\"}}}}}}},\"security\":[{\"reflect_auth\":[\"write:graph\"]}]}},\"/graphs/{graphId}/links\":{\"get\":{\"description\":\"Returns all links\",\"parameters\":[{\"in\":\"path\",\"name\":\"graphId\",\"required\":true,\"description\":\"Your graph identifier\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"A list of links\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Link\"}}}}}},\"security\":[{\"reflect_auth\":[\"read:graph\"]}]},\"post\":{\"description\":\"Create a new link\",\"parameters\":[{\"in\":\"path\",\"name\":\"graphId\",\"required\":true,\"description\":\"Your graph identifier\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"$ref\":\"#/components/requestBodies/Link\"},\"responses\":{\"200\":{\"description\":\"Your created link\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Link\"}}}}},\"security\":[{\"reflect_auth\":[\"write:graph\",\"read:graph\"]}]}},\"/graphs/{graphId}/notes\":{\"post\":{\"description\":\"Create a new note\",\"parameters\":[{\"in\":\"path\",\"name\":\"graphId\",\"required\":true,\"description\":\"Your graph identifier\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"$ref\":\"#/components/requestBodies/Note\"},\"responses\":{\"200\":{\"description\":\"Your created note\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Note\"}}}}},\"security\":[{\"reflect_auth\":[\"write:graph\",\"read:graph\"]}]}},\"/graphs/{graphId}/daily-notes\":{\"put\":{\"description\":\"Appends to daily note\",\"parameters\":[{\"in\":\"path\",\"name\":\"graphId\",\"required\":true,\"description\":\"Your graph identifier\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"required\":[\"text\",\"transform_type\"],\"properties\":{\"date\":{\"description\":\"Date of the daily note. ISO 8601 format. Defaults to today.\",\"type\":\"string\",\"example\":\"2020-01-01\"},\"text\":{\"description\":\"Text to append to the daily note\",\"type\":\"string\"},\"transform_type\":{\"description\":\"Transform type to apply to the text. This will always be list-append for now.\",\"type\":\"string\",\"enum\":[\"list-append\"],\"example\":\"list-append\"},\"list_name\":{\"description\":\"Name of the list to append to\",\"type\":\"string\",\"example\":\"Updates\"}}}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"Success message\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"success\":{\"type\":\"boolean\"}}}}}}},\"security\":[{\"reflect_auth\":[\"write:graph\"]}]}},\"/users/me\":{\"get\":{\"description\":\"Returns current user\",\"responses\":{\"200\":{\"description\":\"Current user\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/User\"}}}}},\"security\":[{\"reflect_auth\":[\"read:graph\",\"write:graph\"]}]}}},\"components\":{\"requestBodies\":{\"BookArray\":{\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"books\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Book\"}}}}}},\"description\":\"List of book objects\",\"required\":true},\"Link\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Link\"}}},\"description\":\"Link object\",\"required\":true},\"Note\":{\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"subject\":{\"type\":\"string\"},\"content_markdown\":{\"type\":\"string\"},\"content_html\":{\"type\":\"string\"},\"pinned\":{\"type\":\"boolean\"}}}}},\"description\":\"Note object\",\"required\":true}},\"schemas\":{\"Book\":{\"required\":[\"id\",\"asin\",\"title\"],\"properties\":{\"id\":{\"type\":\"string\"},\"asin\":{\"type\":\"string\",\"description\":\"Amazon Standard Identification Number\"},\"title\":{\"type\":\"string\",\"description\":\"Book title\"},\"authors\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Array of book author names\"},\"notes\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BookNote\"},\"description\":\"Array of book notes\"}}},\"BookNote\":{\"required\":[\"type\"],\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"note\",\"highlight\"],\"description\":\"Type of note\"},\"page\":{\"type\":\"integer\",\"format\":\"int32\",\"description\":\"Page number of note (if applicable)\"},\"location\":{\"type\":\"integer\",\"format\":\"int32\",\"description\":\"Location of note (if applicable)\"},\"value\":{\"type\":\"string\",\"description\":\"Note contents\"}}},\"User\":{\"required\":[\"uid\"],\"properties\":{\"uid\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"graph_ids\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"Link\":{\"required\":[\"url\"],\"properties\":{\"id\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"},\"title\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"updated_at\":{\"type\":\"string\",\"format\":\"date-time\"},\"highlights\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"Note\":{\"required\":[\"text\"],\"properties\":{\"id\":{\"type\":\"string\"},\"created_at\":{\"type\":\"string\",\"format\":\"date-time\"},\"updated_at\":{\"type\":\"string\",\"format\":\"date-time\"}}}},\"securitySchemes\":{\"reflect_auth\":{\"description\":\"Reflect OAuth\",\"type\":\"oauth2\",\"flows\":{\"authorizationCode\":{\"authorizationUrl\":\"https://reflect.app/oauth\",\"tokenUrl\":\"https://reflect.app/api/oauth/token\",\"scopes\":{\"read:graph\":\"Read access to protected resources\",\"write:graph\":\"Write access to protected resources\"}}}}}}}"},{"id":"weather","domain":"api.weather.gov","openapi":"{\n  \"openapi\": \"3.0.3\",\n  \"info\": {\n    \"title\": \"weather.gov API\",\n    \"description\": \"weather.gov API\",\n    \"version\": \"1.11.1\"\n  },\n  \"servers\": [\n    {\n      \"url\": \"https://api.weather.gov\",\n      \"description\": \"Production server\"\n    }\n  ],\n  \"paths\": {\n    \"/alerts\": {\n      \"get\": {\n        \"description\": \"Returns all alerts\",\n        \"operationId\": \"alerts_query\",\n        \"parameters\": [\n          {\n            \"name\": \"active\",\n            \"in\": \"query\",\n            \"description\": \"List only active alerts (use /alerts/active endpoints instead)\",\n            \"deprecated\": true,\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"$ref\": \"#/components/parameters/QueryStartTime\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/QueryEndTime\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertStatus\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertMessageType\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertEventName\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertCode\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertArea\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertPoint\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertRegion\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertRegionType\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertZone\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertUrgency\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertSeverity\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertCertainty\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/Limit\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/PaginationCursor\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/AlertCollection\"\n          },\n          \"301\": {\n            \"description\": \"Certain common queries may be redirected to discrete URLs\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/alerts/active\": {\n      \"get\": {\n        \"description\": \"Returns all currently active alerts\",\n        \"operationId\": \"alerts_active\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/AlertStatus\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertMessageType\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertEventName\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertCode\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertArea\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertPoint\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertRegion\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertRegionType\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertZone\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertUrgency\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertSeverity\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/AlertCertainty\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/Limit\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/AlertCollection\"\n          },\n          \"301\": {\n            \"description\": \"Certain common queries may be redirected to discrete URLs\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/alerts/active/count\": {\n      \"get\": {\n        \"description\": \"Returns info on the number of active alerts\",\n        \"operationId\": \"alerts_active_count\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"A data structure showing the counts of active alerts broken down by various categories\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"total\": {\n                      \"minimum\": 0,\n                      \"type\": \"integer\",\n                      \"description\": \"The total number of active alerts\"\n                    },\n                    \"land\": {\n                      \"minimum\": 0,\n                      \"type\": \"integer\",\n                      \"description\": \"The total number of active alerts affecting land zones\"\n                    },\n                    \"marine\": {\n                      \"minimum\": 0,\n                      \"type\": \"integer\",\n                      \"description\": \"The total number of active alerts affecting marine zones\"\n                    },\n                    \"regions\": {\n                      \"type\": \"object\",\n                      \"description\": \"Active alerts by marine region\",\n                      \"additionalProperties\": {\n                        \"minimum\": 1,\n                        \"type\": \"integer\"\n                      }\n                    },\n                    \"areas\": {\n                      \"type\": \"object\",\n                      \"description\": \"Active alerts by area (state/territory)\",\n                      \"additionalProperties\": {\n                        \"minimum\": 1,\n                        \"type\": \"integer\"\n                      }\n                    },\n                    \"zones\": {\n                      \"type\": \"object\",\n                      \"description\": \"Active alerts by NWS public zone or county code\",\n                      \"additionalProperties\": {\n                        \"minimum\": 1,\n                        \"type\": \"integer\"\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      }\n    },\n    \"/alerts/active/zone/{zoneId}\": {\n      \"get\": {\n        \"description\": \"Returns active alerts for the given NWS public zone or county\",\n        \"operationId\": \"alerts_active_zone\",\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/AlertCollection\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/NWSZoneId\"\n        }\n      ]\n    },\n    \"/alerts/active/area/{area}\": {\n      \"get\": {\n        \"description\": \"Returns active alerts for the given area (state or marine area)\",\n        \"operationId\": \"alerts_active_area\",\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/AlertCollection\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"area\",\n          \"in\": \"path\",\n          \"description\": \"State/area ID\",\n          \"required\": true,\n          \"schema\": {\n            \"$ref\": \"#/components/schemas/AreaCode\"\n          }\n        }\n      ]\n    },\n    \"/alerts/active/region/{region}\": {\n      \"get\": {\n        \"description\": \"Returns active alerts for the given marine region\",\n        \"operationId\": \"alerts_active_region\",\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/AlertCollection\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"region\",\n          \"in\": \"path\",\n          \"description\": \"Marine region ID\",\n          \"required\": true,\n          \"schema\": {\n            \"$ref\": \"#/components/schemas/MarineRegionCode\"\n          }\n        }\n      ]\n    },\n    \"/alerts/types\": {\n      \"get\": {\n        \"description\": \"Returns a list of alert types\",\n        \"operationId\": \"alerts_types\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"A list of recognized event types\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"eventTypes\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"string\"\n                      },\n                      \"description\": \"A list of recognized event types\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      }\n    },\n    \"/alerts/{id}\": {\n      \"get\": {\n        \"description\": \"Returns a specific alert\",\n        \"operationId\": \"alerts_single\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"An alert record\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/AlertGeoJson\"\n                }\n              },\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/AlertJsonLd\"\n                }\n              },\n              \"application/cap+xml\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/AlertCap\"\n                }\n              }\n            },\n            \"x-url-content-negotiation-extensions\": {\n              \"json\": \"application/geo+json\",\n              \"cap\": \"application/cap+xml\"\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"id\",\n          \"in\": \"path\",\n          \"description\": \"Alert identifier\",\n          \"required\": true,\n          \"schema\": {\n            \"$ref\": \"#/components/schemas/AlertId\"\n          }\n        }\n      ]\n    },\n    \"/aviation/cwsus/{cwsuId}\": {\n      \"get\": {\n        \"description\": \"Returns metadata about a Center Weather Service Unit\",\n        \"operationId\": \"cwsu\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/NWSCenterWeatherServiceUnitId\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CenterWeatherServiceUnitJsonLd\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/aviation/cwsus/{cwsuId}/cwas\": {\n      \"get\": {\n        \"description\": \"Returns a list of Center Weather Advisories from a CWSU\",\n        \"operationId\": \"cwas\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/NWSCenterWeatherServiceUnitId\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CenterWeatherAdvisoryCollectionGeoJson\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/aviation/cwsus/{cwsuId}/cwas/{date}/{sequence}\": {\n      \"get\": {\n        \"description\": \"Returns a list of Center Weather Advisories from a CWSU\",\n        \"operationId\": \"cwa\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/NWSCenterWeatherServiceUnitId\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/Date\"\n          },\n          {\n            \"name\": \"sequence\",\n            \"in\": \"path\",\n            \"description\": \"Sequence number\",\n            \"required\": true,\n            \"schema\": {\n              \"minimum\": 100,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/CenterWeatherAdvisoryGeoJson\"\n                }\n              },\n              \"application/vnd.noaa.uswx+xml\": {\n                \"schema\": {}\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/aviation/sigmets\": {\n      \"get\": {\n        \"description\": \"Returns a list of SIGMET/AIRMETs\",\n        \"operationId\": \"sigmetQuery\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/QueryStartTime\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/QueryEndTime\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/QueryDate\"\n          },\n          {\n            \"name\": \"atsu\",\n            \"in\": \"query\",\n            \"description\": \"ATSU identifier\",\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ATSUIdentifier\"\n            }\n          },\n          {\n            \"name\": \"sequence\",\n            \"in\": \"query\",\n            \"description\": \"SIGMET sequence number\",\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/SigmetSequenceNumber\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/SigmetCollectionGeoJson\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/aviation/sigmets/{atsu}\": {\n      \"get\": {\n        \"description\": \"Returns a list of SIGMET/AIRMETs for the specified ATSU\",\n        \"operationId\": \"sigmetsByATSU\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/ATSUIdentifier\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/SigmetCollectionGeoJson\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/aviation/sigmets/{atsu}/{date}\": {\n      \"get\": {\n        \"description\": \"Returns a list of SIGMET/AIRMETs for the specified ATSU for the specified date\",\n        \"operationId\": \"sigmetsByATSUByDate\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/ATSUIdentifier\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/Date\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/SigmetCollectionGeoJson\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/aviation/sigmets/{atsu}/{date}/{time}\": {\n      \"get\": {\n        \"description\": \"Returns a specific SIGMET/AIRMET\",\n        \"operationId\": \"sigmet\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/ATSUIdentifier\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/Date\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/Time\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/SigmetGeoJson\"\n                }\n              },\n              \"application/vnd.noaa.uswx+xml\": {\n                \"schema\": {}\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/glossary\": {\n      \"get\": {\n        \"description\": \"Returns glossary terms\",\n        \"operationId\": \"glossary\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"A set of glossary terms\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"@context\": {\n                      \"$ref\": \"#/components/schemas/JsonLdContext\"\n                    },\n                    \"glossary\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"term\": {\n                            \"type\": \"string\",\n                            \"description\": \"The term being defined\"\n                          },\n                          \"definition\": {\n                            \"type\": \"string\",\n                            \"description\": \"A definition for the term\"\n                          }\n                        }\n                      },\n                      \"description\": \"A list of glossary terms\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      }\n    },\n    \"/gridpoints/{wfo}/{x},{y}\": {\n      \"get\": {\n        \"description\": \"Returns raw numerical forecast data for a 2.5km grid area\",\n        \"operationId\": \"gridpoint\",\n        \"parameters\": [],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Gridpoint forecast data\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/GridpointGeoJson\"\n                }\n              },\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/GridpointJsonLd\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/GridpointWFO\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/GridpointX\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/GridpointY\"\n        }\n      ]\n    },\n    \"/gridpoints/{wfo}/{x},{y}/forecast\": {\n      \"get\": {\n        \"description\": \"Returns a textual forecast for a 2.5km grid area\",\n        \"operationId\": \"gridpoint_forecast\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/GridpointForecastFeatureFlags\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/GridpointForecastUnits\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/GridpointForecast\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/GridpointWFO\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/GridpointX\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/GridpointY\"\n        }\n      ]\n    },\n    \"/gridpoints/{wfo}/{x},{y}/forecast/hourly\": {\n      \"get\": {\n        \"description\": \"Returns a textual hourly forecast for a 2.5km grid area\",\n        \"operationId\": \"gridpoint_forecast_hourly\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/GridpointForecastFeatureFlags\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/GridpointForecastUnits\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/GridpointForecast\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/GridpointWFO\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/GridpointX\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/GridpointY\"\n        }\n      ]\n    },\n    \"/gridpoints/{wfo}/{x},{y}/stations\": {\n      \"get\": {\n        \"description\": \"Returns a list of observation stations usable for a given 2.5km grid area\",\n        \"operationId\": \"gridpoint_stations\",\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/ObservationStationCollection\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/GridpointWFO\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/GridpointX\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/GridpointY\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/Limit\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/PaginationCursor\"\n        }\n      ]\n    },\n    \"/icons/{set}/{timeOfDay}/{first}\": {\n      \"get\": {\n        \"description\": \"Returns a forecast icon. Icon services in API are deprecated.\",\n        \"operationId\": \"icons\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"image/png\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/BinaryFile\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"deprecated\": true,\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"set\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        },\n        {\n          \"name\": \"timeOfDay\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        },\n        {\n          \"name\": \"first\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        },\n        {\n          \"name\": \"size\",\n          \"in\": \"query\",\n          \"description\": \"Font size\",\n          \"schema\": {\n            \"anyOf\": [\n              {\n                \"enum\": [\n                  \"small\",\n                  \"medium\",\n                  \"large\"\n                ],\n                \"type\": \"string\"\n              },\n              {\n                \"maximum\": 500,\n                \"minimum\": 10,\n                \"type\": \"integer\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"fontsize\",\n          \"in\": \"query\",\n          \"description\": \"Font size\",\n          \"schema\": {\n            \"maximum\": 24,\n            \"minimum\": 2,\n            \"type\": \"integer\"\n          }\n        }\n      ]\n    },\n    \"/icons/{set}/{timeOfDay}/{first}/{second}\": {\n      \"get\": {\n        \"description\": \"Returns a forecast icon. Icon services in API are deprecated.\",\n        \"operationId\": \"iconsDualCondition\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"image/png\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/BinaryFile\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"deprecated\": true,\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"set\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        },\n        {\n          \"name\": \"timeOfDay\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        },\n        {\n          \"name\": \"first\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        },\n        {\n          \"name\": \"second\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        },\n        {\n          \"name\": \"size\",\n          \"in\": \"query\",\n          \"description\": \"Font size\",\n          \"schema\": {\n            \"anyOf\": [\n              {\n                \"enum\": [\n                  \"small\",\n                  \"medium\",\n                  \"large\"\n                ],\n                \"type\": \"string\"\n              },\n              {\n                \"maximum\": 500,\n                \"minimum\": 10,\n                \"type\": \"integer\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"fontsize\",\n          \"in\": \"query\",\n          \"description\": \"Font size\",\n          \"schema\": {\n            \"maximum\": 24,\n            \"minimum\": 2,\n            \"type\": \"integer\"\n          }\n        }\n      ]\n    },\n    \"/icons\": {\n      \"get\": {\n        \"description\": \"Returns a list of icon codes and textual descriptions. Icon services in API are deprecated.\",\n        \"operationId\": \"icons_summary\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"required\": [\n                    \"icons\"\n                  ],\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"@context\": {\n                      \"$ref\": \"#/components/schemas/JsonLdContext\"\n                    },\n                    \"icons\": {\n                      \"type\": \"object\",\n                      \"additionalProperties\": {\n                        \"required\": [\n                          \"description\"\n                        ],\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"description\": {\n                            \"type\": \"string\"\n                          }\n                        },\n                        \"additionalProperties\": false\n                      }\n                    }\n                  },\n                  \"additionalProperties\": false\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"deprecated\": true,\n        \"parameters\": []\n      }\n    },\n    \"/thumbnails/satellite/{area}\": {\n      \"get\": {\n        \"description\": \"Returns a thumbnail image for a satellite region. Image services in API are deprecated.\",\n        \"operationId\": \"satellite_thumbnails\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"An image file\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"image/jpeg\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/BinaryFile\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"deprecated\": true,\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"area\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"enum\": [\n              \"a\",\n              \"e\",\n              \"g\",\n              \"h\",\n              \"p\",\n              \"s\",\n              \"w\"\n            ],\n            \"type\": \"string\"\n          }\n        }\n      ]\n    },\n    \"/stations/{stationId}/observations\": {\n      \"get\": {\n        \"description\": \"Returns a list of observations for a given station\",\n        \"operationId\": \"station_observation_list\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/QueryStartTime\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/QueryEndTime\"\n          },\n          {\n            \"name\": \"limit\",\n            \"in\": \"query\",\n            \"description\": \"Limit\",\n            \"schema\": {\n              \"maximum\": 500,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/ObservationCollection\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/ObservationStationId\"\n        }\n      ]\n    },\n    \"/stations/{stationId}/observations/latest\": {\n      \"get\": {\n        \"description\": \"Returns the latest observation for a station\",\n        \"operationId\": \"station_observation_latest\",\n        \"parameters\": [\n          {\n            \"name\": \"require_qc\",\n            \"in\": \"query\",\n            \"description\": \"Require QC\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/Observation\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/ObservationStationId\"\n        }\n      ]\n    },\n    \"/stations/{stationId}/observations/{time}\": {\n      \"get\": {\n        \"description\": \"Returns a single observation.\",\n        \"operationId\": \"station_observation_time\",\n        \"parameters\": [\n          {\n            \"name\": \"time\",\n            \"in\": \"path\",\n            \"description\": \"Timestamp of requested observation\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"date-time\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/Observation\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/ObservationStationId\"\n        }\n      ]\n    },\n    \"/stations/{stationId}/tafs\": {\n      \"get\": {\n        \"description\": \"Returns Terminal Aerodrome Forecasts for the specified airport station.\",\n        \"operationId\": \"tafs\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/ObservationStationId\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {}\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/stations/{stationId}/tafs/{date}/{time}\": {\n      \"get\": {\n        \"description\": \"Returns a single Terminal Aerodrome Forecast.\",\n        \"operationId\": \"taf\",\n        \"parameters\": [\n          {\n            \"$ref\": \"#/components/parameters/ObservationStationId\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/Date\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/Time\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"content\": {\n              \"application/vnd.wmo.iwxxm+xml\": {\n                \"schema\": {}\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/stations\": {\n      \"get\": {\n        \"description\": \"Returns a list of observation stations.\",\n        \"operationId\": \"obs_stations\",\n        \"parameters\": [\n          {\n            \"name\": \"id\",\n            \"in\": \"query\",\n            \"description\": \"Filter by observation station ID\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"type\": \"string\"\n              }\n            }\n          },\n          {\n            \"name\": \"state\",\n            \"in\": \"query\",\n            \"description\": \"Filter by state/marine area code\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"$ref\": \"#/components/schemas/AreaCode\"\n              }\n            }\n          },\n          {\n            \"$ref\": \"#/components/parameters/Limit\"\n          },\n          {\n            \"$ref\": \"#/components/parameters/PaginationCursor\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/ObservationStationCollection\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/stations/{stationId}\": {\n      \"get\": {\n        \"description\": \"Returns metadata about a given observation station\",\n        \"operationId\": \"obs_station\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ObservationStationGeoJson\"\n                }\n              },\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ObservationStationJsonLd\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/ObservationStationId\"\n        }\n      ]\n    },\n    \"/offices/{officeId}\": {\n      \"get\": {\n        \"description\": \"Returns metadata about a NWS forecast office\",\n        \"operationId\": \"office\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Office\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/NWSOfficeId\"\n        }\n      ]\n    },\n    \"/offices/{officeId}/headlines/{headlineId}\": {\n      \"get\": {\n        \"description\": \"Returns a specific news headline for a given NWS office\",\n        \"operationId\": \"office_headline\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/OfficeHeadline\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/NWSOfficeId\"\n        },\n        {\n          \"name\": \"headlineId\",\n          \"in\": \"path\",\n          \"description\": \"Headline record ID\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ]\n    },\n    \"/offices/{officeId}/headlines\": {\n      \"get\": {\n        \"description\": \"Returns a list of news headlines for a given NWS office\",\n        \"operationId\": \"office_headlines\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/OfficeHeadlineCollection\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/NWSOfficeId\"\n        }\n      ]\n    },\n    \"/points/{point}\": {\n      \"get\": {\n        \"description\": \"Returns metadata about a given latitude/longitude point\",\n        \"operationId\": \"point\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/PointGeoJson\"\n                }\n              },\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/PointJsonLd\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/PathPoint\"\n        }\n      ]\n    },\n    \"/points/{point}/stations\": {\n      \"get\": {\n        \"description\": \"Returns a list of observation stations for a given point\",\n        \"operationId\": \"point_stations\",\n        \"responses\": {\n          \"301\": {\n            \"description\": \"redirect to gridpoint stations\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"deprecated\": true,\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/PathPoint\"\n        }\n      ]\n    },\n    \"/radar/servers\": {\n      \"get\": {\n        \"description\": \"Returns a list of radar servers\",\n        \"operationId\": \"radar_servers\",\n        \"parameters\": [\n          {\n            \"name\": \"reportingHost\",\n            \"in\": \"query\",\n            \"description\": \"Show records from specific reporting host\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {}\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/radar/servers/{id}\": {\n      \"get\": {\n        \"description\": \"Returns metadata about a given radar server\",\n        \"operationId\": \"radar_server\",\n        \"parameters\": [\n          {\n            \"name\": \"reportingHost\",\n            \"in\": \"query\",\n            \"description\": \"Show records from specific reporting host\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {}\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"name\": \"id\",\n          \"in\": \"path\",\n          \"description\": \"Server ID\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ]\n    },\n    \"/radar/stations\": {\n      \"get\": {\n        \"description\": \"Returns a list of radar stations\",\n        \"operationId\": \"radar_stations\",\n        \"parameters\": [\n          {\n            \"name\": \"stationType\",\n            \"in\": \"query\",\n            \"description\": \"Limit results to a specific station type or types\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"pattern\": \"^[A-Za-z0-9-]+$\",\n                \"type\": \"string\"\n              }\n            }\n          },\n          {\n            \"name\": \"reportingHost\",\n            \"in\": \"query\",\n            \"description\": \"Show RDA and latency info from specific reporting host\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"host\",\n            \"in\": \"query\",\n            \"description\": \"Show latency info from specific LDM host\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {}\n              },\n              \"application/ld+json\": {\n                \"schema\": {}\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/radar/stations/{stationId}\": {\n      \"get\": {\n        \"description\": \"Returns metadata about a given radar station\",\n        \"operationId\": \"radar_station\",\n        \"parameters\": [\n          {\n            \"name\": \"reportingHost\",\n            \"in\": \"query\",\n            \"description\": \"Show RDA and latency info from specific reporting host\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"host\",\n            \"in\": \"query\",\n            \"description\": \"Show latency info from specific LDM host\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {}\n              },\n              \"application/ld+json\": {\n                \"schema\": {}\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"name\": \"stationId\",\n          \"in\": \"path\",\n          \"description\": \"Radar station ID\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ]\n    },\n    \"/radar/stations/{stationId}/alarms\": {\n      \"get\": {\n        \"description\": \"Returns metadata about a given radar station alarms\",\n        \"operationId\": \"radar_station_alarms\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {}\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"stationId\",\n          \"in\": \"path\",\n          \"description\": \"Radar station ID\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ]\n    },\n    \"/radar/queues/{host}\": {\n      \"get\": {\n        \"description\": \"Returns metadata about a given radar queue\",\n        \"operationId\": \"radar_queue\",\n        \"parameters\": [\n          {\n            \"name\": \"limit\",\n            \"in\": \"query\",\n            \"description\": \"Record limit\",\n            \"schema\": {\n              \"maximum\": 500,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"arrived\",\n            \"in\": \"query\",\n            \"description\": \"Range for arrival time\",\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ISO8601Interval\"\n            }\n          },\n          {\n            \"name\": \"created\",\n            \"in\": \"query\",\n            \"description\": \"Range for creation time\",\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ISO8601Interval\"\n            }\n          },\n          {\n            \"name\": \"published\",\n            \"in\": \"query\",\n            \"description\": \"Range for publish time\",\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ISO8601Interval\"\n            }\n          },\n          {\n            \"name\": \"station\",\n            \"in\": \"query\",\n            \"description\": \"Station identifier\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"type\",\n            \"in\": \"query\",\n            \"description\": \"Record type\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"feed\",\n            \"in\": \"query\",\n            \"description\": \"Originating product feed\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"resolution\",\n            \"in\": \"query\",\n            \"description\": \"Resolution version\",\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {}\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"name\": \"host\",\n          \"in\": \"path\",\n          \"description\": \"LDM host\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ]\n    },\n    \"/radar/profilers/{stationId}\": {\n      \"get\": {\n        \"description\": \"Returns metadata about a given radar wind profiler\",\n        \"operationId\": \"radar_profiler\",\n        \"parameters\": [\n          {\n            \"name\": \"time\",\n            \"in\": \"query\",\n            \"description\": \"Time interval\",\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ISO8601Interval\"\n            }\n          },\n          {\n            \"name\": \"interval\",\n            \"in\": \"query\",\n            \"description\": \"Averaging interval\",\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ISO8601Duration\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {}\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"name\": \"stationId\",\n          \"in\": \"path\",\n          \"description\": \"Profiler station ID\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ]\n    },\n    \"/products\": {\n      \"get\": {\n        \"description\": \"Returns a list of text products\",\n        \"operationId\": \"products_query\",\n        \"parameters\": [\n          {\n            \"name\": \"location\",\n            \"in\": \"query\",\n            \"description\": \"Location id\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"type\": \"string\"\n              }\n            }\n          },\n          {\n            \"name\": \"start\",\n            \"in\": \"query\",\n            \"description\": \"Start time\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"date-time\"\n            }\n          },\n          {\n            \"name\": \"end\",\n            \"in\": \"query\",\n            \"description\": \"End time\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"date-time\"\n            }\n          },\n          {\n            \"name\": \"office\",\n            \"in\": \"query\",\n            \"description\": \"Issuing office\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"pattern\": \"^[A-Z]{4}$\",\n                \"type\": \"string\"\n              }\n            }\n          },\n          {\n            \"name\": \"wmoid\",\n            \"in\": \"query\",\n            \"description\": \"WMO id code\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"pattern\": \"^[A-Z]{4}\\\\d{2}$\",\n                \"type\": \"string\"\n              }\n            }\n          },\n          {\n            \"name\": \"type\",\n            \"in\": \"query\",\n            \"description\": \"Product code\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"pattern\": \"^\\\\w{3}$\",\n                \"type\": \"string\"\n              }\n            }\n          },\n          {\n            \"name\": \"limit\",\n            \"in\": \"query\",\n            \"description\": \"Limit\",\n            \"schema\": {\n              \"maximum\": 500,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/TextProductCollection\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/products/locations\": {\n      \"get\": {\n        \"description\": \"Returns a list of valid text product issuance locations\",\n        \"operationId\": \"product_locations\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/TextProductLocationCollection\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      }\n    },\n    \"/products/types\": {\n      \"get\": {\n        \"description\": \"Returns a list of valid text product types and codes\",\n        \"operationId\": \"product_types\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/TextProductTypeCollection\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      }\n    },\n    \"/products/{productId}\": {\n      \"get\": {\n        \"description\": \"Returns a specific text product\",\n        \"operationId\": \"product\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/TextProduct\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"productId\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ]\n    },\n    \"/products/types/{typeId}\": {\n      \"get\": {\n        \"description\": \"Returns a list of text products of a given type\",\n        \"operationId\": \"products_type\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/TextProductCollection\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"typeId\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ]\n    },\n    \"/products/types/{typeId}/locations\": {\n      \"get\": {\n        \"description\": \"Returns a list of valid text product issuance locations for a given product type\",\n        \"operationId\": \"products_type_locations\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/TextProductLocationCollection\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"typeId\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ]\n    },\n    \"/products/locations/{locationId}/types\": {\n      \"get\": {\n        \"description\": \"Returns a list of valid text product types for a given issuance location\",\n        \"operationId\": \"location_products\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/TextProductTypeCollection\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"locationId\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ]\n    },\n    \"/products/types/{typeId}/locations/{locationId}\": {\n      \"get\": {\n        \"description\": \"Returns a list of text products of a given type for a given issuance location\",\n        \"operationId\": \"products_type_location\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/TextProductCollection\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"typeId\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        },\n        {\n          \"name\": \"locationId\",\n          \"in\": \"path\",\n          \"description\": \".\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ]\n    },\n    \"/zones\": {\n      \"get\": {\n        \"description\": \"Returns a list of zones\",\n        \"operationId\": \"zone_list\",\n        \"parameters\": [\n          {\n            \"name\": \"id\",\n            \"in\": \"query\",\n            \"description\": \"Zone ID (forecast or county)\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"$ref\": \"#/components/schemas/NWSZoneID\"\n              }\n            }\n          },\n          {\n            \"name\": \"area\",\n            \"in\": \"query\",\n            \"description\": \"State/marine area code\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"$ref\": \"#/components/schemas/AreaCode\"\n              }\n            }\n          },\n          {\n            \"name\": \"region\",\n            \"in\": \"query\",\n            \"description\": \"Region code\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"$ref\": \"#/components/schemas/RegionCode\"\n              }\n            }\n          },\n          {\n            \"name\": \"type\",\n            \"in\": \"query\",\n            \"description\": \"Zone type\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"$ref\": \"#/components/schemas/NWSZoneType\"\n              }\n            }\n          },\n          {\n            \"name\": \"point\",\n            \"in\": \"query\",\n            \"description\": \"Point (latitude,longitude)\",\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/PointString\"\n            }\n          },\n          {\n            \"name\": \"include_geometry\",\n            \"in\": \"query\",\n            \"description\": \"Include geometry in results (true/false)\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"name\": \"limit\",\n            \"in\": \"query\",\n            \"description\": \"Limit\",\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"effective\",\n            \"in\": \"query\",\n            \"description\": \"Effective date/time\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"date-time\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ZoneCollectionGeoJson\"\n                }\n              },\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ZoneCollectionJsonLd\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      }\n    },\n    \"/zones/{type}\": {\n      \"get\": {\n        \"description\": \"Returns a list of zones of a given type\",\n        \"operationId\": \"zone_list_type\",\n        \"parameters\": [\n          {\n            \"name\": \"id\",\n            \"in\": \"query\",\n            \"description\": \"Zone ID (forecast or county)\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"$ref\": \"#/components/schemas/NWSZoneID\"\n              }\n            }\n          },\n          {\n            \"name\": \"area\",\n            \"in\": \"query\",\n            \"description\": \"State/marine area code\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"$ref\": \"#/components/schemas/AreaCode\"\n              }\n            }\n          },\n          {\n            \"name\": \"region\",\n            \"in\": \"query\",\n            \"description\": \"Region code\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"$ref\": \"#/components/schemas/RegionCode\"\n              }\n            }\n          },\n          {\n            \"name\": \"type\",\n            \"in\": \"query\",\n            \"description\": \"Zone type\",\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"$ref\": \"#/components/schemas/NWSZoneType\"\n              }\n            }\n          },\n          {\n            \"name\": \"point\",\n            \"in\": \"query\",\n            \"description\": \"Point (latitude,longitude)\",\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/PointString\"\n            }\n          },\n          {\n            \"name\": \"include_geometry\",\n            \"in\": \"query\",\n            \"description\": \"Include geometry in results (true/false)\",\n            \"schema\": {\n              \"type\": \"boolean\"\n            }\n          },\n          {\n            \"name\": \"limit\",\n            \"in\": \"query\",\n            \"description\": \"Limit\",\n            \"schema\": {\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"effective\",\n            \"in\": \"query\",\n            \"description\": \"Effective date/time\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"date-time\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ZoneCollectionGeoJson\"\n                }\n              },\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ZoneCollectionJsonLd\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"name\": \"type\",\n          \"in\": \"path\",\n          \"description\": \"Zone type\",\n          \"required\": true,\n          \"schema\": {\n            \"$ref\": \"#/components/schemas/NWSZoneType\"\n          }\n        }\n      ]\n    },\n    \"/zones/{type}/{zoneId}\": {\n      \"get\": {\n        \"description\": \"Returns metadata about a given zone\",\n        \"operationId\": \"zone\",\n        \"parameters\": [\n          {\n            \"name\": \"effective\",\n            \"in\": \"query\",\n            \"description\": \"Effective date/time\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"date-time\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ZoneGeoJson\"\n                }\n              },\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ZoneJsonLd\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"name\": \"type\",\n          \"in\": \"path\",\n          \"description\": \"Zone type\",\n          \"required\": true,\n          \"schema\": {\n            \"$ref\": \"#/components/schemas/NWSZoneType\"\n          }\n        },\n        {\n          \"$ref\": \"#/components/parameters/NWSZoneId\"\n        }\n      ]\n    },\n    \"/zones/{type}/{zoneId}/forecast\": {\n      \"get\": {\n        \"description\": \"Returns the current zone forecast for a given zone\",\n        \"operationId\": \"zone_forecast\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ZoneForecastGeoJson\"\n                }\n              },\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ZoneForecastJsonLd\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"name\": \"type\",\n          \"in\": \"path\",\n          \"description\": \"Zone type\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        },\n        {\n          \"$ref\": \"#/components/parameters/NWSZoneId\"\n        }\n      ]\n    },\n    \"/zones/forecast/{zoneId}/observations\": {\n      \"get\": {\n        \"description\": \"Returns a list of observations for a given zone\",\n        \"operationId\": \"zone_obs\",\n        \"parameters\": [\n          {\n            \"name\": \"start\",\n            \"in\": \"query\",\n            \"description\": \"Start date/time\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"date-time\"\n            }\n          },\n          {\n            \"name\": \"end\",\n            \"in\": \"query\",\n            \"description\": \"End date/time\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"date-time\"\n            }\n          },\n          {\n            \"name\": \"limit\",\n            \"in\": \"query\",\n            \"description\": \"Limit\",\n            \"schema\": {\n              \"maximum\": 500,\n              \"minimum\": 1,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"headers\": {\n              \"X-Correlation-Id\": {\n                \"$ref\": \"#/components/headers/CorrelationId\"\n              },\n              \"X-Request-Id\": {\n                \"$ref\": \"#/components/headers/RequestId\"\n              },\n              \"X-Server-Id\": {\n                \"$ref\": \"#/components/headers/ServerId\"\n              }\n            },\n            \"content\": {\n              \"application/geo+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ObservationCollectionGeoJson\"\n                }\n              },\n              \"application/ld+json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ObservationCollectionJsonLd\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        }\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/NWSZoneId\"\n        }\n      ]\n    },\n    \"/zones/forecast/{zoneId}/stations\": {\n      \"get\": {\n        \"description\": \"Returns a list of observation stations for a given zone\",\n        \"operationId\": \"zone_stations\",\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/ObservationStationCollection\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/Error\"\n          }\n        },\n        \"parameters\": []\n      },\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/NWSZoneId\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/Limit\"\n        },\n        {\n          \"$ref\": \"#/components/parameters/PaginationCursor\"\n        }\n      ]\n    }\n  },\n  \"components\": {\n    \"schemas\": {\n      \"Alert\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"$ref\": \"#/components/schemas/AlertId\"\n          },\n          \"areaDesc\": {\n            \"type\": \"string\",\n            \"description\": \"A textual description of the area affected by the alert.\"\n          },\n          \"geocode\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"UGC\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/NWSZoneID\"\n                },\n                \"description\": \"A list of NWS public zone or county identifiers.\"\n              },\n              \"SAME\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"pattern\": \"^\\\\d{6}$\",\n                  \"type\": \"string\"\n                },\n                \"description\": \"A list of SAME (Specific Area Message Encoding) codes for affected counties.\"\n              }\n            },\n            \"description\": \"Lists of codes for NWS public zones and counties affected by the alert.\"\n          },\n          \"affectedZones\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"uri\"\n            },\n            \"description\": \"An array of API links for zones affected by the alert. This is an API-specific extension field and is not part of the CAP specification.\\n\"\n          },\n          \"references\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"@id\": {\n                  \"type\": \"string\",\n                  \"description\": \"An API link to the prior alert.\",\n                  \"format\": \"uri\"\n                },\n                \"identifier\": {\n                  \"$ref\": \"#/components/schemas/AlertId\"\n                },\n                \"sender\": {\n                  \"type\": \"string\",\n                  \"description\": \"The sender of the prior alert.\"\n                },\n                \"sent\": {\n                  \"type\": \"string\",\n                  \"description\": \"The time the prior alert was sent.\",\n                  \"format\": \"date-time\"\n                }\n              }\n            },\n            \"description\": \"A list of prior alerts that this alert updates or replaces.\"\n          },\n          \"sent\": {\n            \"type\": \"string\",\n            \"description\": \"The time of the origination of the alert message.\",\n            \"format\": \"date-time\"\n          },\n          \"effective\": {\n            \"type\": \"string\",\n            \"description\": \"The effective time of the information of the alert message.\",\n            \"format\": \"date-time\"\n          },\n          \"onset\": {\n            \"type\": \"string\",\n            \"description\": \"The expected time of the beginning of the subject event of the alert message.\",\n            \"format\": \"date-time\",\n            \"nullable\": true\n          },\n          \"expires\": {\n            \"type\": \"string\",\n            \"description\": \"The expiry time of the information of the alert message.\",\n            \"format\": \"date-time\"\n          },\n          \"ends\": {\n            \"type\": \"string\",\n            \"description\": \"The expected end time of the subject event of the alert message.\",\n            \"format\": \"date-time\",\n            \"nullable\": true\n          },\n          \"status\": {\n            \"$ref\": \"#/components/schemas/AlertStatus\"\n          },\n          \"messageType\": {\n            \"$ref\": \"#/components/schemas/AlertMessageType\"\n          },\n          \"category\": {\n            \"enum\": [\n              \"Met\",\n              \"Geo\",\n              \"Safety\",\n              \"Security\",\n              \"Rescue\",\n              \"Fire\",\n              \"Health\",\n              \"Env\",\n              \"Transport\",\n              \"Infra\",\n              \"CBRNE\",\n              \"Other\"\n            ],\n            \"type\": \"string\",\n            \"description\": \"The code denoting the category of the subject event of the alert message.\"\n          },\n          \"severity\": {\n            \"$ref\": \"#/components/schemas/AlertSeverity\"\n          },\n          \"certainty\": {\n            \"$ref\": \"#/components/schemas/AlertCertainty\"\n          },\n          \"urgency\": {\n            \"$ref\": \"#/components/schemas/AlertUrgency\"\n          },\n          \"event\": {\n            \"type\": \"string\",\n            \"description\": \"The text denoting the type of the subject event of the alert message.\"\n          },\n          \"sender\": {\n            \"type\": \"string\",\n            \"description\": \"Email address of the NWS webmaster.\"\n          },\n          \"senderName\": {\n            \"type\": \"string\",\n            \"description\": \"The text naming the originator of the alert message.\"\n          },\n          \"headline\": {\n            \"type\": \"string\",\n            \"description\": \"The text headline of the alert message.\",\n            \"nullable\": true\n          },\n          \"description\": {\n            \"type\": \"string\",\n            \"description\": \"The text describing the subject event of the alert message.\"\n          },\n          \"instruction\": {\n            \"type\": \"string\",\n            \"description\": \"The text describing the recommended action to be taken by recipients of the alert message.\\n\",\n            \"nullable\": true\n          },\n          \"response\": {\n            \"enum\": [\n              \"Shelter\",\n              \"Evacuate\",\n              \"Prepare\",\n              \"Execute\",\n              \"Avoid\",\n              \"Monitor\",\n              \"Assess\",\n              \"AllClear\",\n              \"None\"\n            ],\n            \"type\": \"string\",\n            \"description\": \"The code denoting the type of action recommended for the target audience.\\nThis corresponds to responseType in the CAP specification.\\n\"\n          },\n          \"parameters\": {\n            \"type\": \"object\",\n            \"description\": \"System-specific additional parameters associated with the alert message.\\nThe keys in this object correspond to parameter definitions in the NWS CAP specification.\\n\",\n            \"additionalProperties\": {\n              \"type\": \"array\",\n              \"items\": {}\n            }\n          }\n        },\n        \"description\": \"An object representing a public alert message.\\nUnless otherwise noted, the fields in this object correspond to the National Weather Service CAP v1.2 specification, which extends the OASIS Common Alerting Protocol (CAP) v1.2 specification and USA Integrated Public Alert and Warning System (IPAWS) Profile v1.0. Refer to this documentation for more complete information.\\nhttp://docs.oasis-open.org/emergency/cap/v1.2/CAP-v1.2-os.html http://docs.oasis-open.org/emergency/cap/v1.2/ipaws-profile/v1.0/cs01/cap-v1.2-ipaws-profile-cs01.html https://alerts.weather.gov/#technical-notes-v12\\n\"\n      },\n      \"AlertCollection\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"title\": {\n            \"type\": \"string\",\n            \"description\": \"A title describing the alert collection\"\n          },\n          \"updated\": {\n            \"type\": \"string\",\n            \"description\": \"The last time a change occurred to this collection\",\n            \"format\": \"date-time\"\n          },\n          \"pagination\": {\n            \"$ref\": \"#/components/schemas/PaginationInfo\"\n          }\n        }\n      },\n      \"AlertCollectionGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeatureCollection\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"features\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"properties\": {\n                      \"$ref\": \"#/components/schemas/Alert\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          {\n            \"$ref\": \"#/components/schemas/AlertCollection\"\n          }\n        ]\n      },\n      \"AlertCollectionJsonLd\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/AlertCollection\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"@context\": {\n                \"$ref\": \"#/components/schemas/JsonLdContext\"\n              },\n              \"@graph\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/Alert\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"AlertCap\": {\n        \"type\": \"object\"\n      },\n      \"AlertGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeature\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"properties\": {\n                \"$ref\": \"#/components/schemas/Alert\"\n              }\n            }\n          }\n        ]\n      },\n      \"AlertJsonLd\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@graph\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Alert\"\n            }\n          }\n        }\n      },\n      \"AlertId\": {\n        \"type\": \"string\",\n        \"description\": \"The identifier of the alert message.\"\n      },\n      \"AlertCertainty\": {\n        \"enum\": [\n          \"Observed\",\n          \"Likely\",\n          \"Possible\",\n          \"Unlikely\",\n          \"Unknown\"\n        ],\n        \"type\": \"string\"\n      },\n      \"AlertMessageType\": {\n        \"enum\": [\n          \"Alert\",\n          \"Update\",\n          \"Cancel\",\n          \"Ack\",\n          \"Error\"\n        ],\n        \"type\": \"string\"\n      },\n      \"AlertSeverity\": {\n        \"enum\": [\n          \"Extreme\",\n          \"Severe\",\n          \"Moderate\",\n          \"Minor\",\n          \"Unknown\"\n        ],\n        \"type\": \"string\"\n      },\n      \"AlertStatus\": {\n        \"enum\": [\n          \"Actual\",\n          \"Exercise\",\n          \"System\",\n          \"Test\",\n          \"Draft\"\n        ],\n        \"type\": \"string\"\n      },\n      \"AlertUrgency\": {\n        \"enum\": [\n          \"Immediate\",\n          \"Expected\",\n          \"Future\",\n          \"Past\",\n          \"Unknown\"\n        ],\n        \"type\": \"string\"\n      },\n      \"AlertAtomEntry\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"http://www.w3.org/2005/Atom\"\n            }\n          },\n          \"updated\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"http://www.w3.org/2005/Atom\"\n            }\n          },\n          \"published\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"http://www.w3.org/2005/Atom\"\n            }\n          },\n          \"author\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"name\": {\n                \"type\": \"string\"\n              }\n            },\n            \"xml\": {\n              \"namespace\": \"http://www.w3.org/2005/Atom\"\n            }\n          },\n          \"summary\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"http://www.w3.org/2005/Atom\"\n            }\n          },\n          \"event\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"sent\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"effective\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"expires\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"msgType\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"category\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"urgency\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"severity\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"certainty\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"areaDesc\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"polygon\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"geocode\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/AlertXMLParameter\"\n            },\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          },\n          \"parameter\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/AlertXMLParameter\"\n            },\n            \"xml\": {\n              \"namespace\": \"urn:oasis:names:tc:emergency:cap:1.2\"\n            }\n          }\n        },\n        \"description\": \"An alert entry in an Atom feed\",\n        \"xml\": {\n          \"name\": \"entry\",\n          \"namespace\": \"http://www.w3.org/2005/Atom\"\n        }\n      },\n      \"AlertXMLParameter\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"valueName\": {\n            \"type\": \"string\"\n          },\n          \"value\": {\n            \"type\": \"string\"\n          }\n        }\n      },\n      \"AlertAtomFeed\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"http://www.w3.org/2005/Atom\"\n            }\n          },\n          \"generator\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"http://www.w3.org/2005/Atom\"\n            }\n          },\n          \"updated\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"http://www.w3.org/2005/Atom\"\n            }\n          },\n          \"author\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"name\": {\n                \"type\": \"string\",\n                \"xml\": {\n                  \"namespace\": \"http://www.w3.org/2005/Atom\"\n                }\n              }\n            },\n            \"xml\": {\n              \"namespace\": \"http://www.w3.org/2005/Atom\"\n            }\n          },\n          \"title\": {\n            \"type\": \"string\",\n            \"xml\": {\n              \"namespace\": \"http://www.w3.org/2005/Atom\"\n            }\n          },\n          \"entry\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/AlertAtomEntry\"\n            },\n            \"xml\": {\n              \"namespace\": \"http://www.w3.org/2005/Atom\"\n            }\n          }\n        },\n        \"description\": \"An alert feed in Atom format\",\n        \"xml\": {\n          \"name\": \"feed\",\n          \"namespace\": \"http://www.w3.org/2005/Atom\"\n        }\n      },\n      \"AreaCode\": {\n        \"oneOf\": [\n          {\n            \"$ref\": \"#/components/schemas/StateTerritoryCode\"\n          },\n          {\n            \"$ref\": \"#/components/schemas/MarineAreaCode\"\n          }\n        ],\n        \"description\": \"State/territory codes and marine area codes\"\n      },\n      \"ATSUIdentifier\": {\n        \"pattern\": \"^[A-Z]{3,4}$\",\n        \"type\": \"string\",\n        \"description\": \"ATSU Identifier\"\n      },\n      \"BinaryFile\": {\n        \"type\": \"string\",\n        \"format\": \"binary\"\n      },\n      \"CenterWeatherAdvisoryCollectionGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeatureCollection\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"features\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"properties\": {\n                      \"$ref\": \"#/components/schemas/CenterWeatherAdvisory\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"CenterWeatherAdvisoryGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeature\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"properties\": {\n                \"$ref\": \"#/components/schemas/CenterWeatherAdvisory\"\n              }\n            }\n          }\n        ]\n      },\n      \"CenterWeatherAdvisory\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"issueTime\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"cwsu\": {\n            \"$ref\": \"#/components/schemas/NWSCenterWeatherServiceUnitId\"\n          },\n          \"sequence\": {\n            \"minimum\": 101,\n            \"type\": \"integer\"\n          },\n          \"start\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"end\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"observedProperty\": {\n            \"type\": \"string\"\n          },\n          \"text\": {\n            \"type\": \"string\"\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"CenterWeatherServiceUnitJsonLd\": {\n        \"$ref\": \"#/components/schemas/Office\"\n      },\n      \"Date\": {\n        \"type\": \"string\",\n        \"description\": \"Date (in YYYY-MM-DD format).\",\n        \"format\": \"date\"\n      },\n      \"GeometryString\": {\n        \"type\": \"string\",\n        \"description\": \"A geometry represented in Well-Known Text (WKT) format.\",\n        \"format\": \"wkt\",\n        \"nullable\": true\n      },\n      \"GeoJsonBoundingBox\": {\n        \"minItems\": 4,\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"number\"\n        },\n        \"description\": \"A GeoJSON bounding box. Please refer to IETF RFC 7946 for information on the GeoJSON format.\"\n      },\n      \"GeoJsonCoordinate\": {\n        \"minItems\": 2,\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"number\"\n        },\n        \"description\": \"A GeoJSON coordinate. Please refer to IETF RFC 7946 for information on the GeoJSON format.\"\n      },\n      \"GeoJsonGeometry\": {\n        \"oneOf\": [\n          {\n            \"title\": \"GeoJSON Point\",\n            \"required\": [\n              \"type\",\n              \"coordinates\"\n            ],\n            \"type\": \"object\",\n            \"properties\": {\n              \"type\": {\n                \"enum\": [\n                  \"Point\"\n                ],\n                \"type\": \"string\"\n              },\n              \"coordinates\": {\n                \"$ref\": \"#/components/schemas/GeoJsonCoordinate\"\n              },\n              \"bbox\": {\n                \"$ref\": \"#/components/schemas/GeoJsonBoundingBox\"\n              }\n            }\n          },\n          {\n            \"title\": \"GeoJSON LineString\",\n            \"required\": [\n              \"type\",\n              \"coordinates\"\n            ],\n            \"type\": \"object\",\n            \"properties\": {\n              \"type\": {\n                \"enum\": [\n                  \"LineString\"\n                ],\n                \"type\": \"string\"\n              },\n              \"coordinates\": {\n                \"$ref\": \"#/components/schemas/GeoJsonLineString\"\n              },\n              \"bbox\": {\n                \"$ref\": \"#/components/schemas/GeoJsonBoundingBox\"\n              }\n            }\n          },\n          {\n            \"title\": \"GeoJSON Polygon\",\n            \"required\": [\n              \"type\",\n              \"coordinates\"\n            ],\n            \"type\": \"object\",\n            \"properties\": {\n              \"type\": {\n                \"enum\": [\n                  \"Polygon\"\n                ],\n                \"type\": \"string\"\n              },\n              \"coordinates\": {\n                \"$ref\": \"#/components/schemas/GeoJsonPolygon\"\n              },\n              \"bbox\": {\n                \"$ref\": \"#/components/schemas/GeoJsonBoundingBox\"\n              }\n            }\n          },\n          {\n            \"title\": \"GeoJSON MultiPoint\",\n            \"required\": [\n              \"type\",\n              \"coordinates\"\n            ],\n            \"type\": \"object\",\n            \"properties\": {\n              \"type\": {\n                \"enum\": [\n                  \"MultiPoint\"\n                ],\n                \"type\": \"string\"\n              },\n              \"coordinates\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/GeoJsonCoordinate\"\n                }\n              },\n              \"bbox\": {\n                \"$ref\": \"#/components/schemas/GeoJsonBoundingBox\"\n              }\n            }\n          },\n          {\n            \"title\": \"GeoJSON MultiLineString\",\n            \"required\": [\n              \"type\",\n              \"coordinates\"\n            ],\n            \"type\": \"object\",\n            \"properties\": {\n              \"type\": {\n                \"enum\": [\n                  \"MultiLineString\"\n                ],\n                \"type\": \"string\"\n              },\n              \"coordinates\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/GeoJsonLineString\"\n                }\n              },\n              \"bbox\": {\n                \"$ref\": \"#/components/schemas/GeoJsonBoundingBox\"\n              }\n            }\n          },\n          {\n            \"title\": \"GeoJSON MultiPolygon\",\n            \"required\": [\n              \"type\",\n              \"coordinates\"\n            ],\n            \"type\": \"object\",\n            \"properties\": {\n              \"type\": {\n                \"enum\": [\n                  \"MultiPolygon\"\n                ],\n                \"type\": \"string\"\n              },\n              \"coordinates\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/GeoJsonPolygon\"\n                }\n              },\n              \"bbox\": {\n                \"$ref\": \"#/components/schemas/GeoJsonBoundingBox\"\n              }\n            }\n          }\n        ],\n        \"description\": \"A GeoJSON geometry object. Please refer to IETF RFC 7946 for information on the GeoJSON format.\",\n        \"nullable\": true\n      },\n      \"GeoJsonFeature\": {\n        \"required\": [\n          \"type\",\n          \"geometry\",\n          \"properties\"\n        ],\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"type\": {\n            \"enum\": [\n              \"Feature\"\n            ],\n            \"type\": \"string\"\n          },\n          \"geometry\": {\n            \"$ref\": \"#/components/schemas/GeoJsonGeometry\"\n          },\n          \"properties\": {\n            \"type\": \"object\"\n          }\n        },\n        \"description\": \"A GeoJSON feature. Please refer to IETF RFC 7946 for information on the GeoJSON format.\",\n        \"additionalProperties\": false\n      },\n      \"GeoJsonFeatureCollection\": {\n        \"required\": [\n          \"type\",\n          \"features\"\n        ],\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"type\": {\n            \"enum\": [\n              \"FeatureCollection\"\n            ],\n            \"type\": \"string\"\n          },\n          \"features\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/GeoJsonFeature\"\n            }\n          }\n        },\n        \"description\": \"A GeoJSON feature collection. Please refer to IETF RFC 7946 for information on the GeoJSON format.\"\n      },\n      \"GeoJsonLineString\": {\n        \"minItems\": 2,\n        \"type\": \"array\",\n        \"items\": {\n          \"$ref\": \"#/components/schemas/GeoJsonCoordinate\"\n        },\n        \"description\": \"A GeoJSON line string. Please refer to IETF RFC 7946 for information on the GeoJSON format.\"\n      },\n      \"GeoJsonPolygon\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"minItems\": 4,\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/components/schemas/GeoJsonCoordinate\"\n          }\n        },\n        \"description\": \"A GeoJSON polygon. Please refer to IETF RFC 7946 for information on the GeoJSON format.\"\n      },\n      \"Gridpoint\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"geometry\": {\n            \"$ref\": \"#/components/schemas/GeometryString\"\n          },\n          \"@id\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"@type\": {\n            \"enum\": [\n              \"wx:Gridpoint\"\n            ],\n            \"type\": \"string\"\n          },\n          \"updateTime\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"validTimes\": {\n            \"$ref\": \"#/components/schemas/ISO8601Interval\"\n          },\n          \"elevation\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"forecastOffice\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"gridId\": {\n            \"type\": \"string\"\n          },\n          \"gridX\": {\n            \"minimum\": 0,\n            \"type\": \"integer\"\n          },\n          \"gridY\": {\n            \"minimum\": 0,\n            \"type\": \"integer\"\n          },\n          \"weather\": {\n            \"required\": [\n              \"values\"\n            ],\n            \"type\": \"object\",\n            \"properties\": {\n              \"values\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"required\": [\n                    \"validTime\",\n                    \"value\"\n                  ],\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"validTime\": {\n                      \"$ref\": \"#/components/schemas/ISO8601Interval\"\n                    },\n                    \"value\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"required\": [\n                          \"coverage\",\n                          \"weather\",\n                          \"intensity\",\n                          \"visibility\",\n                          \"attributes\"\n                        ],\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"coverage\": {\n                            \"enum\": [\n                              \"areas\",\n                              \"brief\",\n                              \"chance\",\n                              \"definite\",\n                              \"few\",\n                              \"frequent\",\n                              \"intermittent\",\n                              \"isolated\",\n                              \"likely\",\n                              \"numerous\",\n                              \"occasional\",\n                              \"patchy\",\n                              \"periods\",\n                              \"scattered\",\n                              \"slight_chance\",\n                              \"widespread\"\n                            ],\n                            \"type\": \"string\",\n                            \"nullable\": true\n                          },\n                          \"weather\": {\n                            \"enum\": [\n                              \"blowing_dust\",\n                              \"blowing_sand\",\n                              \"blowing_snow\",\n                              \"drizzle\",\n                              \"fog\",\n                              \"freezing_fog\",\n                              \"freezing_drizzle\",\n                              \"freezing_rain\",\n                              \"freezing_spray\",\n                              \"frost\",\n                              \"hail\",\n                              \"haze\",\n                              \"ice_crystals\",\n                              \"ice_fog\",\n                              \"rain\",\n                              \"rain_showers\",\n                              \"sleet\",\n                              \"smoke\",\n                              \"snow\",\n                              \"snow_showers\",\n                              \"thunderstorms\",\n                              \"volcanic_ash\",\n                              \"water_spouts\"\n                            ],\n                            \"type\": \"string\",\n                            \"nullable\": true\n                          },\n                          \"intensity\": {\n                            \"enum\": [\n                              \"very_light\",\n                              \"light\",\n                              \"moderate\",\n                              \"heavy\"\n                            ],\n                            \"type\": \"string\",\n                            \"nullable\": true\n                          },\n                          \"visibility\": {\n                            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n                          },\n                          \"attributes\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                              \"enum\": [\n                                \"damaging_wind\",\n                                \"dry_thunderstorms\",\n                                \"flooding\",\n                                \"gusty_wind\",\n                                \"heavy_rain\",\n                                \"large_hail\",\n                                \"small_hail\",\n                                \"tornadoes\"\n                              ],\n                              \"type\": \"string\"\n                            }\n                          }\n                        },\n                        \"description\": \"A value object representing expected weather phenomena.\",\n                        \"additionalProperties\": false\n                      }\n                    }\n                  },\n                  \"additionalProperties\": false\n                }\n              }\n            }\n          },\n          \"hazards\": {\n            \"required\": [\n              \"values\"\n            ],\n            \"type\": \"object\",\n            \"properties\": {\n              \"values\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"required\": [\n                    \"validTime\",\n                    \"value\"\n                  ],\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"validTime\": {\n                      \"$ref\": \"#/components/schemas/ISO8601Interval\"\n                    },\n                    \"value\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"required\": [\n                          \"phenomenon\",\n                          \"significance\",\n                          \"event_number\"\n                        ],\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"phenomenon\": {\n                            \"pattern\": \"^\\\\w{2}$\",\n                            \"type\": \"string\",\n                            \"description\": \"Hazard code. This value will correspond to a P-VTEC phenomenon code as defined in NWS Directive 10-1703.\\n\"\n                          },\n                          \"significance\": {\n                            \"pattern\": \"^\\\\w$\",\n                            \"type\": \"string\",\n                            \"description\": \"Significance code. This value will correspond to a P-VTEC significance code as defined in NWS Directive 10-1703.\\nThis will most frequently be \\\"A\\\" for a watch or \\\"Y\\\" for an advisory.\\n\"\n                          },\n                          \"event_number\": {\n                            \"type\": \"integer\",\n                            \"description\": \"Event number. If this hazard refers to a national or regional center product (such as a Storm Prediction Center convective watch), this value will be the sequence number of that product.\\n\",\n                            \"nullable\": true\n                          }\n                        },\n                        \"description\": \"A value object representing an expected hazard.\"\n                      }\n                    }\n                  },\n                  \"additionalProperties\": false\n                }\n              }\n            }\n          }\n        },\n        \"description\": \"Raw forecast data for a 2.5km grid square.\\nThis is a list of all potential data layers that may appear. Some layers may not be present in all areas.\\n* temperature\\n* dewpoint\\n* maxTemperature\\n* minTemperature\\n* relativeHumidity\\n* apparentTemperature\\n* heatIndex\\n* windChill\\n* wetBulbGlobeTemperature\\n* skyCover\\n* windDirection\\n* windSpeed\\n* windGust\\n* weather\\n* hazards: Watch and advisory products in effect\\n* probabilityOfPrecipitation\\n* quantitativePrecipitation\\n* iceAccumulation\\n* snowfallAmount\\n* snowLevel\\n* ceilingHeight\\n* visibility\\n* transportWindSpeed\\n* transportWindDirection\\n* mixingHeight\\n* hainesIndex\\n* lightningActivityLevel\\n* twentyFootWindSpeed\\n* twentyFootWindDirection\\n* waveHeight\\n* wavePeriod\\n* waveDirection\\n* primarySwellHeight\\n* primarySwellDirection\\n* secondarySwellHeight\\n* secondarySwellDirection\\n* wavePeriod2\\n* windWaveHeight\\n* dispersionIndex\\n* pressure: Barometric pressure\\n* probabilityOfTropicalStormWinds\\n* probabilityOfHurricaneWinds\\n* potentialOf15mphWinds\\n* potentialOf25mphWinds\\n* potentialOf35mphWinds\\n* potentialOf45mphWinds\\n* potentialOf20mphWindGusts\\n* potentialOf30mphWindGusts\\n* potentialOf40mphWindGusts\\n* potentialOf50mphWindGusts\\n* potentialOf60mphWindGusts\\n* grasslandFireDangerIndex\\n* probabilityOfThunder\\n* davisStabilityIndex\\n* atmosphericDispersionIndex\\n* lowVisibilityOccurrenceRiskIndex\\n* stability\\n* redFlagThreatIndex\\n\",\n        \"additionalProperties\": {\n          \"$ref\": \"#/components/schemas/GridpointQuantitativeValueLayer\"\n        }\n      },\n      \"GridpointQuantitativeValueLayer\": {\n        \"required\": [\n          \"values\"\n        ],\n        \"type\": \"object\",\n        \"properties\": {\n          \"uom\": {\n            \"$ref\": \"#/components/schemas/UnitOfMeasure\"\n          },\n          \"values\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"required\": [\n                \"validTime\",\n                \"value\"\n              ],\n              \"type\": \"object\",\n              \"properties\": {\n                \"validTime\": {\n                  \"$ref\": \"#/components/schemas/ISO8601Interval\"\n                },\n                \"value\": {\n                  \"type\": \"number\",\n                  \"nullable\": true\n                }\n              },\n              \"additionalProperties\": false\n            }\n          }\n        },\n        \"description\": \"A gridpoint layer consisting of quantitative values (numeric values with associated units of measure).\\n\"\n      },\n      \"GridpointGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeature\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"properties\": {\n                \"$ref\": \"#/components/schemas/Gridpoint\"\n              }\n            }\n          }\n        ]\n      },\n      \"GridpointJsonLd\": {\n        \"$ref\": \"#/components/schemas/Gridpoint\"\n      },\n      \"GridpointForecast\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"geometry\": {\n            \"$ref\": \"#/components/schemas/GeometryString\"\n          },\n          \"units\": {\n            \"$ref\": \"#/components/schemas/GridpointForecastUnits\"\n          },\n          \"forecastGenerator\": {\n            \"type\": \"string\",\n            \"description\": \"The internal generator class used to create the forecast text (used for NWS debugging).\"\n          },\n          \"generatedAt\": {\n            \"type\": \"string\",\n            \"description\": \"The time this forecast data was generated.\",\n            \"format\": \"date-time\"\n          },\n          \"updateTime\": {\n            \"type\": \"string\",\n            \"description\": \"The last update time of the data this forecast was generated from.\",\n            \"format\": \"date-time\"\n          },\n          \"updated\": {\n            \"type\": \"string\",\n            \"description\": \"This property is deprecated (use updateTime instead).\",\n            \"format\": \"date-time\",\n            \"deprecated\": true\n          },\n          \"validTimes\": {\n            \"$ref\": \"#/components/schemas/ISO8601Interval\"\n          },\n          \"elevation\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"periods\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/GridpointForecastPeriod\"\n            },\n            \"description\": \"An array of forecast periods.\"\n          }\n        },\n        \"description\": \"A multi-day forecast for a 2.5km grid square.\",\n        \"additionalProperties\": false\n      },\n      \"GridpointForecastPeriod\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"number\": {\n            \"minimum\": 1,\n            \"type\": \"integer\",\n            \"description\": \"Sequential period number.\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"A textual identifier for the period. This value will not be present for hourly forecasts.\\n\",\n            \"example\": \"Tuesday Night\"\n          },\n          \"startTime\": {\n            \"type\": \"string\",\n            \"description\": \"The starting time that this forecast period is valid for.\",\n            \"format\": \"date-time\"\n          },\n          \"endTime\": {\n            \"type\": \"string\",\n            \"description\": \"The ending time that this forecast period is valid for.\",\n            \"format\": \"date-time\"\n          },\n          \"isDaytime\": {\n            \"type\": \"boolean\",\n            \"description\": \"Indicates whether this period is daytime or nighttime.\"\n          },\n          \"temperature\": {\n            \"oneOf\": [\n              {\n                \"$ref\": \"#/components/schemas/QuantitativeValue\"\n              },\n              {\n                \"type\": \"integer\"\n              }\n            ],\n            \"description\": \"High/low temperature for the period, depending on whether the period is day or night.\\nThis property as an integer value is deprecated. Future versions will express this value as a quantitative value object. To make use of the future standard format now, set the \\\"forecast_temperature_qv\\\" feature flag on the request.\\n\"\n          },\n          \"temperatureUnit\": {\n            \"enum\": [\n              \"F\",\n              \"C\"\n            ],\n            \"type\": \"string\",\n            \"description\": \"The unit of the temperature value (Fahrenheit or Celsius).\\nThis property is deprecated. Future versions will indicate the unit within the quantitative value object for the temperature property. To make use of the future standard format now, set the \\\"forecast_temperature_qv\\\" feature flag on the request.\\n\",\n            \"deprecated\": true\n          },\n          \"temperatureTrend\": {\n            \"enum\": [\n              \"rising\",\n              \"falling\"\n            ],\n            \"type\": \"string\",\n            \"description\": \"If not null, indicates a non-diurnal temperature trend for the period (either rising temperature overnight, or falling temperature during the day)\\n\",\n            \"nullable\": true\n          },\n          \"probabilityOfPrecipitation\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"dewpoint\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"relativeHumidity\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"windSpeed\": {\n            \"oneOf\": [\n              {\n                \"$ref\": \"#/components/schemas/QuantitativeValue\"\n              },\n              {\n                \"type\": \"string\"\n              }\n            ],\n            \"description\": \"Wind speed for the period.\\nThis property as an string value is deprecated. Future versions will express this value as a quantitative value object. To make use of the future standard format now, set the \\\"forecast_wind_speed_qv\\\" feature flag on the request.\\n\"\n          },\n          \"windGust\": {\n            \"oneOf\": [\n              {\n                \"$ref\": \"#/components/schemas/QuantitativeValue\"\n              },\n              {\n                \"type\": \"string\"\n              }\n            ],\n            \"description\": \"Peak wind gust for the period.\\nThis property as an string value is deprecated. Future versions will express this value as a quantitative value object. To make use of the future standard format now, set the \\\"forecast_wind_speed_qv\\\" feature flag on the request.\\n\",\n            \"nullable\": true\n          },\n          \"windDirection\": {\n            \"enum\": [\n              \"N\",\n              \"NNE\",\n              \"NE\",\n              \"ENE\",\n              \"E\",\n              \"ESE\",\n              \"SE\",\n              \"SSE\",\n              \"S\",\n              \"SSW\",\n              \"SW\",\n              \"WSW\",\n              \"W\",\n              \"WNW\",\n              \"NW\",\n              \"NNW\"\n            ],\n            \"type\": \"string\",\n            \"description\": \"The prevailing direction of the wind for the period, using a 16-point compass.\"\n          },\n          \"icon\": {\n            \"type\": \"string\",\n            \"description\": \"A link to an icon representing the forecast summary.\",\n            \"format\": \"uri\",\n            \"deprecated\": true\n          },\n          \"shortForecast\": {\n            \"type\": \"string\",\n            \"description\": \"A brief textual forecast summary for the period.\"\n          },\n          \"detailedForecast\": {\n            \"type\": \"string\",\n            \"description\": \"A detailed textual forecast for the period.\"\n          }\n        },\n        \"description\": \"An object containing forecast information for a specific time period (generally 12-hour or 1-hour).\\n\",\n        \"additionalProperties\": false\n      },\n      \"GridpointForecastUnits\": {\n        \"enum\": [\n          \"us\",\n          \"si\"\n        ],\n        \"type\": \"string\",\n        \"description\": \"Denotes the units used in the textual portions of the forecast.\",\n        \"default\": \"us\"\n      },\n      \"GridpointForecastGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeature\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"properties\": {\n                \"$ref\": \"#/components/schemas/GridpointForecast\"\n              }\n            }\n          }\n        ]\n      },\n      \"GridpointForecastJsonLd\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GridpointForecast\"\n          },\n          {\n            \"required\": [\n              \"@context\",\n              \"geometry\"\n            ],\n            \"type\": \"object\",\n            \"properties\": {\n              \"@context\": {\n                \"$ref\": \"#/components/schemas/JsonLdContext\"\n              },\n              \"geometry\": {\n                \"$ref\": \"#/components/schemas/GeometryString\"\n              }\n            }\n          }\n        ]\n      },\n      \"ISO8601Duration\": {\n        \"pattern\": \"^P(\\\\d+Y)?(\\\\d+M)?(\\\\d+D)?(T(\\\\d+H)?(\\\\d+M)?(\\\\d+S)?)?$\",\n        \"type\": \"string\",\n        \"description\": \"A time duration in ISO 8601 format.\",\n        \"example\": \"P2DT12H\"\n      },\n      \"ISO8601Interval\": {\n        \"oneOf\": [\n          {\n            \"pattern\": \"^(\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(Z|[+-]\\\\d{2}:?\\\\d{2}?)|NOW)\\\\/(\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(Z|[+-]\\\\d{2}:?\\\\d{2}?)|NOW)$\",\n            \"type\": \"string\",\n            \"example\": \"2007-03-01T13:00:00Z/2008-05-11T15:30:00Z\"\n          },\n          {\n            \"pattern\": \"^(\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(Z|[+-]\\\\d{2}:?\\\\d{2}?)|NOW)\\\\/P(\\\\d+Y)?(\\\\d+M)?(\\\\d+D)?(T(\\\\d+H)?(\\\\d+M)?(\\\\d+S)?)?$\",\n            \"type\": \"string\",\n            \"example\": \"2007-03-01T13:00:00Z/P1Y2M10DT2H30M\"\n          },\n          {\n            \"pattern\": \"^P(\\\\d+Y)?(\\\\d+M)?(\\\\d+D)?(T(\\\\d+H)?(\\\\d+M)?(\\\\d+S)?)?\\\\/(\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(Z|[+-]\\\\d{2}:?\\\\d{2}?)|NOW)$\",\n            \"type\": \"string\",\n            \"example\": \"P1Y2M10DT2H30M/2008-05-11T15:30:00Z\"\n          }\n        ],\n        \"description\": \"A time interval in ISO 8601 format. This can be one of:\\n\\n    1. Start and end time\\n    2. Start time and duration\\n    3. Duration and end time\\nThe string \\\"NOW\\\" can also be used in place of a start/end time.\\n\"\n      },\n      \"JsonLdContext\": {\n        \"anyOf\": [\n          {\n            \"type\": \"array\",\n            \"items\": {}\n          },\n          {\n            \"type\": \"object\"\n          }\n        ]\n      },\n      \"LandRegionCode\": {\n        \"enum\": [\n          \"AR\",\n          \"CR\",\n          \"ER\",\n          \"PR\",\n          \"SR\",\n          \"WR\"\n        ],\n        \"type\": \"string\",\n        \"description\": \"Land region code. These correspond to the six NWS regional headquarters:\\n* AR: Alaska Region\\n* CR: Central Region\\n* ER: Eastern Region\\n* PR: Pacific Region\\n* SR: Southern Region\\n* WR: Western Region\\n\"\n      },\n      \"MarineAreaCode\": {\n        \"enum\": [\n          \"AM\",\n          \"AN\",\n          \"GM\",\n          \"LC\",\n          \"LE\",\n          \"LH\",\n          \"LM\",\n          \"LO\",\n          \"LS\",\n          \"PH\",\n          \"PK\",\n          \"PM\",\n          \"PS\",\n          \"PZ\",\n          \"SL\"\n        ],\n        \"type\": \"string\",\n        \"description\": \"Marine area code as defined in NWS Directive 10-302:\\n* AM: Western North Atlantic Ocean and along U.S. East Coast south of Currituck Beach Light NC following the coastline into Gulf of Mexico to Ocean Reef FL including the Caribbean\\n* AN: Western North Atlantic Ocean and along U.S. East Coast from Canadian border south to Currituck Beach Light NC\\n* GM: Gulf of Mexico and along the U.S. Gulf Coast from the Mexican border to Ocean Reef FL\\n* LC: Lake St. Clair\\n* LE: Lake Erie\\n* LH: Lake Huron\\n* LM: Lake Michigan\\n* LO: Lake Ontario\\n* LS: Lake Superior\\n* PH: Central Pacific Ocean including Hawaiian waters\\n* PK: North Pacific Ocean near Alaska and along Alaska coastline including the Bering Sea and the Gulf of Alaska\\n* PM: Western Pacific Ocean including Mariana Island waters\\n* PS: South Central Pacific Ocean including American Samoa waters\\n* PZ: Eastern North Pacific Ocean and along U.S. West Coast from Canadian border to Mexican border\\n* SL: St. Lawrence River above St. Regis\\n\"\n      },\n      \"MarineRegionCode\": {\n        \"enum\": [\n          \"AL\",\n          \"AT\",\n          \"GL\",\n          \"GM\",\n          \"PA\",\n          \"PI\"\n        ],\n        \"type\": \"string\",\n        \"description\": \"Marine region code. These are groups of marine areas combined.\\n* AL: Alaska waters (PK)\\n* AT: Atlantic Ocean (AM, AN)\\n* GL: Great Lakes (LC, LE, LH, LM, LO, LS, SL)\\n* GM: Gulf of Mexico (GM)\\n* PA: Eastern Pacific Ocean and U.S. West Coast (PZ)\\n* PI: Central and Western Pacific (PH, PM, PS)\\n\"\n      },\n      \"MetarPhenomenon\": {\n        \"required\": [\n          \"intensity\",\n          \"modifier\",\n          \"weather\",\n          \"rawString\"\n        ],\n        \"type\": \"object\",\n        \"properties\": {\n          \"intensity\": {\n            \"enum\": [\n              \"light\",\n              \"heavy\"\n            ],\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"modifier\": {\n            \"enum\": [\n              \"patches\",\n              \"blowing\",\n              \"low_drifting\",\n              \"freezing\",\n              \"shallow\",\n              \"partial\",\n              \"showers\"\n            ],\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"weather\": {\n            \"enum\": [\n              \"fog_mist\",\n              \"dust_storm\",\n              \"dust\",\n              \"drizzle\",\n              \"funnel_cloud\",\n              \"fog\",\n              \"smoke\",\n              \"hail\",\n              \"snow_pellets\",\n              \"haze\",\n              \"ice_crystals\",\n              \"ice_pellets\",\n              \"dust_whirls\",\n              \"spray\",\n              \"rain\",\n              \"sand\",\n              \"snow_grains\",\n              \"snow\",\n              \"squalls\",\n              \"sand_storm\",\n              \"thunderstorms\",\n              \"unknown\",\n              \"volcanic_ash\"\n            ],\n            \"type\": \"string\"\n          },\n          \"rawString\": {\n            \"type\": \"string\"\n          },\n          \"inVicinity\": {\n            \"type\": \"boolean\"\n          }\n        },\n        \"description\": \"An object representing a decoded METAR phenomenon string.\",\n        \"additionalProperties\": false\n      },\n      \"MetarSkyCoverage\": {\n        \"enum\": [\n          \"OVC\",\n          \"BKN\",\n          \"SCT\",\n          \"FEW\",\n          \"SKC\",\n          \"CLR\",\n          \"VV\"\n        ],\n        \"type\": \"string\"\n      },\n      \"NWSCenterWeatherServiceUnitId\": {\n        \"enum\": [\n          \"ZAB\",\n          \"ZAN\",\n          \"ZAU\",\n          \"ZBW\",\n          \"ZDC\",\n          \"ZDV\",\n          \"ZFA\",\n          \"ZFW\",\n          \"ZHU\",\n          \"ZID\",\n          \"ZJX\",\n          \"ZKC\",\n          \"ZLA\",\n          \"ZLC\",\n          \"ZMA\",\n          \"ZME\",\n          \"ZMP\",\n          \"ZNY\",\n          \"ZOA\",\n          \"ZOB\",\n          \"ZSE\",\n          \"ZTL\"\n        ],\n        \"type\": \"string\",\n        \"description\": \"Three-letter identifier for a Center Weather Service Unit (CWSU).\"\n      },\n      \"NWSForecastOfficeId\": {\n        \"enum\": [\n          \"AKQ\",\n          \"ALY\",\n          \"BGM\",\n          \"BOX\",\n          \"BTV\",\n          \"BUF\",\n          \"CAE\",\n          \"CAR\",\n          \"CHS\",\n          \"CLE\",\n          \"CTP\",\n          \"GSP\",\n          \"GYX\",\n          \"ILM\",\n          \"ILN\",\n          \"LWX\",\n          \"MHX\",\n          \"OKX\",\n          \"PBZ\",\n          \"PHI\",\n          \"RAH\",\n          \"RLX\",\n          \"RNK\",\n          \"ABQ\",\n          \"AMA\",\n          \"BMX\",\n          \"BRO\",\n          \"CRP\",\n          \"EPZ\",\n          \"EWX\",\n          \"FFC\",\n          \"FWD\",\n          \"HGX\",\n          \"HUN\",\n          \"JAN\",\n          \"JAX\",\n          \"KEY\",\n          \"LCH\",\n          \"LIX\",\n          \"LUB\",\n          \"LZK\",\n          \"MAF\",\n          \"MEG\",\n          \"MFL\",\n          \"MLB\",\n          \"MOB\",\n          \"MRX\",\n          \"OHX\",\n          \"OUN\",\n          \"SHV\",\n          \"SJT\",\n          \"SJU\",\n          \"TAE\",\n          \"TBW\",\n          \"TSA\",\n          \"ABR\",\n          \"APX\",\n          \"ARX\",\n          \"BIS\",\n          \"BOU\",\n          \"CYS\",\n          \"DDC\",\n          \"DLH\",\n          \"DMX\",\n          \"DTX\",\n          \"DVN\",\n          \"EAX\",\n          \"FGF\",\n          \"FSD\",\n          \"GID\",\n          \"GJT\",\n          \"GLD\",\n          \"GRB\",\n          \"GRR\",\n          \"ICT\",\n          \"ILX\",\n          \"IND\",\n          \"IWX\",\n          \"JKL\",\n          \"LBF\",\n          \"LMK\",\n          \"LOT\",\n          \"LSX\",\n          \"MKX\",\n          \"MPX\",\n          \"MQT\",\n          \"OAX\",\n          \"PAH\",\n          \"PUB\",\n          \"RIW\",\n          \"SGF\",\n          \"TOP\",\n          \"UNR\",\n          \"BOI\",\n          \"BYZ\",\n          \"EKA\",\n          \"FGZ\",\n          \"GGW\",\n          \"HNX\",\n          \"LKN\",\n          \"LOX\",\n          \"MFR\",\n          \"MSO\",\n          \"MTR\",\n          \"OTX\",\n          \"PDT\",\n          \"PIH\",\n          \"PQR\",\n          \"PSR\",\n          \"REV\",\n          \"SEW\",\n          \"SGX\",\n          \"SLC\",\n          \"STO\",\n          \"TFX\",\n          \"TWC\",\n          \"VEF\",\n          \"AER\",\n          \"AFC\",\n          \"AFG\",\n          \"AJK\",\n          \"ALU\",\n          \"GUM\",\n          \"HPA\",\n          \"HFO\",\n          \"PPG\",\n          \"STU\",\n          \"NH1\",\n          \"NH2\",\n          \"ONA\",\n          \"ONP\"\n        ],\n        \"type\": \"string\",\n        \"description\": \"Three-letter identifier for a NWS office.\"\n      },\n      \"NWSNationalHQId\": {\n        \"enum\": [\n          \"NWS\"\n        ],\n        \"type\": \"string\",\n        \"description\": \"Three-letter identifier for NWS National HQ.\"\n      },\n      \"NWSOfficeId\": {\n        \"oneOf\": [\n          {\n            \"$ref\": \"#/components/schemas/NWSForecastOfficeId\"\n          },\n          {\n            \"$ref\": \"#/components/schemas/NWSRegionalHQId\"\n          },\n          {\n            \"$ref\": \"#/components/schemas/NWSNationalHQId\"\n          }\n        ]\n      },\n      \"NWSRegionalHQId\": {\n        \"enum\": [\n          \"ARH\",\n          \"CRH\",\n          \"ERH\",\n          \"PRH\",\n          \"SRH\",\n          \"WRH\"\n        ],\n        \"type\": \"string\",\n        \"description\": \"Three-letter identifier for a NWS Regional HQ.\"\n      },\n      \"NWSZoneID\": {\n        \"pattern\": \"^(A[KLMNRSZ]|C[AOT]|D[CE]|F[LM]|G[AMU]|I[ADLN]|K[SY]|L[ACEHMOS]|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[AHKMRSWZ]|S[CDL]|T[NX]|UT|V[AIT]|W[AIVY]|[HR]I)[CZ]\\\\d{3}$\",\n        \"type\": \"string\",\n        \"description\": \"UGC identifier for a NWS forecast zone or county.\\nThe first two letters will correspond to either a state code or marine area code (see #/components/schemas/StateTerritoryCode and #/components/schemas/MarineAreaCode for lists of valid letter combinations).\\nThe third letter will be Z for public/fire zone or C for county.\\n\"\n      },\n      \"NWSZoneType\": {\n        \"enum\": [\n          \"land\",\n          \"marine\",\n          \"forecast\",\n          \"public\",\n          \"coastal\",\n          \"offshore\",\n          \"fire\",\n          \"county\"\n        ],\n        \"type\": \"string\"\n      },\n      \"Observation\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"geometry\": {\n            \"$ref\": \"#/components/schemas/GeometryString\"\n          },\n          \"@id\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"@type\": {\n            \"enum\": [\n              \"wx:ObservationStation\"\n            ],\n            \"type\": \"string\"\n          },\n          \"elevation\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"station\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"timestamp\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"rawMessage\": {\n            \"type\": \"string\"\n          },\n          \"textDescription\": {\n            \"type\": \"string\"\n          },\n          \"icon\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"nullable\": true,\n            \"deprecated\": true\n          },\n          \"presentWeather\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/MetarPhenomenon\"\n            }\n          },\n          \"temperature\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"dewpoint\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"windDirection\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"windSpeed\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"windGust\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"barometricPressure\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"seaLevelPressure\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"visibility\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"maxTemperatureLast24Hours\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"minTemperatureLast24Hours\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"precipitationLastHour\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"precipitationLast3Hours\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"precipitationLast6Hours\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"relativeHumidity\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"windChill\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"heatIndex\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"cloudLayers\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"required\": [\n                \"base\",\n                \"amount\"\n              ],\n              \"type\": \"object\",\n              \"properties\": {\n                \"base\": {\n                  \"$ref\": \"#/components/schemas/QuantitativeValue\"\n                },\n                \"amount\": {\n                  \"$ref\": \"#/components/schemas/MetarSkyCoverage\"\n                }\n              },\n              \"additionalProperties\": false\n            },\n            \"nullable\": true\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"ObservationGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeature\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"properties\": {\n                \"$ref\": \"#/components/schemas/Observation\"\n              }\n            }\n          }\n        ]\n      },\n      \"ObservationJsonLd\": {\n        \"$ref\": \"#/components/schemas/Observation\"\n      },\n      \"ObservationCollectionGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeatureCollection\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"features\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"properties\": {\n                      \"$ref\": \"#/components/schemas/Observation\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"ObservationCollectionJsonLd\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"@graph\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Observation\"\n            }\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"ObservationStation\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"geometry\": {\n            \"$ref\": \"#/components/schemas/GeometryString\"\n          },\n          \"@id\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"@type\": {\n            \"enum\": [\n              \"wx:ObservationStation\"\n            ],\n            \"type\": \"string\"\n          },\n          \"elevation\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"stationIdentifier\": {\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"type\": \"string\"\n          },\n          \"timeZone\": {\n            \"type\": \"string\",\n            \"format\": \"iana-time-zone-identifier\"\n          },\n          \"forecast\": {\n            \"type\": \"string\",\n            \"description\": \"A link to the NWS public forecast zone containing this station.\",\n            \"format\": \"uri\"\n          },\n          \"county\": {\n            \"type\": \"string\",\n            \"description\": \"A link to the NWS county zone containing this station.\",\n            \"format\": \"uri\"\n          },\n          \"fireWeatherZone\": {\n            \"type\": \"string\",\n            \"description\": \"A link to the NWS fire weather forecast zone containing this station.\",\n            \"format\": \"uri\"\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"ObservationStationGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeature\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"properties\": {\n                \"$ref\": \"#/components/schemas/ObservationStation\"\n              }\n            }\n          }\n        ]\n      },\n      \"ObservationStationJsonLd\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/ObservationStation\"\n          },\n          {\n            \"required\": [\n              \"@context\",\n              \"geometry\"\n            ],\n            \"type\": \"object\",\n            \"properties\": {\n              \"@context\": {\n                \"$ref\": \"#/components/schemas/JsonLdContext\"\n              },\n              \"geometry\": {\n                \"$ref\": \"#/components/schemas/GeometryString\"\n              }\n            }\n          }\n        ]\n      },\n      \"ObservationStationCollectionGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeatureCollection\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"features\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"properties\": {\n                      \"$ref\": \"#/components/schemas/ObservationStation\"\n                    }\n                  }\n                }\n              },\n              \"observationStations\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"string\",\n                  \"format\": \"uri\"\n                }\n              },\n              \"pagination\": {\n                \"$ref\": \"#/components/schemas/PaginationInfo\"\n              }\n            }\n          }\n        ]\n      },\n      \"ObservationStationCollectionJsonLd\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"@graph\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/ObservationStation\"\n            }\n          },\n          \"observationStations\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"uri\"\n            }\n          },\n          \"pagination\": {\n            \"$ref\": \"#/components/schemas/PaginationInfo\"\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"Office\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"@type\": {\n            \"enum\": [\n              \"GovernmentOrganization\"\n            ],\n            \"type\": \"string\"\n          },\n          \"@id\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"type\": \"string\"\n          },\n          \"address\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"@type\": {\n                \"enum\": [\n                  \"PostalAddress\"\n                ],\n                \"type\": \"string\"\n              },\n              \"streetAddress\": {\n                \"type\": \"string\"\n              },\n              \"addressLocality\": {\n                \"type\": \"string\"\n              },\n              \"addressRegion\": {\n                \"type\": \"string\"\n              },\n              \"postalCode\": {\n                \"type\": \"string\"\n              }\n            },\n            \"additionalProperties\": false\n          },\n          \"telephone\": {\n            \"type\": \"string\"\n          },\n          \"faxNumber\": {\n            \"type\": \"string\"\n          },\n          \"email\": {\n            \"type\": \"string\"\n          },\n          \"sameAs\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"nwsRegion\": {\n            \"type\": \"string\"\n          },\n          \"parentOrganization\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"responsibleCounties\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"uri\"\n            }\n          },\n          \"responsibleForecastZones\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"uri\"\n            }\n          },\n          \"responsibleFireZones\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"uri\"\n            }\n          },\n          \"approvedObservationStations\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"uri\"\n            }\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"OfficeHeadline\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"@id\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"office\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"important\": {\n            \"type\": \"boolean\"\n          },\n          \"issuanceTime\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"link\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"name\": {\n            \"type\": \"string\"\n          },\n          \"title\": {\n            \"type\": \"string\"\n          },\n          \"summary\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"content\": {\n            \"type\": \"string\"\n          }\n        }\n      },\n      \"OfficeHeadlineCollection\": {\n        \"required\": [\n          \"@context\",\n          \"@graph\"\n        ],\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"@graph\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/OfficeHeadline\"\n            }\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"PaginationInfo\": {\n        \"required\": [\n          \"next\"\n        ],\n        \"type\": \"object\",\n        \"properties\": {\n          \"next\": {\n            \"type\": \"string\",\n            \"description\": \"A link to the next page of records\",\n            \"format\": \"uri\"\n          }\n        },\n        \"description\": \"Links for retrieving more data from paged data sets\",\n        \"additionalProperties\": false\n      },\n      \"Point\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"geometry\": {\n            \"$ref\": \"#/components/schemas/GeometryString\"\n          },\n          \"@id\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"@type\": {\n            \"enum\": [\n              \"wx:Point\"\n            ],\n            \"type\": \"string\"\n          },\n          \"cwa\": {\n            \"$ref\": \"#/components/schemas/NWSForecastOfficeId\"\n          },\n          \"forecastOffice\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"gridId\": {\n            \"$ref\": \"#/components/schemas/NWSForecastOfficeId\"\n          },\n          \"gridX\": {\n            \"minimum\": 0,\n            \"type\": \"integer\"\n          },\n          \"gridY\": {\n            \"minimum\": 0,\n            \"type\": \"integer\"\n          },\n          \"forecast\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"forecastHourly\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"forecastGridData\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"observationStations\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"relativeLocation\": {\n            \"oneOf\": [\n              {\n                \"$ref\": \"#/components/schemas/RelativeLocationGeoJson\"\n              },\n              {\n                \"$ref\": \"#/components/schemas/RelativeLocationJsonLd\"\n              }\n            ]\n          },\n          \"forecastZone\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"county\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"fireWeatherZone\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"timeZone\": {\n            \"type\": \"string\"\n          },\n          \"radarStation\": {\n            \"type\": \"string\"\n          }\n        }\n      },\n      \"PointGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeature\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"properties\": {\n                \"$ref\": \"#/components/schemas/Point\"\n              }\n            }\n          }\n        ]\n      },\n      \"PointJsonLd\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/Point\"\n          },\n          {\n            \"required\": [\n              \"@context\",\n              \"geometry\"\n            ],\n            \"type\": \"object\",\n            \"properties\": {\n              \"@context\": {\n                \"$ref\": \"#/components/schemas/JsonLdContext\"\n              },\n              \"geometry\": {\n                \"$ref\": \"#/components/schemas/GeometryString\"\n              }\n            }\n          }\n        ]\n      },\n      \"PointString\": {\n        \"pattern\": \"^(-?\\\\d+(?:\\\\.\\\\d+)?),(-?\\\\d+(?:\\\\.\\\\d+)?)$\",\n        \"type\": \"string\"\n      },\n      \"ProblemDetail\": {\n        \"required\": [\n          \"type\",\n          \"title\",\n          \"status\",\n          \"detail\",\n          \"instance\",\n          \"correlationId\"\n        ],\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"description\": \"A URI reference (RFC 3986) that identifies the problem type. This is only an identifier and is not necessarily a resolvable URL.\\n\",\n            \"format\": \"uri\",\n            \"default\": \"about:blank\",\n            \"example\": \"urn:noaa:nws:api:UnexpectedProblem\"\n          },\n          \"title\": {\n            \"type\": \"string\",\n            \"description\": \"A short, human-readable summary of the problem type.\",\n            \"example\": \"Unexpected Problem\"\n          },\n          \"status\": {\n            \"maximum\": 999,\n            \"minimum\": 100,\n            \"type\": \"number\",\n            \"description\": \"The HTTP status code (RFC 7231, Section 6) generated by the origin server for this occurrence of the problem.\\n\",\n            \"example\": 500\n          },\n          \"detail\": {\n            \"type\": \"string\",\n            \"description\": \"A human-readable explanation specific to this occurrence of the problem.\",\n            \"example\": \"An unexpected problem has occurred.\"\n          },\n          \"instance\": {\n            \"type\": \"string\",\n            \"description\": \"A URI reference (RFC 3986) that identifies the specific occurrence of the problem. This is only an identifier and is not necessarily a resolvable URL.\\n\",\n            \"format\": \"uri\",\n            \"example\": \"urn:noaa:nws:api:request:493c3a1d-f87e-407f-ae2c-24483f5aab63\"\n          },\n          \"correlationId\": {\n            \"type\": \"string\",\n            \"description\": \"A unique identifier for the request, used for NWS debugging purposes. Please include this identifier with any correspondence to help us investigate your issue.\\n\",\n            \"example\": \"493c3a1d-f87e-407f-ae2c-24483f5aab63\"\n          }\n        },\n        \"description\": \"Detail about an error. This document conforms to RFC 7807 (Problem Details for HTTP APIs).\",\n        \"additionalProperties\": true\n      },\n      \"QuantitativeValue\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"value\": {\n            \"type\": \"number\",\n            \"description\": \"A measured value\",\n            \"nullable\": true\n          },\n          \"maxValue\": {\n            \"type\": \"number\",\n            \"description\": \"The maximum value of a range of measured values\"\n          },\n          \"minValue\": {\n            \"type\": \"number\",\n            \"description\": \"The minimum value of a range of measured values\"\n          },\n          \"unitCode\": {\n            \"$ref\": \"#/components/schemas/UnitOfMeasure\"\n          },\n          \"qualityControl\": {\n            \"enum\": [\n              \"Z\",\n              \"C\",\n              \"S\",\n              \"V\",\n              \"X\",\n              \"Q\",\n              \"G\",\n              \"B\",\n              \"T\"\n            ],\n            \"type\": \"string\",\n            \"description\": \"For values in observation records, the quality control flag from the MADIS system. The definitions of these flags can be found at https://madis.ncep.noaa.gov/madis_sfc_qc_notes.shtml\\n\"\n          }\n        },\n        \"description\": \"A structured value representing a measurement and its unit of measure. This object is a slighly modified version of the schema.org definition at https://schema.org/QuantitativeValue\\n\",\n        \"additionalProperties\": false\n      },\n      \"RegionCode\": {\n        \"oneOf\": [\n          {\n            \"$ref\": \"#/components/schemas/LandRegionCode\"\n          },\n          {\n            \"$ref\": \"#/components/schemas/MarineRegionCode\"\n          }\n        ]\n      },\n      \"RelativeLocation\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"city\": {\n            \"type\": \"string\"\n          },\n          \"state\": {\n            \"type\": \"string\"\n          },\n          \"distance\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          },\n          \"bearing\": {\n            \"$ref\": \"#/components/schemas/QuantitativeValue\"\n          }\n        }\n      },\n      \"RelativeLocationGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeature\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"properties\": {\n                \"$ref\": \"#/components/schemas/RelativeLocation\"\n              }\n            }\n          }\n        ]\n      },\n      \"RelativeLocationJsonLd\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/RelativeLocation\"\n          },\n          {\n            \"required\": [\n              \"geometry\"\n            ],\n            \"type\": \"object\",\n            \"properties\": {\n              \"geometry\": {\n                \"$ref\": \"#/components/schemas/GeometryString\"\n              }\n            }\n          }\n        ]\n      },\n      \"Sigmet\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"issueTime\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"fir\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"atsu\": {\n            \"$ref\": \"#/components/schemas/ATSUIdentifier\"\n          },\n          \"sequence\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"phenomenon\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"nullable\": true\n          },\n          \"start\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"end\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"SigmetCollectionGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeatureCollection\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"features\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/SigmetGeoJson\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"SigmetGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeature\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"properties\": {\n                \"$ref\": \"#/components/schemas/Sigmet\"\n              }\n            }\n          }\n        ]\n      },\n      \"SigmetSequenceNumber\": {\n        \"type\": \"string\"\n      },\n      \"StateTerritoryCode\": {\n        \"enum\": [\n          \"AL\",\n          \"AK\",\n          \"AS\",\n          \"AR\",\n          \"AZ\",\n          \"CA\",\n          \"CO\",\n          \"CT\",\n          \"DE\",\n          \"DC\",\n          \"FL\",\n          \"GA\",\n          \"GU\",\n          \"HI\",\n          \"ID\",\n          \"IL\",\n          \"IN\",\n          \"IA\",\n          \"KS\",\n          \"KY\",\n          \"LA\",\n          \"ME\",\n          \"MD\",\n          \"MA\",\n          \"MI\",\n          \"MN\",\n          \"MS\",\n          \"MO\",\n          \"MT\",\n          \"NE\",\n          \"NV\",\n          \"NH\",\n          \"NJ\",\n          \"NM\",\n          \"NY\",\n          \"NC\",\n          \"ND\",\n          \"OH\",\n          \"OK\",\n          \"OR\",\n          \"PA\",\n          \"PR\",\n          \"RI\",\n          \"SC\",\n          \"SD\",\n          \"TN\",\n          \"TX\",\n          \"UT\",\n          \"VT\",\n          \"VI\",\n          \"VA\",\n          \"WA\",\n          \"WV\",\n          \"WI\",\n          \"WY\",\n          \"MP\",\n          \"PW\",\n          \"FM\",\n          \"MH\"\n        ],\n        \"type\": \"string\"\n      },\n      \"TextProduct\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"@id\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"wmoCollectiveId\": {\n            \"type\": \"string\"\n          },\n          \"issuingOffice\": {\n            \"type\": \"string\"\n          },\n          \"issuanceTime\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"productCode\": {\n            \"type\": \"string\"\n          },\n          \"productName\": {\n            \"type\": \"string\"\n          },\n          \"productText\": {\n            \"type\": \"string\"\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"TextProductCollection\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"@graph\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/TextProduct\"\n            }\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"TextProductTypeCollection\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"@graph\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"required\": [\n                \"productCode\",\n                \"productName\"\n              ],\n              \"type\": \"object\",\n              \"properties\": {\n                \"productCode\": {\n                  \"type\": \"string\"\n                },\n                \"productName\": {\n                  \"type\": \"string\"\n                }\n              },\n              \"additionalProperties\": false\n            }\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"TextProductLocationCollection\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"locations\": {\n            \"type\": \"object\",\n            \"additionalProperties\": {\n              \"type\": \"string\",\n              \"nullable\": true\n            }\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"Time\": {\n        \"pattern\": \"^([01][0-9]|2[0-3])[0-5][0-9]$\",\n        \"type\": \"string\",\n        \"description\": \"A time (in HHMM format). This is always specified in UTC (Zulu) time.\"\n      },\n      \"UnitOfMeasure\": {\n        \"pattern\": \"^((wmo|uc|wmoUnit|nwsUnit):)?.*$\",\n        \"type\": \"string\",\n        \"description\": \"A string denoting a unit of measure, expressed in the format \\\"{unit}\\\" or \\\"{namespace}:{unit}\\\".\\nUnits with the namespace \\\"wmo\\\" or \\\"wmoUnit\\\" are defined in the World Meteorological Organization Codes Registry at http://codes.wmo.int/common/unit and should be canonically resolvable to http://codes.wmo.int/common/unit/{unit}.\\nUnits with the namespace \\\"nwsUnit\\\" are currently custom and do not align to any standard.\\nUnits with no namespace or the namespace \\\"uc\\\" are compliant with the Unified Code for Units of Measure syntax defined at https://unitsofmeasure.org/. This also aligns with recent versions of the Geographic Markup Language (GML) standard, the IWXXM standard, and OGC Observations and Measurements v2.0 (ISO/DIS 19156).\\nNamespaced units are considered deprecated. We will be aligning API to use the same standards as GML/IWXXM in the future.\\n\"\n      },\n      \"Zone\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"geometry\": {\n            \"$ref\": \"#/components/schemas/GeometryString\"\n          },\n          \"@id\": {\n            \"type\": \"string\",\n            \"format\": \"uri\"\n          },\n          \"@type\": {\n            \"enum\": [\n              \"wx:Zone\"\n            ],\n            \"type\": \"string\"\n          },\n          \"id\": {\n            \"$ref\": \"#/components/schemas/NWSZoneID\"\n          },\n          \"type\": {\n            \"$ref\": \"#/components/schemas/NWSZoneType\"\n          },\n          \"name\": {\n            \"type\": \"string\"\n          },\n          \"effectiveDate\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"expirationDate\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"state\": {\n            \"oneOf\": [\n              {\n                \"$ref\": \"#/components/schemas/StateTerritoryCode\"\n              },\n              {\n                \"enum\": [\n                  \"\"\n                ],\n                \"type\": \"string\",\n                \"nullable\": true\n              }\n            ]\n          },\n          \"cwa\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/NWSForecastOfficeId\"\n            }\n          },\n          \"forecastOffices\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"uri\"\n            }\n          },\n          \"timeZone\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"iana-time-zone-identifier\"\n            }\n          },\n          \"observationStations\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\",\n              \"format\": \"uri\"\n            }\n          },\n          \"radarStation\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"ZoneGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeature\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"properties\": {\n                \"$ref\": \"#/components/schemas/Zone\"\n              }\n            }\n          }\n        ]\n      },\n      \"ZoneJsonLd\": {\n        \"$ref\": \"#/components/schemas/Zone\"\n      },\n      \"ZoneCollectionGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeatureCollection\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"features\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"properties\": {\n                      \"$ref\": \"#/components/schemas/Zone\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"ZoneCollectionJsonLd\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"@graph\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Zone\"\n            }\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"ZoneForecast\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"@context\": {\n            \"$ref\": \"#/components/schemas/JsonLdContext\"\n          },\n          \"geometry\": {\n            \"$ref\": \"#/components/schemas/GeometryString\"\n          },\n          \"zone\": {\n            \"type\": \"string\",\n            \"description\": \"An API link to the zone this forecast is for.\",\n            \"format\": \"uri\"\n          },\n          \"updated\": {\n            \"type\": \"string\",\n            \"description\": \"The time this zone forecast product was published.\",\n            \"format\": \"date-time\"\n          },\n          \"periods\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"required\": [\n                \"number\",\n                \"name\",\n                \"detailedForecast\"\n              ],\n              \"type\": \"object\",\n              \"properties\": {\n                \"number\": {\n                  \"type\": \"integer\",\n                  \"description\": \"A sequential identifier number.\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"description\": \"A textual description of the period.\",\n                  \"example\": \"This Afternoon\"\n                },\n                \"detailedForecast\": {\n                  \"type\": \"string\",\n                  \"description\": \"A detailed textual forecast for the period.\"\n                }\n              },\n              \"additionalProperties\": false\n            },\n            \"description\": \"An array of forecast periods.\"\n          }\n        },\n        \"description\": \"An object representing a zone area forecast.\",\n        \"additionalProperties\": false\n      },\n      \"ZoneForecastGeoJson\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/GeoJsonFeature\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"properties\": {\n                \"$ref\": \"#/components/schemas/ZoneForecast\"\n              }\n            }\n          }\n        ]\n      },\n      \"ZoneForecastJsonLd\": {\n        \"$ref\": \"#/components/schemas/ZoneForecast\"\n      }\n    },\n    \"responses\": {\n      \"AlertCollection\": {\n        \"description\": \"A collection of alerts.\",\n        \"headers\": {\n          \"X-Correlation-Id\": {\n            \"$ref\": \"#/components/headers/CorrelationId\"\n          },\n          \"X-Request-Id\": {\n            \"$ref\": \"#/components/headers/RequestId\"\n          },\n          \"X-Server-Id\": {\n            \"$ref\": \"#/components/headers/ServerId\"\n          }\n        },\n        \"content\": {\n          \"application/geo+json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/AlertCollectionGeoJson\"\n            }\n          },\n          \"application/ld+json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/AlertCollectionJsonLd\"\n            }\n          },\n          \"application/atom+xml\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/AlertAtomFeed\"\n            }\n          }\n        },\n        \"x-url-content-negotiation-extensions\": {\n          \"json\": \"application/geo+json\",\n          \"atom\": \"application/atom+xml\"\n        }\n      },\n      \"Error\": {\n        \"description\": \"An error response.\",\n        \"headers\": {\n          \"X-Correlation-Id\": {\n            \"$ref\": \"#/components/headers/CorrelationId\"\n          },\n          \"X-Request-Id\": {\n            \"$ref\": \"#/components/headers/RequestId\"\n          },\n          \"X-Server-Id\": {\n            \"$ref\": \"#/components/headers/ServerId\"\n          }\n        },\n        \"content\": {\n          \"application/problem+json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ProblemDetail\"\n            }\n          }\n        }\n      },\n      \"GridpointForecast\": {\n        \"description\": \"A forecast for a gridpoint.\",\n        \"headers\": {\n          \"X-Correlation-Id\": {\n            \"$ref\": \"#/components/headers/CorrelationId\"\n          },\n          \"X-Request-Id\": {\n            \"$ref\": \"#/components/headers/RequestId\"\n          },\n          \"X-Server-Id\": {\n            \"$ref\": \"#/components/headers/ServerId\"\n          }\n        },\n        \"content\": {\n          \"application/geo+json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/GridpointForecastGeoJson\"\n            }\n          },\n          \"application/ld+json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/GridpointForecastJsonLd\"\n            }\n          },\n          \"application/vnd.noaa.dwml+xml\": {\n            \"schema\": {}\n          }\n        }\n      },\n      \"Observation\": {\n        \"description\": \"An observation record.\",\n        \"headers\": {\n          \"X-Correlation-Id\": {\n            \"$ref\": \"#/components/headers/CorrelationId\"\n          },\n          \"X-Request-Id\": {\n            \"$ref\": \"#/components/headers/RequestId\"\n          },\n          \"X-Server-Id\": {\n            \"$ref\": \"#/components/headers/ServerId\"\n          }\n        },\n        \"content\": {\n          \"application/geo+json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ObservationGeoJson\"\n            }\n          },\n          \"application/ld+json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ObservationJsonLd\"\n            }\n          },\n          \"application/vnd.noaa.uswx+xml\": {\n            \"schema\": {}\n          },\n          \"application/vnd.noaa.obs+xml\": {\n            \"schema\": {}\n          }\n        }\n      },\n      \"ObservationCollection\": {\n        \"description\": \"A collection of observation records.\",\n        \"headers\": {\n          \"X-Correlation-Id\": {\n            \"$ref\": \"#/components/headers/CorrelationId\"\n          },\n          \"X-Request-Id\": {\n            \"$ref\": \"#/components/headers/RequestId\"\n          },\n          \"X-Server-Id\": {\n            \"$ref\": \"#/components/headers/ServerId\"\n          }\n        },\n        \"content\": {\n          \"application/geo+json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ObservationCollectionGeoJson\"\n            }\n          },\n          \"application/ld+json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ObservationCollectionJsonLd\"\n            }\n          }\n        }\n      },\n      \"ObservationStationCollection\": {\n        \"description\": \"A collection of observation stations.\",\n        \"headers\": {\n          \"X-Correlation-Id\": {\n            \"$ref\": \"#/components/headers/CorrelationId\"\n          },\n          \"X-Request-Id\": {\n            \"$ref\": \"#/components/headers/RequestId\"\n          },\n          \"X-Server-Id\": {\n            \"$ref\": \"#/components/headers/ServerId\"\n          }\n        },\n        \"content\": {\n          \"application/geo+json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ObservationStationCollectionGeoJson\"\n            }\n          },\n          \"application/ld+json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ObservationStationCollectionJsonLd\"\n            }\n          }\n        }\n      }\n    },\n    \"parameters\": {\n      \"AlertArea\": {\n        \"name\": \"area\",\n        \"in\": \"query\",\n        \"description\": \"State/territory code or marine area code\\nThis parameter is incompatible with the following parameters: point, region, region_type, zone\\n\",\n        \"style\": \"form\",\n        \"explode\": false,\n        \"schema\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/components/schemas/AreaCode\"\n          }\n        }\n      },\n      \"AlertCertainty\": {\n        \"name\": \"certainty\",\n        \"in\": \"query\",\n        \"description\": \"Certainty (observed, likely, possible, unlikely, unknown)\",\n        \"style\": \"form\",\n        \"explode\": false,\n        \"schema\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/components/schemas/AlertCertainty\"\n          }\n        }\n      },\n      \"AlertCode\": {\n        \"name\": \"code\",\n        \"in\": \"query\",\n        \"description\": \"Event code\",\n        \"style\": \"form\",\n        \"explode\": false,\n        \"schema\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"pattern\": \"^\\\\w{3}$\",\n            \"type\": \"string\"\n          }\n        }\n      },\n      \"AlertEventName\": {\n        \"name\": \"event\",\n        \"in\": \"query\",\n        \"description\": \"Event name\",\n        \"style\": \"form\",\n        \"explode\": false,\n        \"schema\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"pattern\": \"^[A-Za-z0-9 ]+$\",\n            \"type\": \"string\"\n          }\n        }\n      },\n      \"AlertMessageType\": {\n        \"name\": \"message_type\",\n        \"in\": \"query\",\n        \"description\": \"Message type (alert, update, cancel)\",\n        \"style\": \"form\",\n        \"explode\": false,\n        \"schema\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"enum\": [\n              \"alert\",\n              \"update\",\n              \"cancel\"\n            ],\n            \"type\": \"string\"\n          }\n        }\n      },\n      \"AlertPoint\": {\n        \"name\": \"point\",\n        \"in\": \"query\",\n        \"description\": \"Point (latitude,longitude)\\nThis parameter is incompatible with the following parameters: area, region, region_type, zone\\n\",\n        \"schema\": {\n          \"$ref\": \"#/components/schemas/PointString\"\n        }\n      },\n      \"AlertRegion\": {\n        \"name\": \"region\",\n        \"in\": \"query\",\n        \"description\": \"Marine region code\\nThis parameter is incompatible with the following parameters: area, point, region_type, zone\\n\",\n        \"style\": \"form\",\n        \"explode\": false,\n        \"schema\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/components/schemas/MarineRegionCode\"\n          }\n        }\n      },\n      \"AlertRegionType\": {\n        \"name\": \"region_type\",\n        \"in\": \"query\",\n        \"description\": \"Region type (land or marine)\\nThis parameter is incompatible with the following parameters: area, point, region, zone\\n\",\n        \"schema\": {\n          \"enum\": [\n            \"land\",\n            \"marine\"\n          ],\n          \"type\": \"string\"\n        }\n      },\n      \"AlertSeverity\": {\n        \"name\": \"severity\",\n        \"in\": \"query\",\n        \"description\": \"Severity (extreme, severe, moderate, minor, unknown)\",\n        \"style\": \"form\",\n        \"explode\": false,\n        \"schema\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/components/schemas/AlertSeverity\"\n          }\n        }\n      },\n      \"AlertStatus\": {\n        \"name\": \"status\",\n        \"in\": \"query\",\n        \"description\": \"Status (actual, exercise, system, test, draft)\",\n        \"style\": \"form\",\n        \"explode\": false,\n        \"schema\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"enum\": [\n              \"actual\",\n              \"exercise\",\n              \"system\",\n              \"test\",\n              \"draft\"\n            ],\n            \"type\": \"string\"\n          }\n        }\n      },\n      \"AlertUrgency\": {\n        \"name\": \"urgency\",\n        \"in\": \"query\",\n        \"description\": \"Urgency (immediate, expected, future, past, unknown)\",\n        \"style\": \"form\",\n        \"explode\": false,\n        \"schema\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/components/schemas/AlertUrgency\"\n          }\n        }\n      },\n      \"AlertZone\": {\n        \"name\": \"zone\",\n        \"in\": \"query\",\n        \"description\": \"Zone ID (forecast or county)\\nThis parameter is incompatible with the following parameters: area, point, region, region_type\\n\",\n        \"style\": \"form\",\n        \"explode\": false,\n        \"schema\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/components/schemas/NWSZoneID\"\n          }\n        }\n      },\n      \"ATSUIdentifier\": {\n        \"name\": \"atsu\",\n        \"in\": \"path\",\n        \"description\": \"ATSU identifier\",\n        \"required\": true,\n        \"schema\": {\n          \"$ref\": \"#/components/schemas/ATSUIdentifier\"\n        }\n      },\n      \"Date\": {\n        \"name\": \"date\",\n        \"in\": \"path\",\n        \"description\": \"Date (YYYY-MM-DD format)\",\n        \"required\": true,\n        \"schema\": {\n          \"$ref\": \"#/components/schemas/Date\"\n        }\n      },\n      \"GridpointForecastFeatureFlags\": {\n        \"name\": \"Feature-Flags\",\n        \"in\": \"header\",\n        \"description\": \"Enable future and experimental features (see documentation for more info):\\n* forecast_temperature_qv: Represent temperature as QuantitativeValue\\n* forecast_wind_speed_qv: Represent wind speed as QuantitativeValue\\n\",\n        \"required\": false,\n        \"style\": \"simple\",\n        \"explode\": false,\n        \"schema\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"enum\": [\n              \"forecast_temperature_qv\",\n              \"forecast_wind_speed_qv\"\n            ],\n            \"type\": \"string\"\n          }\n        }\n      },\n      \"GridpointForecastUnits\": {\n        \"name\": \"units\",\n        \"in\": \"query\",\n        \"description\": \"Use US customary or SI (metric) units in textual output\",\n        \"schema\": {\n          \"$ref\": \"#/components/schemas/GridpointForecastUnits\"\n        }\n      },\n      \"GridpointWFO\": {\n        \"name\": \"wfo\",\n        \"in\": \"path\",\n        \"description\": \"Forecast office ID\",\n        \"required\": true,\n        \"schema\": {\n          \"$ref\": \"#/components/schemas/NWSForecastOfficeId\"\n        }\n      },\n      \"GridpointX\": {\n        \"name\": \"x\",\n        \"in\": \"path\",\n        \"description\": \"Forecast grid X coordinate\",\n        \"required\": true,\n        \"schema\": {\n          \"minimum\": 0,\n          \"type\": \"integer\"\n        }\n      },\n      \"GridpointY\": {\n        \"name\": \"y\",\n        \"in\": \"path\",\n        \"description\": \"Forecast grid Y coordinate\",\n        \"required\": true,\n        \"schema\": {\n          \"minimum\": 0,\n          \"type\": \"integer\"\n        }\n      },\n      \"Limit\": {\n        \"name\": \"limit\",\n        \"in\": \"query\",\n        \"description\": \"Limit\",\n        \"schema\": {\n          \"maximum\": 500,\n          \"minimum\": 1,\n          \"type\": \"integer\",\n          \"default\": 500\n        }\n      },\n      \"NWSCenterWeatherServiceUnitId\": {\n        \"name\": \"cwsuId\",\n        \"in\": \"path\",\n        \"description\": \"NWS CWSU ID\",\n        \"required\": true,\n        \"schema\": {\n          \"$ref\": \"#/components/schemas/NWSCenterWeatherServiceUnitId\"\n        }\n      },\n      \"NWSOfficeId\": {\n        \"name\": \"officeId\",\n        \"in\": \"path\",\n        \"description\": \"NWS office ID\",\n        \"required\": true,\n        \"schema\": {\n          \"$ref\": \"#/components/schemas/NWSOfficeId\"\n        }\n      },\n      \"NWSZoneId\": {\n        \"name\": \"zoneId\",\n        \"in\": \"path\",\n        \"description\": \"NWS public zone/county identifier\",\n        \"required\": true,\n        \"schema\": {\n          \"$ref\": \"#/components/schemas/NWSZoneID\"\n        }\n      },\n      \"ObservationStationId\": {\n        \"name\": \"stationId\",\n        \"in\": \"path\",\n        \"description\": \"Observation station ID\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      },\n      \"PaginationCursor\": {\n        \"name\": \"cursor\",\n        \"in\": \"query\",\n        \"description\": \"Pagination cursor\",\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      },\n      \"PathPoint\": {\n        \"name\": \"point\",\n        \"in\": \"path\",\n        \"description\": \"Point (latitude, longitude)\",\n        \"required\": true,\n        \"schema\": {\n          \"$ref\": \"#/components/schemas/PointString\"\n        }\n      },\n      \"QueryDate\": {\n        \"name\": \"date\",\n        \"in\": \"query\",\n        \"description\": \"Date (YYYY-MM-DD format)\",\n        \"schema\": {\n          \"$ref\": \"#/components/schemas/Date\"\n        }\n      },\n      \"QueryStartTime\": {\n        \"name\": \"start\",\n        \"in\": \"query\",\n        \"description\": \"Start time\",\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"date-time\"\n        }\n      },\n      \"QueryEndTime\": {\n        \"name\": \"end\",\n        \"in\": \"query\",\n        \"description\": \"End time\",\n        \"schema\": {\n          \"type\": \"string\",\n          \"format\": \"date-time\"\n        }\n      },\n      \"SigmetSequenceNumber\": {\n        \"name\": \"sequence\",\n        \"in\": \"path\",\n        \"description\": \"SIGMET sequence number\",\n        \"required\": true,\n        \"schema\": {\n          \"$ref\": \"#/components/schemas/SigmetSequenceNumber\"\n        }\n      },\n      \"Time\": {\n        \"name\": \"time\",\n        \"in\": \"path\",\n        \"description\": \"Time (HHMM format). This time is always specified in UTC (Zulu) time.\",\n        \"required\": true,\n        \"schema\": {\n          \"$ref\": \"#/components/schemas/Time\"\n        }\n      }\n    },\n    \"headers\": {\n      \"CorrelationId\": {\n        \"description\": \"A unique identifier for the request, used for NWS debugging purposes. Please include this identifier with any correspondence to help us investigate your issue.\\n\",\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      },\n      \"RequestId\": {\n        \"description\": \"A unique identifier for the request, used for NWS debugging purposes. Please include this identifier with any correspondence to help us investigate your issue.\\n\",\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      },\n      \"ServerId\": {\n        \"description\": \"The identifier of the server that generated the response, used for NWS debugging purposes. Please include this identifier with any correspondence to help us investigate your issue.\\n\",\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      }\n    },\n    \"securitySchemes\": {\n      \"userAgent\": {\n        \"type\": \"apiKey\",\n        \"description\": \"We require that all consumers of the API include a User-Agent header in requests. This is due to a high number of scripts exhibiting abusive behavior (intentional or unintentional). We recommend setting the value to something that identifies your application and includes a contact email. This will help us contact you if we notice unusual behavior and also aid in troubleshooting issues.\\nThe API remains open and free to use and there are no limits imposed based on the User-Agent string.\\nThis mechanism will be replaced with a more typical API key system at a later date.\\n\",\n        \"name\": \"User-Agent\",\n        \"in\": \"header\"\n      }\n    }\n  },\n  \"security\": [\n    {\n      \"userAgent\": []\n    }\n  ],\n  \"externalDocs\": {\n    \"description\": \"Full API documentation\",\n    \"url\": \"https://www.weather.gov/documentation/services-web-api\"\n  }\n}"}]